让你的 Clawdbot AI 助手接入企业微信,通过自建应用实现智能对话。 接入企业微信后,可在个人微信进行对话(菜单:我的企业—微信插件,使用个人微信扫码)
- 支持个人微信对话
- 接收企业微信消息(文本、图片、语音)
- 自动调用 AI 代理处理消息
- 将 AI 回复发送回企业微信用户
- 消息签名验证和 AES 加密解密
- Webhook URL 验证(企业微信回调配置)
- access_token 自动缓存和刷新(支持多账户)
- 图片消息接收和 AI 识别(Vision 能力)
- 图片消息发送
- 语音消息转文字(需开启企业微信语音识别)
- 命令系统(/help、/status、/clear)
- Markdown 格式自动转换
- 长消息自动分段(2048 字符限制)
- API 限流保护
- 多账户支持
- 群聊支持
- Token 并发安全
- Clawdbot 已安装并配置
- 企业微信管理员权限
- 公网可访问的服务器(用于接收回调)
- 克隆本仓库:
git clone https://github.com/anthropics/clawdbot-wecom.git
cd clawdbot-wecom
npm install- 在 Clawdbot 配置文件
~/.clawdbot/clawdbot.json中添加插件路径:
{
"plugins": {
"enabled": true,
"load": {
"paths": [
"/path/to/clawdbot-wecom"
]
},
"entries": {
"clawdbot-wecom": {
"enabled": true
}
}
}
}clawdbot plugins install @mijia-life/clawdbot-wecom- 登录 企业微信管理后台
- 进入 应用管理 → 自建 → 创建应用
- 填写应用名称、Logo、可见范围等信息
- 创建完成后,记录以下信息:
- AgentId:应用的 AgentId
- Secret:应用的 Secret
- 在管理后台首页,点击 我的企业
- 记录 企业ID (CorpId)
- 进入你创建的应用 → 接收消息 → 设置API接收
- 填写:
- URL:
https://你的域名/wecom/callback - Token:自定义一个 Token(随机字符串)
- EncodingAESKey:点击随机生成
- URL:
- 先不要保存!需要先启动 Clawdbot 服务
在 ~/.clawdbot/clawdbot.json 中添加环境变量:
{
"env": {
"vars": {
"WECOM_CORP_ID": "你的企业ID",
"WECOM_CORP_SECRET": "你的应用Secret",
"WECOM_AGENT_ID": "你的应用AgentId",
"WECOM_CALLBACK_TOKEN": "你设置的Token",
"WECOM_CALLBACK_AES_KEY": "你生成的EncodingAESKey",
"WECOM_WEBHOOK_PATH": "/wecom/callback"
}
}
}支持配置多个企业微信账户,使用 WECOM_<ACCOUNT>_* 格式:
{
"env": {
"vars": {
"WECOM_CORP_ID": "默认账户企业ID",
"WECOM_CORP_SECRET": "默认账户Secret",
"WECOM_AGENT_ID": "默认账户AgentId",
"WECOM_CALLBACK_TOKEN": "默认账户Token",
"WECOM_CALLBACK_AES_KEY": "默认账户AESKey",
"WECOM_SALES_CORP_ID": "销售账户企业ID",
"WECOM_SALES_CORP_SECRET": "销售账户Secret",
"WECOM_SALES_AGENT_ID": "销售账户AgentId",
"WECOM_SALES_CALLBACK_TOKEN": "销售账户Token",
"WECOM_SALES_CALLBACK_AES_KEY": "销售账户AESKey"
}
}
}企业微信需要能够访问你的回调 URL。推荐使用 Cloudflare Tunnel:
# 安装 cloudflared
brew install cloudflared
# 创建隧道
cloudflared tunnel create clawdbot
# 配置隧道路由
cloudflared tunnel route dns clawdbot 你的域名
# 启动隧道
cloudflared tunnel run clawdbot- 重启 Clawdbot Gateway:
clawdbot gateway restart- 检查插件是否加载:
clawdbot plugins list- 回到企业微信管理后台,点击保存回调配置
- 如果验证通过,配置完成!
配置完成后,企业微信用户可以直接向应用发送消息:
- 在企业微信中找到你创建的应用
- 发送文字、图片或语音消息
- AI 会自动回复
| 命令 | 说明 |
|---|---|
/help |
显示帮助信息 |
/status |
查看系统状态(含账户信息) |
/clear |
清除会话历史 |
| 类型 | 接收 | 发送 | 说明 |
|---|---|---|---|
| 文本 | ✅ | ✅ | 完全支持,自动分段 |
| 图片 | ✅ | ✅ | 支持 Vision 识别 |
| 语音 | ✅ | ❌ | 需开启企业微信语音识别 |
| 视频 | ❌ | ❌ | 暂不支持 |
| 文件 | ❌ | ❌ | 暂不支持 |
| 变量名 | 必填 | 说明 |
|---|---|---|
WECOM_CORP_ID |
是 | 企业微信企业ID |
WECOM_CORP_SECRET |
是 | 自建应用的 Secret |
WECOM_AGENT_ID |
是 | 自建应用的 AgentId |
WECOM_CALLBACK_TOKEN |
是 | 回调配置的 Token |
WECOM_CALLBACK_AES_KEY |
是 | 回调配置的 EncodingAESKey |
WECOM_WEBHOOK_PATH |
否 | Webhook 路径,默认 /wecom/callback |
- 检查 URL 是否可公网访问:
curl https://你的域名/wecom/callback
# 应返回 "wecom webhook ok"-
检查环境变量是否正确配置
-
查看 Clawdbot 日志:
clawdbot logs -f | grep wecom- 检查日志中是否有
wecom inbound记录 - 确认 AI 模型配置正确
- 检查是否有错误日志
- 确认
WECOM_CORP_ID和WECOM_CORP_SECRET正确 - 检查应用的可见范围是否包含测试用户
- 确认服务器能访问
qyapi.weixin.qq.com
- 消息加解密:使用 AES-256-CBC 算法,遵循企业微信加密规范
- 签名验证:SHA1 签名验证,防止消息伪造
- 异步处理:消息接收后立即返回 200,异步调用 AI 处理
- Token 缓存:access_token 按账户隔离缓存,过期前 1 分钟刷新
- 并发安全:Promise 锁防止重复刷新 token
- API 限流:RateLimiter 控制并发和频率
查看 CHANGELOG.md 了解完整版本历史。
MIT
欢迎提交 Issue 和 Pull Request!
本插件由 Clawdbot 社区开发维护。