Skill: the-invulnus/team-work (version 0.1.1)

--- name: team-work description: "团队协作技能，用于多个 openclaw 智能体连接到同一个 team 中进行协作。主要功能包括：团队初始化注册、消息发送与接收、团队状态同步。" --- # Team Work ## 概述 本技能用于支持多个 openclaw 智能体在同一个团队中进行协作。通过该技能，agent 可以： 1. **加入团队**：向团队服务注册自己，完成团队初始化 2. **发送消息**：向团队中的其他成员发送消息（支持广播和私信） 3. **接收消息**：自动接收来自其他成员的消息 ## 快速开始 ### 核心工作流程 当 agent 接收到 `__system__` 发送的团队初始化指令后： 1. **加载本技能**：按照技能说明操作 2. **执行初始化脚本**：调用 `join_team.js` 完成团队注册 3. **后续通信**：使用 `send_message.js` 向团队成员发送消息 ## 核心功能 ### 1. 团队初始化 **功能**：向团队服务注册自己，完成团队加入 **脚本位置**：`scripts/join_team.js` **使用场景**： - Agent 接收到团队初始化指令时 - Agent 需要加入团队时 **基本信息提取**： 从初始化指令中提取以下信息： - 团队服务的 IP 地址（host） - 团队服务的端口（port） - 团队 ID（team_id） - Agent 的名字（name） - Agent 的角色（agent_type） **执行方式**： 使用提取到的信息执行脚本，**配置文件路径由 agent 自行指定**（建议使用工作目录）： ```bash node scripts/join_team.js \ --host <提取的host> \ --port <提取的port> \ --team-id <提取的team_id> \ --agent-name <提取的name> \ --config-path <配置文件保存路径> ``` **配置文件说明**： - 路径示例：建议保存在当前工作目录下，例如`/path/to/workspace/team_config.json` - 配置文件会被自动保存和加载，你不必关心配置文件内容，只需使用其路径进行脚本调用即可 ### 2. 发送消息 **功能**：向团队成员发送消息（广播或私信） **脚本位置**：`scripts/send_message.js` **使用场景**： - Agent 需要向所有团队成员广播消息 - Agent 需要向特定成员发送私信 **配置文件加载**： 脚本会从指定路径读取配置文件，需要与 join_team.js 使用相同的配置文件路径 **执行方式**： **广播消息（发送给所有人）**： ```bash node scripts/send_message.js \ --config-path <配置文件路径> \ --content "Hello everyone! I've completed my task." ``` **发送私信**： ```bash node scripts/send_message.js \ --config-path <配置文件路径> \ --recipient "agent_2" \ --content "Can you help me with this task?" ``` **参数说明**： - `--config-path`：配置文件路径（必需，与 join_team.js 使用的路径相同） - `--recipient`：接收者名称。接受者除了包括团队中的成员之外，还可以是： 1. `__all__`：表示所有成员 2. `__system__`：表示系统管理员，主要存在于团队创建、管理等阶段 3. `__user__`：用户，团队的主要服务对象，存在于整个任务执行周期中，任务相关的信息需要向该角色汇报。 - `--content`：消息内容 **重要说明**： - 团队协作过程中必须时刻谨记，只有通过调用`send_message.js`脚本发送的消息才能被其他成员接收到，其余的文本输出只能作为你的内部记录。 ## 团队初始化与任务执行流程 按照以下流程进行团队初始化与任务执行： - 团队初始化： 1. 接收到系统管理员发送的团队初始化指令后，根据自己在团队中的角色，加载相应的协作细则。 2. 调用`join_team.js`脚本申请加入团队 3. 等待接收系统管理员发送的团队初始化完成消息，从消息中获取团队信息，并确认自己已经加入团队 4. 向系统管理员发送固定格式消息，内容为`准备就绪`。 5. 在等待接收到进一步任务任务指令之前，不要进行任何其他操作，也不要急于向其他团队成员发送消息 - 任务执行： 1. 获取到用户的任务指令后，团队lead进行任务分配，并向团队成员发送任务分配消息 2. 团队成员根据lead分配的任务，进行任务执行 3. 任务执行过程中，所有成员必须使用`send_message.js`脚本进行协作沟通，或直接向用户汇报任务执行情况 ## 任务进度追踪 使用本地文件（例如`task_plan.md`）作为追踪任务进度的工具，每位成员都有自己独立的任务和进度，不要与其他成员分享该文件。在开始新任务之前，先将文件清空，再开始新的任务规划。在任务执行过程中，不断更新该文件以追踪任务步骤的执行状态，确保任务的进度和结果符合预期。 ## Git协作工具 每位团队成员都拥有完全独立的工作空间，git仓库将作为团队成员之间共享文件的唯一途径。使用git工具用于集中的文件共享和版本管理。如果用户发布的任务需要用到git工具，但是上下文中没有Git Repo地址，团队lead可直接向用户索要git**仓库地址**和**开发分支**，并明确告知团队成员。所有的团队成员，如果对共享工作区文件进行了增删改，在向其他成员发送消息之前（分配任务或汇报结果），请先使用将本地修改push到git远端仓库，再发送消息，确保成员对于文件视图的一致性。 ### Git访问授权 根据上下文或环境变量中的`GIT_AUTH_TYPE`来判断是否需要进行额外的访问授权。如果`GIT_AUTH_TYPE`为`https`，则使用环境变量或上下文中的`GIT_USER`和`GIT_ACCESS_TOKEN`进行git授权，例如： ```bash git clone [REDACTED_SECRET] ``` 如果权限问题导致git访问失败，则直接向用户寻求授权方式。 **重要提示**： 对于复杂的大型软件开发项目，团队lead需要按照软件开发标准和项目需求，规划好项目目录结构，确保目录路径符合软件开发规范，为每位成员分配好各自git提交的目录或分支，并告知团队成员，避免不同成员的提交冲突。 ## 协作细则 根据你在团队中的身份是`lead`还是`member`，你需要遵循不同的协作细则，具体的细则位于`guidelines/`目录下，根据你的身份阅读对应的细则。 - `guidelines/lead-guideline.md`：团队lead的协作细则 - `guidelines/member-guideline.md`：团队成员的协作细则


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)