Skip to content

微信 ClawBot 接入多种智能体

概述

WeClaw 是微信 ClawBot 与本地或 HTTP 智能体之间的桥接工具。你在微信里给 ClawBot 发消息,WeClaw 把内容转给后面配置的智能体处理,再把回复回传到微信。

常见接法包括:

  • 本机已安装的 Claude CodeCodex CLI 等(WeClaw 会尝试自动探测)
  • 符合 OpenAI Chat Completions 规范的 HTTP 接口(需在配置里写明)

与其他文档的关系

若走 Claude Code Channels + cc-wechat 那条链路,需要保持 Claude Code 会话窗口开启,行为见 微信 ClawBot 接入 Claude Code。本文 WeClaw 路径与之不同,以 weclaw~/.weclaw/config.json 为准。

安装 WeClaw

一键安装(推荐):

bash
curl -sSL https://raw.githubusercontent.com/fastclaw-ai/weclaw/main/install.sh | sh

首次启动会展示二维码,用微信扫码登录,完成 ClawBot 与 WeClaw 的绑定。

bash
weclaw start

常用命令:

命令说明
weclaw start启动(默认常以后台方式运行,详见项目文档)
weclaw stop停止
weclaw login多账号时再登录一个微信
weclaw status查看运行状态

更完整的参数与排障说明见 WeClaw 仓库 README

安装 Claude Code

请根据操作系统执行对应命令。

bash
curl -fsSL https://claude.ai/install.sh | bash
powershell
irm https://claude.ai/install.ps1 | iex

Windows 说明

Windows 下请先安装 Git for Windows,再按官方指引完成 Claude Code 安装。

安装 Codex CLI

Codex CLI 官方支持 macOSLinux(以 OpenAI 文档为准)。

bash
npm i -g @openai/codex

自定义 HTTP Agent

若对接自建或第三方服务,且接口符合 OpenAI Chat Completions 约定(一般为 POST /v1/chat/completions),可在 ~/.weclaw/config.jsonagents 里增加一项,typehttp

下面示例里,对象键名 myapi 只是标识符,可改成你喜欢的名字;default_agent 需与它一致(或通过微信内切换默认智能体的方式选到该 Agent,具体命令以 /help 为准)。

字段说明
endpoint对方服务的 Chat Completions 完整 URL
api_key可选。若填写,WeClaw 会按 Authorization: Bearer <api_key> 携带
model填对方服务能识别的模型名
system_prompt可选。系统提示,约束在微信场景下的角色与语气
max_history可选。保留多轮对话条数上限,示例为最多约 20 轮上下文

配置示例:

json
{
  "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),例如:

text
帮我写一个 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 仓库目录运行

配置示例(commandcwd 请改成你本机路径;agents~/.weclaw/config.json 中与 default_agent 同级字段下的对象):

json
{
  "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 已登录并在运行:

bash
weclaw start

命令行示例

发文本:

bash
weclaw send --to "user_id@im.wechat" --text "您好,这里是主动推送的文本"

发图片:

bash
weclaw send --to "user_id@im.wechat" --media "https://example.com/photo.png"

发文字 + 图片:

bash
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。