openclaw上多用户多Agent使用同一openclaw-weixin插件配置
需求:用办公电脑做多人共用的openclaw助手。管理员配置技能,销售、售前通过微信调用技能干活。各人有自己的workspace目录,数据、会话互不干涉,互不影响。
标准方案:
核心前提
openclaw-weixin是单通道驱动,支持多账号并行登录(多次扫码不同个人微信),每个微信账号生成唯一accountId;无群聊路由逻辑,路由仅靠accountId匹配 Agent。- 需求匹配:
- Agent1:
xietaolc,工作目录~/xietaolc,自有soul.md;绑定第一个扫码微信账号 - Agent2:
jiangjq,工作目录~/jiangjq,自有soul.md;绑定第二个扫码微信账号
- Agent1:
- 隔离逻辑:每个 Agent 独立 workspace、独立人设、独立对话记忆;网关单进程运行,只加载一次
openclaw-weixin驱动,多微信账号同时在线。
一、目录结构(完全隔离)
plaintext
~/
├─ xietaolc/ # Agent1 独立工作区
│ ├─ soul.md
│ ├─ memory/
│ └─ workspace_cache/
├─ jiangjq/ # Agent2 独立工作区
│ ├─ soul.md
│ ├─ memory/
│ └─ workspace_cache/
└─ .openclaw/
├─ openclaw.json # 全局主配置
├─ openclaw-weixin/
│ └─ accounts.json # 存储所有扫码微信accountId
└─ agents/
├─ xietaolc/ # Agent会话、运行缓存
└─ jiangjq/
二、分步操作流程(含多微信扫码绑定完整步骤)
步骤 1:启用 openclaw-weixin 插件
bash
运行
openclaw config set plugins.entries.openclaw-weixin.enabled true
步骤 2:创建两个独立 Agent,指定专属 workspace
bash
运行
# 创建xietaolc Agent
openclaw agents add xietaolc \
--workspace ~/xietaolc \
--agent-dir ~/.openclaw/agents/xietaolc \
--non-interactive
# 创建jiangjq Agent
openclaw agents add jiangjq \
--workspace ~/jiangjq \
--agent-dir ~/.openclaw/agents/jiangjq \
--non-interactive
步骤 3:两次扫码登录两个不同个人微信(关键多账号步骤)
- 第一个微信(分配给 xietaolc)扫码
bash
运行
openclaw channels login --channel openclaw-weixin
终端弹出二维码,用谢涛微信扫码授权;登录凭证存入accounts.json,记录wx1-id-im-bot(示例 ID)。
- 第二个微信(分配给 jiangjq)扫码 新开终端执行,再次弹出二维码,用江佳琪微信扫码授权:
bash
运行
openclaw channels login --channel openclaw-weixin
生成第二条账号wx2-id-im-bot。
步骤 4:查看已登录微信账号 ID
bash
运行
# 方式1:命令行查看
openclaw channels list
# 方式2:读取账号文件
cat ~/.openclaw/openclaw-weixin/accounts.json
输出示例:
json
["wx1-id-im-bot","wx2-id-im-bot"]
记录两个accountId,后续配置绑定使用。
步骤 5:将微信账号与对应 Agent 绑定(两种方式任选)
方式 A:命令行绑定(推荐,自动写入配置)
bash
运行
# 微信账号wx1-id-im-bot 绑定xietaolc
openclaw agents bind --agent xietaolc --bind openclaw-weixin:wx1-id-im-bot
# 微信账号wx2-id-im-bot 绑定jiangjq
openclaw agents bind --agent jiangjq --bind openclaw-weixin:wx2-id-im-bot
方式 B:手动编辑 ~/.openclaw/openclaw.json 完整配置
json5
{
"version": "2026.6.11",
"plugins": {
"entries": {
"openclaw-weixin": {
"enabled": true
}
}
},
// 通道配置:单weixin通道,内置多账号
"channels": {
"openclaw-weixin": {
"enabled": true,
"driver": "openclaw-weixin",
"loginMode": "qrcode",
"autoReconnect": true,
"accounts": {
"wx1-id-im-bot": {},
"wx2-id-im-bot": {}
}
}
},
// 双Agent定义,各自独立workspace
"agents": {
"defaults": {},
"list": [
{
"id": "xietaolc",
"name": "谢涛专属助手",
"workspace": "~/xietaolc",
"agentDir": "~/.openclaw/agents/xietaolc"
},
{
"id": "jiangjq",
"name": "江佳琪专属助手",
"workspace": "~/jiangjq",
"agentDir": "~/.openclaw/agents/jiangjq"
}
]
},
// 核心路由绑定:按微信accountId分流到对应Agent
"bindings": [
{
"agentId": "xietaolc",
"match": {
"channel": "openclaw-weixin",
"accountId": "wx1-id-im-bot"
}
},
{
"agentId": "jiangjq",
"match": {
"channel": "openclaw-weixin",
"accountId": "wx2-id-im-bot"
}
}
],
// 无匹配账号消息丢弃
"defaultAgent": null
}
步骤 6:创建各自独立 soul.md
~/xietaolc/soul.md
plaintext
你是xietaolc专属算力运维助手,仅处理服务器、WSL、Docker、AI部署、硬件方案相关咨询,回答输出命令、BOM、排错步骤,不处理商务报价、政策解读。
~/jiangjq/soul.md
plaintext
你是jiangjq商务BD助手,仅处理项目报价、区域算力政策、客户对接、汇报材料整理,语言商务简洁,不解答底层硬件运维、系统排错。
步骤 7:启动网关,加载全部微信账号与 Agent
bash
运行
openclaw gateway start --verbose
- 进程启动后,两个微信账号保持同时在线;
- 谢涛微信发消息 → 路由至
xietaolc,读取~/xietaolc/soul.md,对话记忆存在~/.openclaw/agents/xietaolc/sessions; - 江佳琪微信发消息 → 路由至
jiangjq,读取~/jiangjq/soul.md,数据完全隔离互不干扰。
三、校验与重载命令
- 查看绑定关系
bash
运行
openclaw agents list --bindings
- 修改配置后重载不重启网关
bash
运行
openclaw gateway reload
- 下线某个微信账号
bash
运行
openclaw channels logout --channel openclaw-weixin --account wx1-id-im-bot
四、关键特性说明(适配 2026.6.11 openclaw-weixin)
- 单通道多微信账号 仅一个
openclaw-weixin通道驱动,多次channels login新增独立微信登录,不会重复加载驱动,规避多进程风控。 - 账号级路由隔离 无群聊、@匹配逻辑,完全依靠扫码生成的
accountId一对一绑定 Agent,符合个人微信 ClawBot 直连机制。 - Workspace 完全独立 两个 Agent 工作目录分离,
soul.md、记忆向量库、缓存文件互不覆盖,人设、对话历史完全隔离。 - 一对一绑定规则 一个微信账号只能绑定单个 Agent,一个 Agent 仅接收绑定账号的消息,不会串号。
五、常见避坑
- 不要多开终端分别
gateway start,多进程会重复创建通道实例,微信判定多设备登录风控。 workspace路径必须填写完整~/xxx,相对路径会导致soul.md读取失败。- 更换微信扫码后,
accounts.json内accountId会变更,必须同步修改bindings规则并重载网关。 - 若消息无响应,执行
gateway start --verbose查看日志,校验accountId与绑定规则是否一致。
已验证配置命令:
openclaw 2026.6.11版本配置多个agent都使用openclaw-weixin这个channel,然后对应到不同的workspace。agent1命名:xietaolc,工作目录~/xietaolc。agent2命名:jiangjq,工作目录~/jiangjq。各个agent有自己的soul.md等文件。
openclaw config set plugins.entries.openclaw-weixin.enabled true
openclaw agents add xietaolc --workspace /mnt/d/WSL/xietaolc --agent-dir ~/.openclaw/agents/xietaolc --non-interactive
openclaw agents add jiangjq --workspace /mnt/d/WSL/jiangjq --agent-dir ~/.openclaw/agents/jiangjq --non-interactive
openclaw channels login --channel openclaw-weixin(第一次,记录ID)
记录ID方法:执行openclaw channels list,然后查看对应的ID。
openclaw channels login --channel openclaw-weixin(第二次,记录ID)
openclaw agents bind --agent xietaolc --bind openclaw-weixin:c8abb8707a7c-im-bot
openclaw agents bind --agent jiangjq --bind openclaw-weixin:c21f230ca386-im-bot
六、Agent 间通信配置(可选扩展:跨 Agent 消息互发)
前面实现了多 Agent 与多微信账号的账号级路由隔离(各扫各的、互不干扰)。默认情况下 Agent 之间是相互独立、不能互相喊话的。若要打通 Agent→Agent 通信(例如让"算力运维助手"把结果转交"商务 BD 助手"),需要在网关侧解锁跨 Agent 会话工具。
步骤 8:在顶层新增 tools 配置,放开跨 Agent 通信
继续沿用"方式 B 手动编辑 ~/.openclaw/openclaw.json":在 JSON 顶层(与 plugins、channels、agents、bindings 平级)加入 tools 段:
复制
// 顶层,与 plugins/channels/agents/bindings 平级
"tools": {
"sessions": {
"visibility": "all" // tree | self | agent | all,all 表示可触达其他 Agent 会话
},
"agentToAgent": {
"enabled": true, // 打开跨 Agent 调用总闸
"allow": ["xietaolc", "jiangjq"] // 或用 ["*"] 全部放开
}
}
字段作用:
| 配置项 | 取值 | 作用 |
|---|---|---|
sessions.visibility | tree(默认) / self / agent / all | all 才允许一个 Agent 的会话工具看到并操作其他 Agent 的会话 |
agentToAgent.enabled | true | 正式打通跨 Agent 发送总闸 |
agentToAgent.allow | Agent ID 白名单 / ["*"] | 允许通信的目标 Agent;*= 全部放开 |
步骤 9 重载:改完必须重启,不是热重载
复制
openclaw gateway restart
⚠️
agentToAgent属于reloadKind: none,openclaw gateway reload(热重载)对其不生效,必须restart。
跨 Agent 发送方式
复制
# 方式一:按 agentId 投递到其 main 会话
openclaw sessions.send --agent xietaolc --message "早上好,跨agent测试"
# 方式二:指定完整 sessionKey,直达某微信会话
openclaw sessions.send \
--session agent:xietaolc:openclaw-weixin:direct:xxx@im.wechat \
--message "早上好"
对方 Agent 会自动收到并回话,调用方从返回的 reply 字段拿到它的应答。
常见避坑(新增 3 条)
allow是双向匹配:运行时要求发起方和目标方都命中allow列表。只写目标 Agent(如只写["jiangjq"])会报Agent-to-agent messaging denied by tools.agentToAgent.allow。稳妥做法是把两个 Agent 都写上,或直接用["*"]。- 受保护路径:
tools.sessions.visibility、tools.agentToAgent.*是受保护配置,config.patch会拒绝修改,只能手动编辑 openclaw.json(就是上文"方式 B")。改前先cp备份。 - 想精确投到某人微信:用带
@im.wechat的完整sessionKey;只写--agent则落到对方 Agent 的默认会话(main),可能不在微信侧回复。按业务需要选其一。
更多推荐



所有评论(0)