在同一个 OpenClaw Gateway 中实现多智能体互聊。通过 sessions_send 向目标 session key 投递消息,开启 agentToAgent 与 sessions.visibility = "all",让多个 Agent 自动协作。
✏️ 手动添加智能体身份
| 功能 | 💬 简单部署 | ⚡ 高权限版 |
|---|---|---|
| exec 执行命令 | ❌ | ✅ |
| read/write 文件 | ❌ | ✅ |
| process 进程管理 | ❌ | ✅ |
| sessions_* 操作 | ❌ | ✅ |
| group:messaging 消息互聊 | ✅ | ✅ |
| 推荐场景 | 讨论、头脑风暴 | 协作 + 执行操作 |
填写智能体名称后,点击"🔄 生成提示词",再复制: 💡 配置成功后,点击「🧪 测试效果」让双智能体讨论问题
# 任务:配置 OpenClaw 多智能体互聊
## 目标
在同一个 OpenClaw Gateway 中配置多个 AI Agent,让它们能够互相发送消息、进行多轮对话。
## 智能体列表
- alice
- bob
## 📁 目录隔离说明(重要)
每个 Agent 需要三个独立隔离空间,**不要共享目录**:
| 目录 | 作用 |
|------|------|
| `~/.openclaw/workspace-[名称]` | 工作区(AGENTS.md, SOUL.md, USER.md 等) |
| `~/.openclaw/agents/[名称]/agent` | 状态目录(auth-profiles.json, 模型配置) |
| `~/.openclaw/agents/[名称]/sessions` | 会话存储(自动创建) |
⚠️ **官方警告**:Never reuse `agentDir` across agents (会导致认证/会话混乱)
> `openclaw agents add [名称]` 会自动创建以上目录,无需手动创建。
## 执行步骤
### 第一步:创建智能体(如已有可跳过)
⚠️ **重要:创建前必须先检查是否已存在同名智能体!**
- 如果检测到名字相似或功能近似的智能体,**必须停下来询问用户**
- 询问用户:是否要创建新的同名智能体?
- 如果用户确认,需要让用户输入**新的区分名称**
- **绝对不能直接修改、覆盖或删除**任何已有文件
```
openclaw agents add alice
openclaw agents add bob
```
(创建时会自动创建 workspace,无需手动创建)
- 执行前先运行 `openclaw agents list` 确认没有同名智能体
### 第二步:配置 openclaw.json(每个 agent 加 messaging)
```json
{
"tools": {
"agentToAgent": {
"enabled": true,
"allow": ["alice", "bob"],
"maxPingPongTurns": 3
},
"sessions": {
"visibility": "all"
}
},
"agents": {
"alice": {
"tools": { "profile": "messaging" }
},
"bob": {
"tools": { "profile": "messaging" }
}
}
}
```
### 第三步:重启 Gateway
```
openclaw gateway restart
```
## 注意事项
1. sessionKey 格式:`agent:目标名称:session标签`
2. agentToAgent.allow 需包含所有需要通信的 agent
3. sessions.visibility 必须设为 "all"
4. **模糊配对优先复用**:当检测到与目标同名或角色相似的已有智能体时,应优先选择已有智能体配对,而非创建全新智能体。例如:已存在 "智多星" 角色,再次要求配置 "智多星" 时应直接复用,而非新建 "智多星-2"
点击复制,添加到 openclaw.json:
💡 智能体自我配置完成,以下内容供参考检查,无需额外配置。
{
"tools": {
"agentToAgent": {
"enabled": true,
"allow": ["alice", "bob"],
"maxPingPongTurns": 3
},
"sessions": {
"visibility": "all"
}
}
}
| 配置项 | 推荐值 | 作用 |
|---|---|---|
tools.agentToAgent.enabled |
true |
开启跨 agent 通信 |
tools.agentToAgent.allow |
["agentA", "agentB"] |
限定允许互通的 agent |
tools.sessions.visibility |
"all" |
允许跨 agent 可见 session |
tools.agentToAgent.maxPingPongTurns |
3 或按需 |
控制自动来回回复轮数 |
每个 Agent 需要三个独立隔离空间,不要共享目录:
~/.openclaw/workspace-[名称] |
工作区(AGENTS.md, SOUL.md 等) |
~/.openclaw/agents/[名称]/agent |
状态目录(auth-profiles.json) |
~/.openclaw/agents/[名称]/sessions |
会话存储(自动创建) |
⚠️ 官方警告:Never reuse agentDir across agents(会导致认证/会话混乱)
openclaw agents add [名称]profile: "messaging");高权限版点"选择模式 → 高权限版",复制对应的 JSON(含 tools.allow 显式列表)