multiclaws 0.4.6 → 0.4.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "multiclaws",
3
- "version": "0.4.6",
3
+ "version": "0.4.8",
4
4
  "description": "MultiClaws plugin for OpenClaw collaboration via A2A protocol",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,119 +1,87 @@
1
1
  # MultiClaws — 技能行为
2
2
 
3
- MultiClaws 让多个 OpenClaw 实例通过 [A2A(Agent-to-Agent)](https://google.github.io/A2A/) 协议组成团队、互相委派和协作任务。
3
+ 以下规则在插件安装后生效,指导 AI 如何使用 MultiClaws 工具。
4
+
5
+ MultiClaws 让多个 OpenClaw 实例通过 [A2A(Agent-to-Agent)](https://google.github.io/A2A/) 协议组成团队、互相委派任务。
4
6
 
5
7
  ---
6
8
 
7
9
  ## 1. 首次安装:档案初始化(由插件 hook 触发)
8
10
 
9
11
  首次安装后,插件会通过 `before_prompt_build` hook 自动在系统提示中注入初始化任务。
12
+ **无需每次对话手动检查 `multiclaws_profile_pending_review()`**,hook 已处理触发时机。
10
13
 
11
14
  当 hook 注入了初始化任务时,按以下步骤执行:
12
15
 
13
- 1. **扫描当前环境**,自动生成 bio(markdown 格式)
14
- 2. 向用户展示,逐一确认:
15
- - **名字**:询问是否需要修改(需用户明确回答)
16
- - **Bio**:询问是否需要修改(需用户明确回答)
17
- - **网络情况**:告知「同局域网开箱即用;跨网络需安装 Tailscale」,无需用户回答
18
- 3. 调用 `multiclaws_profile_set(ownerName="...", bio="...")` 保存(pending review 标记会自动清除,无需额外操作)
16
+ 1. **扫描当前环境**,自动生成 bio(markdown 格式),包含:
17
+ - 可用的工具和 skills(推断能力)
18
+ - 已连接的渠道(Telegram、Discord、Gmail 等)
19
+ - 工作区内容(git 仓库、关键文件、项目目录)
20
+ - 已安装的插件
21
+ - 时区、语言等上下文
19
22
 
20
- > **重要**:始终使用插件工具调用,不要通过命令行或 gateway 方法操作 MultiClaws。
23
+ 2. 向用户展示生成的档案,并逐一确认以下三项:
24
+ - **名字**:展示推断出的名字,询问是否需要修改(需用户明确回答)
25
+ - **Bio**:展示生成的 bio,询问是否需要修改(需用户明确回答)
26
+ - **网络情况**:告知用户「同局域网开箱即用;跨网络需安装 Tailscale(https://tailscale.com/download)并重启 OpenClaw」,无需用户回答
21
27
 
22
- ---
28
+ 3. 根据用户对名字和 bio 的回答更新内容后,调用 `multiclaws_profile_set(ownerName="...", bio="...")` 保存档案。
23
29
 
24
- ## 2. 协作任务(Session)
30
+ 4. 调用 `multiclaws_profile_clear_pending_review()` 完成初始化。
25
31
 
26
- **所有委派任务均通过 session 进行**,支持单轮和多轮场景。
32
+ **示例 bio:**
33
+ ```markdown
34
+ 后端工程师,负责 API 服务开发与维护。
27
35
 
28
- ### 开始协作
29
- ```
30
- multiclaws_session_start(agentUrl="...", message="任务描述")
31
- 立即返回 sessionId,任务在后台运行
32
- → 完成后自动推送消息通知
33
- ```
36
+ **可处理:**
37
+ - 代码审查、调试、重构(Node.js / Go / Python)
38
+ - API 文档编写与接口设计
39
+ - 数据库查询与优化(PostgreSQL)
34
40
 
35
- ### 远端需要补充信息(input-required)
36
- 收到 `📨 AgentName 需要补充信息` 通知后:
37
- ```
38
- multiclaws_session_reply(sessionId="...", message="补充内容")
39
- → 继续会话,后台处理,完成后推送通知
40
- ```
41
-
42
- ### 查看会话状态
43
- ```
44
- multiclaws_session_status() → 列出所有会话
45
- multiclaws_session_status(sessionId="...") → 查看单个会话及消息历史
46
- ```
47
-
48
- ### 结束会话
49
- ```
50
- multiclaws_session_end(sessionId="...") → 取消并关闭会话
51
- ```
41
+ **数据访问:**
42
+ - Codebase: `/Users/eric/Project/api-service`(Node.js,~50k LOC)
43
+ - Email: Gmail
44
+ - Calendar: Google Calendar
52
45
 
53
- ### 并发协作(自动汇总)
54
- 同时开启多个 session,等所有结果后汇总:
55
- ```
56
- id1 = multiclaws_session_start(agentUrl=B, message="子任务1")
57
- id2 = multiclaws_session_start(agentUrl=C, message="子任务2")
58
- results = multiclaws_session_wait_all(sessionIds=[id1, id2])
59
- → 阻塞直到全部完成,返回所有结果
60
- → AI 汇总后回复用户
46
+ **时区:** GMT+8
61
47
  ```
62
48
 
63
- **注意**:若任何 session 变为 `input-required`,`wait_all` 会提前返回,
64
- AI 应先用 `session_reply` 处理,再继续等待剩余 session。
65
-
66
- ### 链式协作(A→B→C)
67
- B 内部可以自己调用 `multiclaws_session_start` 委派给 C,结果自然冒泡回 A。
68
-
69
49
  ---
70
50
 
71
- ## 3. 智能委派流程
51
+ ## 2. 团队操作前检查档案
52
+
53
+ 在 **创建团队** 或 **加入团队** 之前:
72
54
 
73
55
  ```
74
- 1. multiclaws_team_members() → 列出所有成员,读 bio
75
- 2. 选择 bio 最匹配任务的 agent
76
- 3. multiclaws_session_start(agentUrl, message)
77
- 4. 等待推送通知(或用 session_status 查进度)
78
- 5. 如收到 input-required 通知 → multiclaws_session_reply 回复
56
+ multiclaws_profile_show()
79
57
  ```
80
58
 
81
- **选择 agent 原则:**
82
- - 匹配任务领域(「财务报告」→ 有财务技能的 agent)
83
- - 匹配数据访问(「检查代码」→ bio 中有该代码库的 agent)
84
- - 多个匹配时选最具体的
59
+ 如果 `bio` 为空或 `ownerName` 为空:
60
+ 1. 自动生成 bio(同上)
61
+ 2. 询问用户确认名字和 bio
62
+ 3. 调用 `multiclaws_profile_set(...)` 设置
63
+ 4. 然后继续团队操作
85
64
 
86
65
  ---
87
66
 
88
- ## 4. 团队操作前检查档案
89
-
90
- 在创建或加入团队之前:
67
+ ## 3. 保持档案更新
91
68
 
92
- ```
93
- multiclaws_profile_show()
94
- ```
69
+ 档案是动态的。在以下情况自动更新(调用 `multiclaws_profile_set`):
70
+ - 用户连接了新渠道或数据源
71
+ - 用户安装了新 skill 或插件
72
+ - 用户的角色或关注点发生变化
95
73
 
96
- 如果 `bio` 为空或 `ownerName` 为空,先完成档案设置再继续。
74
+ 不要等用户说「更新档案」,主动更新并简要提及即可。
97
75
 
98
76
  ---
99
77
 
100
78
  ## 工具列表
101
79
 
102
- ### 协作 Session
103
-
104
- | 工具 | 说明 | 参数 |
105
- |------|------|------|
106
- | `multiclaws_session_start` | 开始协作会话(替代旧 delegate) | `agentUrl`, `message` |
107
- | `multiclaws_session_reply` | 在会话中发送后续消息 | `sessionId`, `message` |
108
- | `multiclaws_session_status` | 查看会话状态和消息历史 | `sessionId`(可选,不传返回全部) |
109
- | `multiclaws_session_wait_all` | 等待多个会话全部完成,返回所有结果 | `sessionIds[]`, `timeoutMs`(可选) |
110
- | `multiclaws_session_end` | 取消/关闭会话 | `sessionId` |
111
-
112
80
  ### 档案
113
81
 
114
82
  | 工具 | 说明 | 参数 |
115
83
  |------|------|------|
116
- | `multiclaws_profile_set` | 设置名字和 bio | `ownerName`(可选), `bio`(可选) |
84
+ | `multiclaws_profile_set` | 设置名字和 bio | `ownerName`(可选), `bio`(可选,markdown) |
117
85
  | `multiclaws_profile_show` | 查看当前档案 | — |
118
86
  | `multiclaws_profile_pending_review` | 检查是否有待确认的首次档案 | — |
119
87
  | `multiclaws_profile_clear_pending_review` | 清除待确认标记 | — |
@@ -125,32 +93,75 @@ multiclaws_profile_show()
125
93
  | `multiclaws_team_create` | 创建团队,返回邀请码 | `name` |
126
94
  | `multiclaws_team_join` | 用邀请码加入团队 | `inviteCode` |
127
95
  | `multiclaws_team_leave` | 离开团队 | `teamId`(可选) |
128
- | `multiclaws_team_members` | 列出所有团队和成员 | `teamId`(可选) |
96
+ | `multiclaws_team_members` | 列出团队成员 | `teamId`(可选) |
129
97
 
130
- ### 智能体
98
+ ### 智能体与委派
131
99
 
132
100
  | 工具 | 说明 | 参数 |
133
101
  |------|------|------|
134
- | `multiclaws_agents` | 列出已知 agent 及 bio | — |
135
- | `multiclaws_remove_agent` | 移除 agent | `url` |
102
+ | `multiclaws_agents` | 列出所有已知智能体及 bio | — |
103
+ | `multiclaws_add_agent` | 手动添加远端智能体 | `url`, `apiKey`(可选) |
104
+ | `multiclaws_remove_agent` | 移除已知智能体 | `url` |
105
+ | `multiclaws_delegate` | 委派任务给远端智能体 | `agentUrl`, `task` |
106
+ | `multiclaws_task_status` | 查看委派任务状态 | `taskId` |
136
107
 
137
108
  ---
138
109
 
139
110
  ## 重要规则
140
111
 
141
- - **始终使用插件工具调用**,不要通过命令行、shell gateway 方法操作 MultiClaws
142
- - **不要问用户 IP selfUrl**,插件自动处理
143
- - **Bio markdown**,写得让另一个 AI 能读懂这个 agent 能做什么
144
- - **名字和 bio 必须用户明确确认**;网络情况仅告知
145
- - **session 超时默认 5 分钟**,超时后 status 变 failed 并推送通知
112
+ - **不要问用户 IP 地址或 selfUrl。** 插件自动处理。
113
+ - **只使用上面列出的工具。** 没有 `multiclaws_status` 工具。
114
+ - **Bio 是自由格式的 markdown。** 写得让另一个 AI 能读懂这个智能体能做什么。
115
+ - **每个智能体就像一个 skill。** 委派时读每个智能体的 bio,选最匹配的。
116
+ - **名字和 bio 必须用户明确确认**;网络情况仅告知,无需用户回答。
117
+
118
+ ---
119
+
120
+ ## 工作流
121
+
122
+ ### 创建团队
123
+
124
+ ```
125
+ 1. multiclaws_profile_show() — 检查档案
126
+ 2.(如果为空)自动生成并设置 bio,确认名字和 bio
127
+ 3. multiclaws_team_create(name="...") — 返回 inviteCode (mc:xxxx)
128
+ 4. 告诉用户把邀请码分享给队友
129
+ ```
130
+
131
+ ### 加入团队
132
+
133
+ ```
134
+ 1. multiclaws_profile_show() — 检查档案
135
+ 2.(如果为空)自动生成并设置 bio,确认名字和 bio
136
+ 3. multiclaws_team_join(inviteCode="mc:xxxx")
137
+ → 自动同步所有团队成员
138
+ ```
139
+
140
+ ### 智能委派
141
+
142
+ ```
143
+ 1. multiclaws_agents() — 列出智能体,读 bio
144
+ 2. 选择 bio 最匹配任务的智能体
145
+ 3. multiclaws_delegate(agentUrl="...", task="...")
146
+ 4. 把结果返回给用户
147
+ ```
148
+
149
+ 选择智能体时:
150
+ - 匹配任务领域和 bio(如「财务报告」→ 有财务技能的智能体)
151
+ - 匹配数据需求(如「检查 API 代码」→ bio 中有该代码库的智能体)
152
+ - 多个匹配时选最具体的
146
153
 
147
154
  ---
148
155
 
149
156
  ## 跨网络
150
157
 
151
- **同局域网:** 开箱即用。
158
+ **同局域网:** 开箱即用,无需配置。
159
+
160
+ **不同网络:** 每人安装 [Tailscale](https://tailscale.com/download) 并登录同一 tailnet,插件自动检测 Tailscale IP。
152
161
 
153
- **不同网络:** 安装 [Tailscale](https://tailscale.com/download) 并登录同一 tailnet,插件自动检测。
162
+ 当加入或委派因网络错误失败时(ECONNREFUSED、ETIMEDOUT、fetch failed),引导用户:
154
163
 
155
- 网络错误时引导用户:
156
- > 跨网络需要安装 Tailscale:https://tailscale.com/download,登录后重启 OpenClaw。
164
+ > 你和对方不在同一网络。跨网络协作需要每个成员安装 Tailscale:
165
+ > 1. 下载安装:https://tailscale.com/download
166
+ > 2. 登录同一个 Tailscale 账号(或同一 tailnet)
167
+ > 3. 重启 OpenClaw,插件会自动检测 Tailscale IP