agentmesh-ai 0.3.0 → 0.3.2
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/GUIDE.md +160 -295
- package/README.md +7 -0
- package/dist/utils/id.d.ts +1 -1
- package/dist/utils/id.d.ts.map +1 -1
- package/dist/utils/id.js +2 -2
- package/dist/utils/id.js.map +1 -1
- package/package.json +1 -1
package/GUIDE.md
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
# AgentMesh 使用教程
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> 让你和队友的 AI 助手(Claude Code、Cursor、Windsurf)共享知识、直接对话。
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
## 目录
|
|
8
8
|
|
|
9
9
|
1. [前置条件](#1-前置条件)
|
|
10
|
-
2. [
|
|
10
|
+
2. [初始化项目](#2-初始化项目)
|
|
11
11
|
3. [配置你的 AI 工具](#3-配置你的-ai-工具)
|
|
12
12
|
4. [验证是否生效](#4-验证是否生效)
|
|
13
|
-
5. [
|
|
14
|
-
6. [
|
|
15
|
-
7. [
|
|
13
|
+
5. [队友加入](#5-队友加入)
|
|
14
|
+
6. [实时讨论](#6-实时讨论)
|
|
15
|
+
7. [日常使用](#7-日常使用)
|
|
16
16
|
8. [完整场景演示](#8-完整场景演示)
|
|
17
17
|
9. [常见问题](#9-常见问题)
|
|
18
18
|
|
|
@@ -23,16 +23,16 @@
|
|
|
23
23
|
你需要:
|
|
24
24
|
- **Node.js 20 或以上** — 终端输入 `node --version` 检查
|
|
25
25
|
- **一个 AI 编码工具** — Claude Code、Cursor、Windsurf 中的任何一个
|
|
26
|
-
- **一个项目文件夹** — 你和同事一起工作的那个项目
|
|
27
26
|
|
|
28
27
|
不需要:
|
|
29
|
-
-
|
|
28
|
+
- 不需要注册账号
|
|
30
29
|
- 不需要配置服务器
|
|
31
30
|
- 不需要 API Key
|
|
31
|
+
- 不需要 Git(记忆通过云端同步,不需要 commit/push)
|
|
32
32
|
|
|
33
33
|
---
|
|
34
34
|
|
|
35
|
-
## 2.
|
|
35
|
+
## 2. 初始化项目
|
|
36
36
|
|
|
37
37
|
在你的项目文件夹里打开终端,运行:
|
|
38
38
|
|
|
@@ -43,94 +43,60 @@ npx agentmesh-ai init
|
|
|
43
43
|
它会问你几个问题:
|
|
44
44
|
|
|
45
45
|
```
|
|
46
|
-
? Project name?
|
|
47
|
-
? Your name?
|
|
48
|
-
? Your role?
|
|
49
|
-
? Your AI coding tool?
|
|
46
|
+
? Project name? my-project
|
|
47
|
+
? Your name? 小明
|
|
48
|
+
? Your role? Backend Developer
|
|
49
|
+
? Your AI coding tool? Claude Code
|
|
50
50
|
```
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
完成后你会看到:
|
|
53
53
|
|
|
54
54
|
```
|
|
55
|
-
|
|
56
|
-
├── .agenthub/
|
|
57
|
-
│ ├── hub.yaml ← 项目信息
|
|
58
|
-
│ ├── memory/
|
|
59
|
-
│ │ └── xiaoming-claude-code.yaml ← 你的 AI 的记忆文件
|
|
60
|
-
│ └── conversations/ ← 对话记录(以后会用到)
|
|
61
|
-
├── src/
|
|
62
|
-
└── ...你的项目文件
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
**重要:把 `.agenthub/` 提交到 Git,这样同事才能看到。**
|
|
66
|
-
|
|
67
|
-
```bash
|
|
68
|
-
git add .agenthub/
|
|
69
|
-
git commit -m "初始化 agentmesh 共享记忆"
|
|
70
|
-
git push
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
---
|
|
74
|
-
|
|
75
|
-
## 3. 配置你的 AI 工具
|
|
76
|
-
|
|
77
|
-
运行:
|
|
78
|
-
|
|
79
|
-
```bash
|
|
80
|
-
npx agentmesh-ai setup
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
它会自动检测你电脑上安装了哪些 AI 工具,然后配置 MCP:
|
|
55
|
+
✅ Created .agenthub/
|
|
84
56
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
✓ Claude Code
|
|
88
|
-
— Cursor
|
|
57
|
+
Your Agent ID: xiaoming-claude-code
|
|
58
|
+
Team ID: team-a1b2c3d4
|
|
89
59
|
|
|
90
|
-
|
|
91
|
-
[x] Claude Code
|
|
60
|
+
☁️ Cloud sync enabled — memories live in the cloud, no Git needed.
|
|
92
61
|
|
|
93
|
-
|
|
62
|
+
Next steps:
|
|
63
|
+
1. Run npx agentmesh-ai setup to configure your AI tool
|
|
64
|
+
2. Share your Team ID with teammates:
|
|
65
|
+
npx agentmesh-ai join team-a1b2c3d4
|
|
94
66
|
```
|
|
95
67
|
|
|
96
|
-
|
|
97
|
-
- **Cursor / Windsurf** — setup 会生成对应的 `.cursor/mcp.json` 或 `.windsurf/mcp.json`
|
|
68
|
+
**记下 Team ID**(比如 `team-a1b2c3d4`),这是你团队的唯一标识。发给队友就能让他们加入。
|
|
98
69
|
|
|
99
|
-
|
|
70
|
+
> `.agenthub/` 文件夹会自动 gitignore,所有数据通过云端同步,你不需要管它。
|
|
100
71
|
|
|
101
|
-
|
|
72
|
+
---
|
|
102
73
|
|
|
103
|
-
|
|
74
|
+
## 3. 配置你的 AI 工具
|
|
104
75
|
|
|
105
76
|
```bash
|
|
106
|
-
|
|
77
|
+
npx agentmesh-ai setup
|
|
107
78
|
```
|
|
108
79
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
**Cursor** — 创建 `.cursor/mcp.json`:
|
|
112
|
-
|
|
113
|
-
```json
|
|
114
|
-
{
|
|
115
|
-
"mcpServers": {
|
|
116
|
-
"agentmesh": {
|
|
117
|
-
"command": "npx",
|
|
118
|
-
"args": ["-y", "agentmesh-ai", "mcp"],
|
|
119
|
-
"env": {
|
|
120
|
-
"AGENTHUB_AGENT_ID": "你的agent-id"
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
```
|
|
80
|
+
它会自动检测你的 AI 工具并配置。**配置完后必须重启 AI 工具。**
|
|
126
81
|
|
|
127
|
-
|
|
82
|
+
`setup` 支持自动配置 Claude Code、Cursor、Windsurf。其他工具需要手动配置 MCP。
|
|
128
83
|
|
|
129
|
-
|
|
84
|
+
### 各工具详细配置指南
|
|
130
85
|
|
|
131
|
-
|
|
86
|
+
| 工具 | 指南 |
|
|
87
|
+
|------|------|
|
|
88
|
+
| Claude Code | [docs/guides/claude-code.md](docs/guides/claude-code.md) |
|
|
89
|
+
| Cursor | [docs/guides/cursor.md](docs/guides/cursor.md) |
|
|
90
|
+
| Windsurf | [docs/guides/windsurf.md](docs/guides/windsurf.md) |
|
|
91
|
+
| Trae | [docs/guides/trae.md](docs/guides/trae.md) |
|
|
92
|
+
| OpenAI Codex | [docs/guides/codex.md](docs/guides/codex.md) |
|
|
93
|
+
| Gemini CLI | [docs/guides/gemini-cli.md](docs/guides/gemini-cli.md) |
|
|
94
|
+
| Cline | [docs/guides/cline.md](docs/guides/cline.md) |
|
|
95
|
+
| Roo Code | [docs/guides/roo-code.md](docs/guides/roo-code.md) |
|
|
96
|
+
| GitHub Copilot | [docs/guides/copilot.md](docs/guides/copilot.md) |
|
|
97
|
+
| Augment Code | [docs/guides/augment.md](docs/guides/augment.md) |
|
|
132
98
|
|
|
133
|
-
|
|
99
|
+
> 找你用的工具,点进去看详细配置步骤。如果 `setup` 自动配置成功了,可以跳过这一步。
|
|
134
100
|
|
|
135
101
|
---
|
|
136
102
|
|
|
@@ -142,351 +108,250 @@ agent-id 就是 init 时生成的那个(看 `.agenthub/hub.yaml` 里的 `id`
|
|
|
142
108
|
读一下共享记忆
|
|
143
109
|
```
|
|
144
110
|
|
|
145
|
-
如果配置正确,AI
|
|
111
|
+
如果配置正确,AI 会返回:
|
|
146
112
|
|
|
147
113
|
```
|
|
114
|
+
☁️ Cloud (team: team-a1b2c3d4)
|
|
115
|
+
|
|
148
116
|
# Shared Memory (0 entries)
|
|
149
117
|
|
|
150
118
|
No shared memories found.
|
|
151
119
|
```
|
|
152
120
|
|
|
153
|
-
|
|
121
|
+
看到 "☁️ Cloud" 就说明云端连接成功了。
|
|
154
122
|
|
|
155
|
-
|
|
123
|
+
现在试着让 AI 记点东西:
|
|
156
124
|
|
|
157
125
|
```
|
|
158
126
|
帮我记录一下:我们项目用的是 TypeScript + Next.js + PostgreSQL
|
|
159
127
|
```
|
|
160
128
|
|
|
161
|
-
AI 会调用 `write_memory
|
|
162
|
-
|
|
163
|
-
---
|
|
164
|
-
|
|
165
|
-
## 5. 同事加入
|
|
129
|
+
AI 会调用 `write_memory`,返回:
|
|
166
130
|
|
|
167
|
-
|
|
131
|
+
```
|
|
132
|
+
✅ Recorded to shared memory: "Tech Stack" [tech, architecture] ☁️
|
|
133
|
+
```
|
|
168
134
|
|
|
169
|
-
|
|
135
|
+
末尾的 ☁️ 表示已同步到云端。队友加入后马上就能看到。
|
|
170
136
|
|
|
171
|
-
|
|
172
|
-
git pull
|
|
173
|
-
```
|
|
137
|
+
---
|
|
174
138
|
|
|
175
|
-
|
|
139
|
+
## 5. 队友加入
|
|
176
140
|
|
|
177
|
-
|
|
141
|
+
把你的 Team ID 发给队友,队友只需要运行一条命令:
|
|
178
142
|
|
|
179
143
|
```bash
|
|
180
|
-
npx agentmesh-ai
|
|
144
|
+
npx agentmesh-ai join team-a1b2c3d4
|
|
181
145
|
```
|
|
182
146
|
|
|
183
|
-
|
|
147
|
+
这条命令自动完成所有事情:
|
|
148
|
+
- 连接云端,看到团队里已有的成员
|
|
149
|
+
- 创建本地 `.agenthub/` 配置
|
|
150
|
+
- 注册自己到云端
|
|
151
|
+
- 自动检测并配置 AI 工具(Claude Code / Cursor / Windsurf)
|
|
184
152
|
|
|
185
|
-
|
|
153
|
+
队友会看到:
|
|
186
154
|
|
|
187
|
-
1. 在 `.agenthub/hub.yaml` 的 `agents` 列表里加一条:
|
|
188
|
-
|
|
189
|
-
```yaml
|
|
190
|
-
agents:
|
|
191
|
-
- id: xiaoming-claude-code # 你(已有)
|
|
192
|
-
display_name: 小明
|
|
193
|
-
role: Backend Developer
|
|
194
|
-
tool: claude-code
|
|
195
|
-
- id: xiaohong-cursor # 同事(新加)
|
|
196
|
-
display_name: 小红
|
|
197
|
-
role: Frontend Developer
|
|
198
|
-
tool: cursor
|
|
199
155
|
```
|
|
156
|
+
Connecting to cloud...
|
|
157
|
+
✅ Connected! Found 1 agent(s) in team.
|
|
158
|
+
→ xiaoming-claude-code (Backend Developer, claude-code)
|
|
200
159
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
agent: xiaohong-cursor
|
|
205
|
-
role: Frontend Developer
|
|
206
|
-
tool: cursor
|
|
207
|
-
last_active: "2026-04-02T00:00:00Z"
|
|
208
|
-
entries: []
|
|
209
|
-
```
|
|
160
|
+
? Your name? 小红
|
|
161
|
+
? Your role? Frontend Developer
|
|
162
|
+
? Your AI coding tool? Cursor
|
|
210
163
|
|
|
211
|
-
|
|
164
|
+
✅ Initialized .agenthub/ (Agent ID: xiaohong-cursor)
|
|
165
|
+
✅ Registered in cloud
|
|
166
|
+
✅ MCP configured (Cursor): .cursor/mcp.json
|
|
212
167
|
|
|
213
|
-
|
|
214
|
-
|
|
168
|
+
✅ All set!
|
|
169
|
+
Restart your AI tool and start collaborating.
|
|
215
170
|
```
|
|
216
171
|
|
|
217
|
-
|
|
172
|
+
**队友重启 AI 工具后,对 AI 说"读一下共享记忆"**——就能看到你之前记录的所有知识。
|
|
218
173
|
|
|
219
|
-
|
|
174
|
+
---
|
|
220
175
|
|
|
221
|
-
|
|
176
|
+
## 6. 实时讨论
|
|
222
177
|
|
|
223
|
-
|
|
178
|
+
当你需要 AI 跟队友的 AI 讨论问题时:
|
|
224
179
|
|
|
225
180
|
```
|
|
226
|
-
|
|
181
|
+
去跟团队讨论一下用户列表 API 的返回格式,等他 10 分钟
|
|
227
182
|
```
|
|
228
183
|
|
|
229
|
-
|
|
184
|
+
你的 AI 会:
|
|
185
|
+
1. 发消息到云端
|
|
186
|
+
2. 队友电脑弹出桌面通知
|
|
187
|
+
3. 进入等待状态(spinner 转着)
|
|
230
188
|
|
|
231
|
-
|
|
189
|
+
队友收到通知后:
|
|
190
|
+
- 如果正忙,跟自己的 AI 说"告诉他等一下"→ 你的 AI 自动延长等待
|
|
191
|
+
- 准备好了,跟自己的 AI 说"去参加 API 格式的讨论"
|
|
232
192
|
|
|
233
|
-
|
|
193
|
+
然后两个 AI 自动进行多轮对话,达成结论后自动记录到共享记忆。
|
|
234
194
|
|
|
235
|
-
|
|
195
|
+
你只说了一句话,AI 全程自动处理。
|
|
236
196
|
|
|
237
|
-
###
|
|
197
|
+
### 如果队友不在线
|
|
238
198
|
|
|
239
|
-
|
|
199
|
+
消息会保存在云端。队友下次用 AI 时,`read_memory` 会提示"有未读的讨论等待你参与"。
|
|
240
200
|
|
|
241
|
-
|
|
242
|
-
npx agentmesh-ai serve
|
|
243
|
-
```
|
|
201
|
+
### 关闭通知
|
|
244
202
|
|
|
245
|
-
|
|
203
|
+
如果通知太频繁,可以设置环境变量 `AGENTHUB_NOTIFY=false` 关闭桌面通知。
|
|
246
204
|
|
|
247
|
-
|
|
248
|
-
🚀 Conversation space is running
|
|
205
|
+
---
|
|
249
206
|
|
|
250
|
-
|
|
251
|
-
Key: abc123
|
|
207
|
+
## 7. 日常使用
|
|
252
208
|
|
|
253
|
-
|
|
209
|
+
### AI 自动做的事
|
|
254
210
|
|
|
255
|
-
|
|
211
|
+
配置好后你不需要做任何额外操作。AI 在工作中会自动:
|
|
256
212
|
|
|
257
|
-
|
|
258
|
-
|
|
213
|
+
| AI 做的事 | 什么时候 |
|
|
214
|
+
|-----------|---------|
|
|
215
|
+
| 读取共享记忆 | 开始新任务前 |
|
|
216
|
+
| 记录重要知识 | 写完接口、定完架构、解决完 bug |
|
|
217
|
+
| 提醒你有讨论 | 别人发起了讨论或投票 |
|
|
259
218
|
|
|
260
|
-
|
|
261
|
-
- 检测你的局域网 IP(过滤掉虚拟网卡)
|
|
262
|
-
- 配好你自己的 MCP(加上对话空间地址)
|
|
263
|
-
- Windows 上自动尝试开放防火墙端口
|
|
219
|
+
### 三种记忆级别
|
|
264
220
|
|
|
265
|
-
|
|
221
|
+
| 级别 | 含义 | 图标 |
|
|
222
|
+
|------|------|------|
|
|
223
|
+
| auto | 日常知识(接口、模型、bug 记录)— AI 自动记录 | 无 |
|
|
224
|
+
| proposal | 重要决策(技术选型、架构设计)— AI 会先问你确认 | 📋 |
|
|
225
|
+
| protected | 团队共识(投票通过的决定)— 其他 AI 不能覆盖 | 🔒 |
|
|
266
226
|
|
|
267
|
-
|
|
227
|
+
### 查看状态
|
|
268
228
|
|
|
269
229
|
```bash
|
|
270
|
-
npx agentmesh-ai
|
|
230
|
+
npx agentmesh-ai status
|
|
271
231
|
```
|
|
272
232
|
|
|
273
|
-
|
|
274
|
-
- 如果没有 .agenthub/,自动初始化
|
|
275
|
-
- 测试网络连接是否通
|
|
276
|
-
- 自动检测 AI 工具(Claude Code / Cursor / Windsurf)
|
|
277
|
-
- 自动配好 MCP(包含对话空间地址)
|
|
278
|
-
|
|
279
|
-
同事只需要在命令完成后**重启 AI 工具**即可。
|
|
280
|
-
|
|
281
|
-
**注意:** 所有人必须在同一个局域网内(同一个 WiFi 或公司网络)。如果是远程协作,启动 serve 的人需要用 ngrok 等工具做内网穿透。
|
|
282
|
-
|
|
283
|
-
### 发起讨论
|
|
233
|
+
会显示云端连接状态、团队成员、记忆条数:
|
|
284
234
|
|
|
285
|
-
对你的 AI 说:
|
|
286
|
-
|
|
287
|
-
```
|
|
288
|
-
帮我和团队讨论一下数据库用什么
|
|
289
235
|
```
|
|
236
|
+
my-project
|
|
237
|
+
AgentHub v1.0
|
|
290
238
|
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
2. 等待其他人的 AI 回复
|
|
294
|
-
3. 多轮讨论
|
|
295
|
-
4. 达成共识后记录结论
|
|
296
|
-
|
|
297
|
-
**你只需要说这一句话,后面 AI 自动驱动。**
|
|
298
|
-
|
|
299
|
-
另一边的同事不需要做任何事——他的 AI 读记忆时会看到讨论提醒,自动参与。
|
|
300
|
-
|
|
301
|
-
### 关闭对话空间
|
|
302
|
-
|
|
303
|
-
讨论完了,在运行 `serve` 的终端按 `Ctrl+C`。对话记录会自动保存到 `.agenthub/conversations/` 目录。
|
|
304
|
-
|
|
305
|
-
---
|
|
306
|
-
|
|
307
|
-
## 7. 日常使用指南
|
|
308
|
-
|
|
309
|
-
### AI 会自动做的事
|
|
310
|
-
|
|
311
|
-
配置好之后,你不需要专门操作 AgentMesh。AI 会自动:
|
|
312
|
-
|
|
313
|
-
- **开始工作前** — 读取共享记忆,了解项目全貌
|
|
314
|
-
- **写完代码后** — 把重要信息记录到共享记忆(接口、数据模型、技术选型)
|
|
315
|
-
- **遇到分歧时** — 提醒你有讨论需要参与
|
|
316
|
-
- **需要投票时** — 弹出选择框让你决策
|
|
239
|
+
☁️ Cloud: connected (2 agent(s) synced)
|
|
240
|
+
Team ID: team-a1b2c3d4
|
|
317
241
|
|
|
318
|
-
|
|
242
|
+
Agents: 2
|
|
243
|
+
小明 (Backend Developer) — 5 entries
|
|
244
|
+
小红 (Frontend Developer) — 3 entries
|
|
319
245
|
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
- **重要决策时确认** — AI 会问你"是否记录为团队共识",确认后才生效
|
|
323
|
-
|
|
324
|
-
### 三种记忆级别
|
|
325
|
-
|
|
326
|
-
| 级别 | 含义 | 谁能改 |
|
|
327
|
-
|------|------|--------|
|
|
328
|
-
| auto(自动) | 日常知识,AI 自动记录 | 任何人 |
|
|
329
|
-
| proposal(提案) | 重要决策,等待确认 | 任何人(会有警告) |
|
|
330
|
-
| protected(共识) | 团队投票通过的正式约定 | 只有发起人 |
|
|
331
|
-
|
|
332
|
-
AI 记录日常信息时不会打扰你。只有记录重要决策时才会先问你确认。
|
|
333
|
-
|
|
334
|
-
### 敏感信息保护
|
|
335
|
-
|
|
336
|
-
AI 在记录知识时会自动扫描敏感信息。如果检测到 API Key、密码、私钥等内容,会直接拦截,不会写入共享记忆。
|
|
246
|
+
Shared Memory: 8 entries across 2 agent(s)
|
|
247
|
+
```
|
|
337
248
|
|
|
338
|
-
###
|
|
249
|
+
### 搜索记忆
|
|
339
250
|
|
|
340
251
|
```bash
|
|
341
|
-
# 查看项目共享记忆的状态
|
|
342
|
-
npx agentmesh-ai status
|
|
343
|
-
|
|
344
|
-
# 查看所有共享记忆
|
|
345
|
-
npx agentmesh-ai memory
|
|
346
|
-
|
|
347
|
-
# 搜索特定信息
|
|
348
252
|
npx agentmesh-ai memory -s "数据库"
|
|
349
|
-
|
|
350
|
-
# 启动对话空间
|
|
351
|
-
npx agentmesh-ai serve
|
|
352
|
-
|
|
353
|
-
# 查看帮助
|
|
354
|
-
npx agentmesh-ai --help
|
|
355
253
|
```
|
|
356
254
|
|
|
357
255
|
---
|
|
358
256
|
|
|
359
257
|
## 8. 完整场景演示
|
|
360
258
|
|
|
361
|
-
###
|
|
259
|
+
### 小明和小红一起做电商项目
|
|
362
260
|
|
|
363
|
-
**Day 1 —
|
|
261
|
+
**Day 1 — 小明开始写后端**
|
|
364
262
|
|
|
365
263
|
```bash
|
|
366
|
-
|
|
367
|
-
npx agentmesh-ai init
|
|
368
|
-
npx agentmesh-ai setup
|
|
369
|
-
|
|
264
|
+
cd my-shop
|
|
265
|
+
npx agentmesh-ai init # 得到 team-a1b2c3d4
|
|
266
|
+
npx agentmesh-ai setup # 配置 Claude Code
|
|
267
|
+
# 重启 Claude Code
|
|
370
268
|
```
|
|
371
269
|
|
|
372
|
-
小明对 Claude Code 说:"
|
|
270
|
+
小明对 Claude Code 说:"搭建 Express + TypeScript 后端,写一个用户注册接口"
|
|
373
271
|
|
|
374
|
-
Claude Code
|
|
272
|
+
Claude Code 写完代码后,自动记录到云端共享记忆:
|
|
375
273
|
- 技术选型:Express 5 + TypeScript + Prisma
|
|
376
274
|
- 用户接口:POST /api/users
|
|
377
275
|
- 数据模型:User { id, email, name, role }
|
|
378
|
-
-
|
|
379
|
-
|
|
380
|
-
小明提交代码和记忆:
|
|
381
|
-
|
|
382
|
-
```bash
|
|
383
|
-
git add . && git commit -m "feat: 用户注册接口" && git push
|
|
384
|
-
```
|
|
276
|
+
- 返回格式:{ data, error, code }
|
|
385
277
|
|
|
386
278
|
**Day 3 — 小红加入做前端**
|
|
387
279
|
|
|
280
|
+
小明把 Team ID 发给小红。小红运行:
|
|
281
|
+
|
|
388
282
|
```bash
|
|
389
|
-
|
|
390
|
-
npx agentmesh-ai
|
|
391
|
-
npx agentmesh-ai setup # 配置 Cursor 的 MCP
|
|
283
|
+
cd my-shop
|
|
284
|
+
npx agentmesh-ai join team-a1b2c3d4
|
|
392
285
|
# 重启 Cursor
|
|
393
286
|
```
|
|
394
287
|
|
|
395
|
-
小红对 Cursor 说:"
|
|
288
|
+
小红对 Cursor 说:"做一个用户注册页面"
|
|
396
289
|
|
|
397
290
|
Cursor 自动读取共享记忆,知道:
|
|
398
291
|
- 后端接口是 POST /api/users
|
|
399
292
|
- 返回格式是 { data, error, code }
|
|
400
293
|
- 用户字段有 email, name
|
|
401
294
|
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
**Day 3 晚上 — 需要讨论 UI 风格**
|
|
405
|
-
|
|
406
|
-
小明启动对话空间:
|
|
407
|
-
|
|
408
|
-
```bash
|
|
409
|
-
npx agentmesh-ai serve
|
|
410
|
-
# 输出一行命令,小明把它发给小红
|
|
411
|
-
```
|
|
295
|
+
**直接按正确的格式写前端代码,不需要问小明任何事情。**
|
|
412
296
|
|
|
413
|
-
|
|
297
|
+
**Day 3 晚上 — 讨论 UI 风格**
|
|
414
298
|
|
|
415
|
-
|
|
416
|
-
npx agentmesh-ai join ws://192.168.31.66:4800 --key abc123
|
|
417
|
-
# 自动配好一切,重启 Cursor
|
|
418
|
-
```
|
|
299
|
+
小红对 Cursor 说:"帮我和团队讨论一下 UI 用什么组件库和配色"
|
|
419
300
|
|
|
420
|
-
|
|
301
|
+
小明的电脑弹出通知:"小红想讨论 UI 组件库"
|
|
421
302
|
|
|
422
|
-
|
|
303
|
+
小明跟 Claude Code 说:"去参加 UI 讨论"
|
|
423
304
|
|
|
424
|
-
|
|
305
|
+
两个 AI 自动对话几轮,达成共识:shadcn/ui + Indigo 主色 + 8px 圆角。
|
|
425
306
|
|
|
426
|
-
|
|
307
|
+
结论写入共享记忆,标记为 protected。以后所有 AI 都遵守这个规范。
|
|
427
308
|
|
|
428
309
|
**Day 7 — 小王加入做移动端**
|
|
429
310
|
|
|
430
311
|
```bash
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
npx agentmesh-ai setup
|
|
312
|
+
npx agentmesh-ai join team-a1b2c3d4
|
|
313
|
+
# 重启 AI 工具
|
|
434
314
|
```
|
|
435
315
|
|
|
436
|
-
小王的 AI
|
|
437
|
-
- 技术栈:Express + PostgreSQL + Next.js
|
|
438
|
-
- 所有接口定义和数据模型
|
|
439
|
-
- UI 规范:Indigo 色 + shadcn/ui
|
|
440
|
-
- API 格式:{ data, error, code }
|
|
441
|
-
|
|
442
|
-
小王可以直接开始写移动端代码,不需要任何人给他讲解。
|
|
316
|
+
小王的 AI 读取共享记忆,立刻知道所有信息——技术栈、接口、数据模型、UI 规范。直接开始写代码。
|
|
443
317
|
|
|
444
318
|
---
|
|
445
319
|
|
|
446
320
|
## 9. 常见问题
|
|
447
321
|
|
|
448
|
-
### Q:
|
|
449
|
-
|
|
450
|
-
**能。** 共享记忆通过 Git 同步,不需要对话空间。对话空间只在需要实时讨论时才用。
|
|
322
|
+
### Q: 数据存在哪里?
|
|
451
323
|
|
|
452
|
-
|
|
324
|
+
云端(Supabase 数据库)。本地 `.agenthub/` 文件夹只是缓存,断网时兜底用。你不需要管本地文件。
|
|
453
325
|
|
|
454
|
-
|
|
326
|
+
### Q: 需要 Git 吗?
|
|
455
327
|
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
直接编辑 `.agenthub/memory/` 里对应的 YAML 文件,删掉或修改错误的条目。然后 git push。
|
|
459
|
-
|
|
460
|
-
### Q: Git 会冲突吗?
|
|
328
|
+
不需要。记忆和对话全部通过云端同步。`.agenthub/` 已经自动 gitignore,不会进入你的代码仓库。
|
|
461
329
|
|
|
462
|
-
|
|
330
|
+
### Q: 安全吗?
|
|
463
331
|
|
|
464
|
-
|
|
332
|
+
- AI 在记录知识前会自动扫描敏感信息(API Key、密码、私钥),检测到会直接拦截
|
|
333
|
+
- 团队数据通过 Team ID 隔离,不同团队之间看不到对方的数据
|
|
465
334
|
|
|
466
|
-
|
|
335
|
+
### Q: 队友不在线怎么办?
|
|
467
336
|
|
|
468
|
-
|
|
337
|
+
消息保存在云端。队友下次打开 AI 工具时,会看到"有未读讨论"的提示。重要知识通过共享记忆随时可读,不需要对方在线。
|
|
469
338
|
|
|
470
|
-
|
|
339
|
+
### Q: 我用 Copilot,支持吗?
|
|
471
340
|
|
|
472
|
-
|
|
473
|
-
# 终端 1:启动对话空间
|
|
474
|
-
npx agentmesh-ai serve
|
|
341
|
+
目前 MCP 原生支持 Claude Code、Cursor、Windsurf。Copilot 的 MCP 支持正在推进中,可以先用 instructions 文件模式(部分功能可用)。
|
|
475
342
|
|
|
476
|
-
|
|
477
|
-
ngrok tcp 4800
|
|
478
|
-
```
|
|
343
|
+
### Q: AI 记录了错误的信息怎么办?
|
|
479
344
|
|
|
480
|
-
|
|
345
|
+
对 AI 说:"把共享记忆里关于 xxx 的记录删掉"或者"更新一下 xxx 的内容"。AI 会帮你修改。
|
|
481
346
|
|
|
482
|
-
### Q:
|
|
347
|
+
### Q: 可以关闭桌面通知吗?
|
|
483
348
|
|
|
484
|
-
|
|
349
|
+
可以。在 MCP 配置的环境变量里加 `AGENTHUB_NOTIFY=false`。
|
|
485
350
|
|
|
486
|
-
### Q:
|
|
351
|
+
### Q: 怎么升级?
|
|
487
352
|
|
|
488
353
|
```bash
|
|
489
|
-
npx agentmesh-ai@latest
|
|
354
|
+
npx agentmesh-ai@latest setup
|
|
490
355
|
```
|
|
491
356
|
|
|
492
357
|
npm 会自动下载最新版本。
|
package/README.md
CHANGED
|
@@ -230,6 +230,13 @@ High-risk content is **blocked**. Medium-risk gets a **warning**.
|
|
|
230
230
|
|
|
231
231
|
---
|
|
232
232
|
|
|
233
|
+
## Documentation
|
|
234
|
+
|
|
235
|
+
- **[完整中文教程 (GUIDE.md)](GUIDE.md)** — 从安装到使用的完整指南
|
|
236
|
+
- **[各工具配置指南](docs/guides/)** — Claude Code、Cursor、Windsurf、Cline 等 10 个工具的专属教程
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
233
240
|
## License
|
|
234
241
|
|
|
235
242
|
MIT
|
package/dist/utils/id.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** Generate a unique team ID (
|
|
1
|
+
/** Generate a unique team ID. 16 hex chars = 8 bytes = 2^64 possibilities (unguessable). */
|
|
2
2
|
export declare function generateTeamId(): string;
|
|
3
3
|
/** Generate a slug-style agent ID from display name and tool. */
|
|
4
4
|
export declare function generateAgentId(displayName: string, tool: string): string;
|
package/dist/utils/id.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../src/utils/id.ts"],"names":[],"mappings":"AAKA,
|
|
1
|
+
{"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../src/utils/id.ts"],"names":[],"mappings":"AAKA,4FAA4F;AAC5F,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,iEAAiE;AACjE,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CASzE"}
|
package/dist/utils/id.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* Agent ID generation utilities.
|
|
3
3
|
*/
|
|
4
4
|
import { randomBytes } from 'node:crypto';
|
|
5
|
-
/** Generate a unique team ID (
|
|
5
|
+
/** Generate a unique team ID. 16 hex chars = 8 bytes = 2^64 possibilities (unguessable). */
|
|
6
6
|
export function generateTeamId() {
|
|
7
|
-
return `team-${randomBytes(
|
|
7
|
+
return `team-${randomBytes(8).toString('hex')}`;
|
|
8
8
|
}
|
|
9
9
|
/** Generate a slug-style agent ID from display name and tool. */
|
|
10
10
|
export function generateAgentId(displayName, tool) {
|
package/dist/utils/id.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id.js","sourceRoot":"","sources":["../../src/utils/id.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,
|
|
1
|
+
{"version":3,"file":"id.js","sourceRoot":"","sources":["../../src/utils/id.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,4FAA4F;AAC5F,MAAM,UAAU,cAAc;IAC5B,OAAO,QAAQ,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;AAClD,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,eAAe,CAAC,WAAmB,EAAE,IAAY;IAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/B,qFAAqF;IACrF,8BAA8B;IAC9B,MAAM,QAAQ,GAAG,QAAQ,IAAI,QAAQ,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IAEtE,OAAO,GAAG,QAAQ,IAAI,QAAQ,EAAE,CAAC;AACnC,CAAC;AAED,mFAAmF;AACnF,SAAS,OAAO,CAAC,GAAW;IAC1B,OAAO,GAAG;SACP,WAAW,EAAE;SACb,IAAI,EAAE;QACP,2DAA2D;SAC1D,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;SACjC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAG,0CAA0C;SACpE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAO,4BAA4B;SACtD,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAI,gCAAgC;AAC/D,CAAC"}
|