ARTICLE · 1050712
OpenClaw对接微信公众号/企业微信实战
前言
前面几篇文章里,OpenClaw已经以QQ机器人的身份住进了聊天软件,也通过外网安全访问回到了家里的服务器。但微信生态是另一片大陆:个人微信有官方插件可以直接接,而微信公众号和企业微信(WeCom)则需要走开放平台的开发模式自己搭桥。这条桥一旦打通,你的AI助手就能同时具备三种触达能力:在公众号里自动回复粉丝、定时产出图文内容,在企业微信里充当内部应用随时待命。
本文记录的是一套已经真实跑通的方案:公众号「OK好的呢」的内容流水线、消息回调服务、企业微信自建应用集成,全部基于OpenClaw加微信官方开放API完成。照着做,一个周末可以跑通主干。
一、微信公众号开发模式配置
1.1 从「读者视角」切换到「开发者视角」
登录公众平台后台,进入设置与开发、基本配置,这里就是整个对接的起点。页面上有三个关键信息:AppID(应用唯一标识)、AppSecret(接口密钥)和IP白名单。点击「成为开发者」后,公众号就具备了调用开放API的资格。
几个实战要点:AppSecret和QQ机器人一样只在生成时完整展示一次,务必第一时间存进密码管理器;IP白名单是调用凭证类接口的前提,只有白名单内服务器IP发起的请求才会被放行,建议把跑OpenClaw那台服务器的公网IP加进去;如果用云服务器,出口IP以实际拨测为准,不要想当然填注册信息里的地址。
1.2 订阅号与服务号的权限差异
订阅号和服务号在消息推送频次、接口权限上差异很大,动手前先认清自己手里是什么类型的账号。未认证的订阅号权限最少:以我们实测为例,凭证、素材管理、草稿箱全功能可用,但发布记录、粉丝列表、数据统计等接口会返回48001错误,需要微信认证后解锁。这不影响跑通核心链路——自动回复和内容生产都不依赖这些高级接口。
1.3 access_token的中央化管理
几乎所有公众号API都要带access_token,它由AppID加AppSecret换取,有效期7200秒,而且重复获取会让旧token提前失效。所以第一件要做的正事是token缓存:拿到的token连同过期时间戳写进本地JSON文件,每次调用前检查余量,快过期才刷新。我们的做法是所有API调用统一走一个脚本入口,token对上层完全透明,杜绝多处各自刷新互相顶掉的经典事故。
二、服务器URL与Token设置
2.1 服务器配置四件套
在基本配置页的「服务器配置」里需要填四样东西:URL(接收微信消息推送的服务器地址,必须是80或443端口)、Token(自定义字符串,用于验签)、EncodingAESKey(消息加解密密钥)和消息加解密方式。加解密有明文、兼容、安全三种模式,调试阶段建议用明文看清原始报文,稳定运行后切到安全模式。
URL要求域名在工信部完成备案,服务器要公网可达。常见做法是云服务器上跑一个轻量HTTP服务,前面用Nginx做反向代理并挂上证书。
2.2 首次启用的握手验证
点「启用」时,微信会向你的URL发一个GET请求,带上signature、timestamp、nonce、echostr四个参数。服务端的处理逻辑是教科书级的:把Token、timestamp、nonce三个值字典序排序后拼接,做SHA-1运算,结果与signature比对;一致就把echostr原样返回。微信收到echostr即认为服务器合法,配置生效。这一步写不对,后面全部免谈,而它本质上只是五行Python的事。
2.3 验签是每一笔请求的通行证
握手只是开始。此后每一条消息推送,微信都会带同样的签名参数,服务端每次都应验签,防止伪造请求打进你的AI。Token泄露的后果不是别人能看你消息,而是别人能冒充你回复你的粉丝,所以Token别用弱口令,也别和别的系统共用。
三、消息接收与自动回复
3.1 XML消息的接收与解析
粉丝给公众号发消息时,微信会向服务器URL推送一个POST请求,body是XML:ToUserName是公众号原始ID,FromUserName是粉丝的OpenID,MsgType区分文本、图片、语音、事件等类型,文本消息再带一个Content字段。解析出这几个字段,你就知道「谁在跟谁说什么」。OpenID同样是每个公众号独立发放的,跨号不通用。
3.2 五秒规则与异步回复
公众号被动回复有一条硬规则:五秒内必须应答,否则微信会重试三次然后给粉丝显示「该公众号暂时无法提供服务」。但大模型的生成经常不止五秒,怎么办?官方给的出路是异步:立刻回一个空串表示「收到但不直接回复」,然后调用客服消息接口在48小时互动窗口内把生成结果推给粉丝。实战里把超时时间留足、生成完成即推送,体验上只是慢几秒,完全可用。
3.3 与OpenClaw的桥接架构
我们这套系统的分工是「内容与接口彻底解耦」:回调服务只做三件事——验签、解析XML、把粉丝消息转发给OpenClaw的AI处理;OpenClaw生成回复后,经统一API脚本调用客服消息接口送达。所有对微信API的调用收敛在一个入口脚本里,token缓存、素材上传、草稿创建都从它走。这样的好处是排查问题时链路清晰:消息没到查回调,回复没出查生成,发不出去查接口层。
顺带一提,个人微信聊天场景另有官方通道:OpenClaw的外部插件openclaw-weixin,一条plugins install命令安装、扫码登录即可用,适合私聊助手场景;公众号开发模式则是为面向粉丝的自动化服务的,两者定位不同,可以并存。
四、企业微信应用集成
4.1 自建应用三要素
企业微信的对接比公众号更直白。在企业微信管理后台「应用管理」里创建一个自建应用,拿到三个要素:corpid(企业标识)、agentid(应用ID)和secret(应用密钥)。三者换取应用的access_token,逻辑与公众号完全同构,缓存策略可以直接复用。
发消息走应用消息接口,指定接收人的成员UserID即可推送文本、Markdown、图文、卡片。企业微信的优势在于没有公众号那种48小时互动限制——只要成员在应用可见范围内,随时可以主动触达,这让它特别适合做内部告警和任务通知。
4.2 回调与安全
企业微信同样支持接收消息回调,验证机制与公众号如出一辙:配置URL、Token、EncodingAESKey,握手验签逻辑可以照抄。区别是企业微信默认强制加密模式,回调内容需要用AESKey解密后再解析,官方SDK有现成实现。落地时记得在应用后台配置「可信IP」,与公众号的IP白名单思路一致。
4.3 群机器人:零代码的轻量选项
如果只是想往企业微信群推送消息,还有个五分钟方案:群聊设置里添加群机器人,拿到一个Webhook地址,向它POST JSON就能发文本和Markdown消息。把OpenClaw的定时任务输出定向到这个Webhook,企业微信群立刻多了一个会写日报的机器人。它的局限是只能进群、收不到回复,适合单向通知场景。
五、多客服场景应用
5.1 一个AI,多路分会话
多客服的核心诉求是「不同粉丝的问题互不串线」。公众号侧,每条消息自带粉丝OpenID,回调服务以OpenID作为会话键把消息路由给OpenClaw对应的独立会话,天然隔离;企业微信侧同理,成员UserID就是会话键。配合OpenClaw按会话隔离的上下文与记忆机制,一千个粉丝就有一千条互不干扰的对话线。
5.2 AI先行、人工兜底
成熟的客服编排是漏斗型的:常见问题(发货、退换、价格、文档在哪)由AI按知识库直接应答,覆盖七成以上进线;AI判定拿不准或粉丝情绪升级时,回复转接话术并通知真人客服接管。转接前把该粉丝的会话摘要一起交给人工,客服不用从头问起。公众号本身也有多客服系统可以挂客服账号,AI层与人工层可以共用同一个粉丝消息入口。
5.3 分场景的人设与权限
OpenClaw的按会话策略在这里再次发挥作用:售后群里的AI人设耐心克制、只谈订单;技术支持会话放开工具权限,允许查日志查文档;VIP客户会话提高模型档位、回复更细致。一套系统,多种角色,靠的都是配置文件而非代码。
六、粉丝互动案例
6.1 内容流水线:从选题到草稿箱
这是本公众号「OK好的呢」每天在跑的真实流程:主人定选题后,AI内容官完成写作,正文按每段标准HTML格式存进文章库;随后接口层动态查询封面图素材的media_id,调用草稿箱接口把标题、作者、摘要、封面和正文打包成草稿。全部文案一律先落草稿箱,经人工确认后才谈发布——AI负责生产力,人握住发布键,这条铁律建议每个做号的人都守住。
6.2 关键词自动回复
粉丝在后台发送关键词,回调服务识别后按预设映射回复:发「教程」返回系列文章目录,发「加群」返回入群方式,发其余内容则转AI自由问答。关键词规则处理毫秒级的高频请求,AI兜底处理长尾问题,两层配合既快又稳。
6.3 定时互动与留人
借助OpenClaw的定时任务,可以在固定时点向互动过的粉丝推送摘要卡片,把「主动来找AI的人」逐步养成「等着看推送的人」。节奏建议克制:每天一到两条、内容与账号定位强相关。频率轰炸换来的不是留存而是取关,这一点无论技术多优雅都改变不了。
总结
回顾整条微信生态对接路径:公众号后台完成开发模式配置,拿到AppID和AppSecret并管好IP白名单;服务器配置环节用Token验签通过微信的握手验证,搭起消息回调通道;消息侧掌握五秒规则与客服消息接口的异步套路,把粉丝消息桥接给OpenClaw生成回复;企业微信用自建应用三要素加应用消息接口实现无限制触达,群机器人Webhook提供零代码轻量方案;多客服场景以OpenID和UserID做会话隔离,AI先行人工兜底;最后用内容流水线、关键词回复和克制的定时互动,把粉丝运营真正跑起来。
微信生态的对接没有黑魔法,本质就是token管理、回调验签、消息协议三件事。OpenClaw负责思考和生成,微信负责触达和关系链,各司其职,这条桥就稳了。