微信 (WeChat)
将 OpenClaw Agent 接入微信生态,支持企业微信、微信服务号及第三方桥接方式,全面覆盖测试与生产场景。
概述
微信(WeChat)是国内最主流的即时通讯与办公生态平台。OpenClaw 支持通过多种方式无缝接入微信生态:
- 企业微信(WeCom):官方原生支持,连接稳定可靠(强烈推荐)。
- 微信服务号:适合企业和组织向外部客户提供公众服务。
- 第三方桥接(个人微信):基于开源协议库实现的个人微信号接入(实验性功能)。
接入模式对比
| 接入方式 | 配置难度 | 稳定性 | 接入成本 | 适用场景 |
|---|---|---|---|---|
| 企业微信 | ⭐⭐ 中等 | ✅ 极高 | 免费 | 内部企业团队、工作协同 |
| 微信服务号 | ⭐⭐⭐ 复杂 | ✅ 极高 | 需每年缴纳认证费 | 企业对外客服、公众服务 |
| 第三方桥接 | ⭐ 简单 | ⚠️ 中等 | 免费 | 个人测试环境、私域流量尝试 |
方式一:企业微信接入(官方推荐)
前置准备
- 注册企业微信管理员账号(中小型团队可免费注册)。
- 具备企业微信管理后台的开发者操作权限。
1. 创建企业微信自建应用
- 登录 企业微信管理后台。
- 进入导航栏的「应用管理」-「应用」- 点击「创建应用」。
- 准确填写应用基础信息:
- 应用名称:OpenClaw(或您的定义名称)
- 应用介绍:AI 智能助手
- 上传合规的应用 Logo
- 选择应用的「可见范围」(即哪些部门和成员允许使用该机器人的服务)。
- 点击「创建应用」完成保存。
2. 获取核心应用凭证
进入刚创建的应用详情页面,记录以下三个核心凭证参数:
- AgentId:该自建应用的唯一 ID。
- Secret:该应用的调用密钥。
- CorpId:企业 ID(可通过后台的「我的企业」页面底部获取)。
3. 配置「接收消息」回调服务
为了让 OpenClaw 能收到用户发来的消息,需设置后台回调事件:
- 在应用详情页,下滑找到「接收消息」配置卡片并点击「设置 API 接收」。
- 填写接收消息服务器的配置项:
- URL:输入您公网暴露的 OpenClaw 服务地址(例如:
https://your-domain.com/wechat/callback)。 - Token:填写自定义的英文与数字校验令牌。
- EncodingAESKey:点击「随机生成」以生成高强度消息加解密密钥。
- URL:输入您公网暴露的 OpenClaw 服务地址(例如:
提示:如果您处于本地开发环境,必须利用类似 ngrok、Frp 的内网穿透工具获取可供公网及微信服务器回调的临时 HTTPS 地址。
4. 在 OpenClaw 中配置挂载参数
在后端终端内运行新增渠道指令:
openclaw channels add选择「企业微信(WeChat Work)」,或直接修改本地配置文件 ~/.openclaw/config.json 覆盖如下参数:
{
"channels": {
"wechat-work": {
"enabled": true,
"corpId": "YOUR_CORP_ID",
"agentId": "YOUR_AGENT_ID",
"secret": "YOUR_SECRET",
"token": "YOUR_TOKEN",
"encodingAESKey": "YOUR_AES_KEY"
}
}
}5. 验证通信链路
- 在企业微信的手机端或桌面端工作台中找到刚上架的应用。
- 进入对话流并发送测试消息,例如:
@OpenClaw 你好。 - 查看是否成功收到回复。
方式二:微信服务号接入
前置准备
- 拥有已通过微信认证的服务号主体。
- 具有微信公众平台开发者权限。
1. 配置服务器回调信息
- 登录 微信公众平台。
- 左侧菜单进入「开发」-「基本配置」页面。
- 开启开发者密码,并在「服务器配置」中填写:
- URL:指向 OpenClaw 的公网回调域名服务(如:
https://your-domain.com/wechat/callback)。 - Token:自定义用于签名的校验令牌。
- EncodingAESKey:点击随机生成。
- 消息加解密方式:推荐选择「安全模式」。
- URL:指向 OpenClaw 的公网回调域名服务(如:
2. 获取服务号鉴权凭证
在同一个「基本配置」页面中获取调用 Open API 的凭证:
- AppID:开发者应用 ID。
- AppSecret:开发者应用密码。
3. 在 OpenClaw 中写入配置
修改本地 ~/.openclaw/config.json,增加服务号渠道支持:
{
"channels": {
"wechat-mp": {
"enabled": true,
"appId": "YOUR_APP_ID",
"appSecret": "YOUR_APP_SECRET",
"token": "YOUR_TOKEN",
"encodingAESKey": "YOUR_AES_KEY"
}
}
}4. 辅助配置
在公众平台后台,您可顺便设置好其他引流行为(这部分流程通常在微信后台界面完成):
- 自定义菜单定向导航。
- 基础关键词的兜底自动回复。
- 被关注后的欢迎语引导。
方式三:第三方协议桥接(针对个人微信号)
注意:针对个人微信账号的对接均为实验性反向工程调用。它可能触及微信官方对于自动化挂机的风控警报红线,带来封号风险。强烈建议仅用于抛弃型小号或本地独立沙箱测试环境。
方案 A:使用 Wechaty 底层驱动
Wechaty 是一个极其主流的开源微信个人号自动化接口桥接网络。
- 安装 Wechaty 驱动引擎:
npm install wechaty- 部署极简的中转桥接脚本服务(示例参考):
const { Wechaty } = require('wechaty')
// 这里需提前引入 openclaw 实例化模块
const bot = new Wechaty({
name: 'openclaw-bot',
puppet: 'wechaty-puppet-wechat',
})
bot.on('message', async (message) => {
// 拦截普通消息,作为中间件转发到 OpenClaw 网关引擎处理
const response = await openclaw.process(message.text())
await message.say(response)
})
bot.start()- 运行代码后,控制台会弹出二维码,使用手机微信扫码授权登录即可开始接管。
方案 B:使用 ComWeChatRobot 框架
这是基于运行在 Windows 实体机上的 PC 版微信内存注入机器人框架。需要您部署在独立的打桩服务器上。
- 下载对应版本的 PC 微信并安装对应的 ComWeChatRobot 注入包。
- 本地起服后挂接到 OpenClaw 给出的 HTTP 监听网关进行数据换转桥接。
高阶管控配置
白名单放行策略 (Allowlist)
考虑到费用的控制和隐私因素,可以在配置文件层面阻断不受信任用户的调用请求:
{
"channels": {
"wechat-work": {
"groupPolicy": "allowlist",
"allowedUsers": [
"ZhangSan", // 允许的企业微信内部员工 ID 1
"LiSi" // 允许的企业微信内部员工 ID 2
]
}
}
}群组管控与响应要求
限制机器人在指定的内部业务群组运作,并要求必须提及 @ 机器人才启动响应机制:
{
"channels": {
"wechat-work": {
"allowedGroups": [
"group_id_10204",
"group_id_32111"
],
"requireMention": true
}
}
}脏数据与富文本过滤
针对非结构化数据或无效图片,可以在网关顶层建立过滤掉落矩阵:
{
"channels": {
"wechat-work": {
"ignoreTypes": ["image", "video", "voice"], // 令机器人屏蔽媒体资源传输,节约带宽与算力
"ignoreKeywords": ["广告", "spam"]
}
}
}典型落地方案与场景
场景 1:数字办公网关助理 (内部企业微信)
- 提供内部 HR 和 IT 操作指导库。
- 将钉钉/飞书的会议日程通过 OpenClaw 桥接到微信侧进行日程打通。
- 对接 Jira 提供内部研发工单流转审批查询。
场景 2:公众号外部客服机器人 (服务号)
- 高速、7x24 小时不间断秒回的基础常见 Q&A 解答。
- 连接物流或电商系统实现用户自主订单状态核查。
- 提供产品矩阵方案的前期智能跟进咨询。
性能优化建议
突发并发控制阵列
应对瞬时激增的大量查询事件(如服务号推文后的并发请求浪涌),引入过载保护:
{
"channels": {
"wechat-work": {
"queueSize": 100, // 请求缓冲区排队深度锁定在 100 条
"concurrency": 5, // 并发交由 OpenClaw 系统处理的最大进程数
"timeout": 30000 // 最大超时等待阻断期(如 30 秒无果直接放弃)
}
}
}频繁缓存前置池
如果企业微信被当作百科客服,开启相同的语料查询拦截复用策略可极大保护 Token 开销池:
{
"channels": {
"wechat-work": {
"cache": {
"enabled": true,
"ttl": 3600 // 缓存记忆结果有效期 1 小时
}
}
}
}渠道官方限制及规避参考
企业微信天花板限制
- 消息发送频率:单个应用每分钟向用户或群发配额通常被系统锁定在
200条内。 - 附件体积:最大支持单文件
20MB级别。 - 群容量:单群人数目前受限于
500。
微信服务号受限项
- 主动触达消息:公众号极其严格,严禁无故向用户发垃圾消息,仅允许在用户发送过动作后的
48 小时内调用客服接口触达回复。 - 模板消息:业务模板格式受限并须获得平台授权。
系统排障指南
Q: 完全收不到任何回调,日志也一片死寂?
- 若为本地环境,强烈怀疑 ngrok 或内网穿透域名的 HTTPS 未正确启动,请直接使用浏览器验证公网 Callback URL 是否通畅。
- 确保配置中的验证
Token与AES Key与微信官方后台上填写的值呈现字面上的严丝合缝一致性。 - 检查腾讯服务器控制台右上角或内部审计系统的
应用可见范围放行项。
Q: 企业微信接收消息正常,但日志显示回复发出后发送失败?
- 主要疑点转移至
Secret不一致,需在腾讯应用后台进行重置并重新覆盖config.json。 - IP 涉嫌受到腾讯应用侧安全白名单限制,确认 OpenClaw 分发的源 IP 是否已被加入到企业微信的调用方白名单内。