微信 ClawBot 接入多种智能体
概述
WeClaw 是微信 ClawBot 与本地或 HTTP 智能体之间的桥接工具。你在微信里给 ClawBot 发消息,WeClaw 把内容转给后面配置的智能体处理,再把回复回传到微信。
常见接法包括:
- 本机已安装的 Claude Code、Codex CLI 等(WeClaw 会尝试自动探测)
- 符合 OpenAI Chat Completions 规范的 HTTP 接口(需在配置里写明)
与其他文档的关系
若走 Claude Code Channels + cc-wechat 那条链路,需要保持 Claude Code 会话窗口开启,行为见 微信 ClawBot 接入 Claude Code。本文 WeClaw 路径与之不同,以 weclaw 与 ~/.weclaw/config.json 为准。
安装 WeClaw
一键安装(推荐):
curl -sSL https://raw.githubusercontent.com/fastclaw-ai/weclaw/main/install.sh | sh首次启动会展示二维码,用微信扫码登录,完成 ClawBot 与 WeClaw 的绑定。
weclaw start常用命令:
| 命令 | 说明 |
|---|---|
weclaw start | 启动(默认常以后台方式运行,详见项目文档) |
weclaw stop | 停止 |
weclaw login | 多账号时再登录一个微信 |
weclaw status | 查看运行状态 |
更完整的参数与排障说明见 WeClaw 仓库 README。
安装 Claude Code
请根据操作系统执行对应命令。
curl -fsSL https://claude.ai/install.sh | bashirm https://claude.ai/install.ps1 | iexWindows 说明
Windows 下请先安装 Git for Windows,再按官方指引完成 Claude Code 安装。
安装 Codex CLI
Codex CLI 官方支持 macOS 与 Linux(以 OpenAI 文档为准)。
npm i -g @openai/codex自定义 HTTP Agent
若对接自建或第三方服务,且接口符合 OpenAI Chat Completions 约定(一般为 POST /v1/chat/completions),可在 ~/.weclaw/config.json 的 agents 里增加一项,type 为 http。
下面示例里,对象键名 myapi 只是标识符,可改成你喜欢的名字;default_agent 需与它一致(或通过微信内切换默认智能体的方式选到该 Agent,具体命令以 /help 为准)。
| 字段 | 说明 |
|---|---|
endpoint | 对方服务的 Chat Completions 完整 URL |
api_key | 可选。若填写,WeClaw 会按 Authorization: Bearer <api_key> 携带 |
model | 填对方服务能识别的模型名 |
system_prompt | 可选。系统提示,约束在微信场景下的角色与语气 |
max_history | 可选。保留多轮对话条数上限,示例为最多约 20 轮上下文 |
配置示例:
{
"default_agent": "myapi",
"agents": {
"myapi": {
"type": "http",
"endpoint": "https://your-server.example.com/v1/chat/completions",
"api_key": "YOUR_API_KEY",
"model": "在对方服务里认识的模型名",
"system_prompt": "你是微信里回复用户的助手……",
"max_history": 20
}
}
}在微信里发消息与切换智能体
默认智能体
不设前缀时,普通文字会发给当前默认智能体(claude code),例如:
帮我写一个 Python 排序函数指定某一条消息由谁处理
在消息前加命令前缀
| 示例 | 说明 |
|---|---|
/codex 写一个 Python 排序函数 | 本条交给 Codex |
/claude 解释一下这段代码 | 本条交给 Claude |
/cx 写一个 Python 排序函数 | /cx 为 Codex 别名 |
/cc 解释一下这段代码 | /cc 为 Claude 别名 |
切换默认智能体
- 发送
/claude可将默认智能体切到 Claude(会写入配置,重启后一般仍保留)。 - 发送
/codex可将默认智能体切到 Codex
常用自检命令
| 命令 | 说明 |
|---|---|
/status | 查看当前默认智能体与状态 |
/help | 查看完整命令说明 |
微信场景下的权限与工作目录
部分 Agent 在 CLI 模式下默认需要交互式权限确认。微信里没有终端可操作,容易一直卡在等待确认。可在 ~/.weclaw/config.json 里通过 args 跳过部分检查(需自行承担风险)。
| Agent | 参数 | 说明 |
|---|---|---|
| Claude (CLI) | --dangerously-skip-permissions | 跳过所有工具权限确认 |
| Codex (CLI) | --skip-git-repo-check | 允许在非 Git 仓库目录运行 |
配置示例(command、cwd 请改成你本机路径;agents 为 ~/.weclaw/config.json 中与 default_agent 同级字段下的对象):
{
"default_agent": "claude",
"agents": {
"claude": {
"type": "cli",
"command": "/usr/local/bin/claude",
"cwd": "/home/user/my-project",
"args": ["--dangerously-skip-permissions"]
},
"codex": {
"type": "cli",
"command": "/usr/local/bin/codex",
"cwd": "/home/user/my-project",
"args": ["--skip-git-repo-check"]
}
}
}通过 cwd 指定 Agent 的工作目录(workspace)。不设置时默认为 ~/.weclaw/workspace。
安全与模式说明
上述参数会绕过部分安全检查,请确认风险后再启用。
主动给微信侧发消息
先保证 WeClaw 已登录并在运行:
weclaw start命令行示例
发文本:
weclaw send --to "user_id@im.wechat" --text "您好,这里是主动推送的文本"发图片:
weclaw send --to "user_id@im.wechat" --media "https://example.com/photo.png"发文字 + 图片:
weclaw send --to "user_id@im.wechat" --text "请查看这个方案" --media "https://example.com/photo.png"将 user_id@im.wechat 换成真实收件人 ID;--to 的含义与取值以 WeClaw 当前版本文档为准。
如何查看 ClawBot 的 user_id
登录成功后,WeClaw 会把凭证保存在 ~/.weclaw/accounts/ 下的 JSON 文件中。可打开对应账号的凭证文件,查找 ilink_user_id 字段值就是 user_id。
