[Feature] 微信公众号(Official Account)平台支持 — 个人合规触达微信的第三条通道
Author: dataleeCreated Sep 13, 2026Updated Sep 13, 2026
需求背景
微信生态目前有两条已支持通道,各有一个缺口:
- 企业微信(WeChat Work) ✅ 已支持,但需要企业组织资质
- 微信个人号(ilink) ✅ 已支持,但属于非官方协议:存在稳定性问题(#1098 复杂任务收不到部分回复、#1173 扫码升级提示)、平台限频与封号风险(#1742 的 burst_limit 教训)
微信公众号(Official Account)是微信官方开放、个人即可注册的第三条合规通道,目前尚未覆盖。对「手机上只装微信」的用户来说,这是 agent 可达性的最后一公里:扫码关注即可对话,无需企业资质,无封号风险。AI 助手类公众号(ChatGPT 套壳等)已被社区大量验证过技术可行性。
账号分档(实现前需要明确的产品约束)
公众号接口权限按账号类型分档,直接影响交互模式:
| 账号类型 | 被动回复(5s 内) | 客服消息(48h 主动推送) | 备注 |
|---|---|---|---|
| 测试号(沙箱) | ✅ | ✅ 全接口 | 即时开通,个人自用/开发首选 |
| 未认证个人订阅号 | ✅ | ❌ 无权限 | 个人主体无法认证 → 只能做「先回思考中、稍后再戳」的查询式交互 |
| 认证订阅号 / 服务号 | ✅ | ✅ | 企业主体,体验完整 |
agent 场景的推荐路径:测试号(自用)与认证号(对外)用客服消息异步推送——agent 执行通常远超 5 秒,被动回复只能做兜底确认。
技术方案
方案 A:内置平台 wechat-oa(建议的收编形态)
复用 LINE 的 webhook 模式基建(同为需要公网 URL 的回调型渠道):
- 接入验证:GET echostr 校验
- 消息接收:XML 回调,支持明文/兼容/安全三种加密模式(EncodingAESKey)
- 会话映射:FromUserName (openid) →
wechat-oa:{appid}:{openid} - 回复双模:被动回复兜底(5s 内回「正在处理」或结果首段)+ 客服消息
/cgi-bin/message/custom/send异步推送(access_token 7200s 刷新、配额节流、长文本分片) - 文档需注明:公网回调 URL 是硬要求(可提示微信云托管 / 内网穿透);群发接口不用于对话;文本长度上限需分片
方案 B:Bridge sidecar(零改动验证形态)
docs/bridge-protocol.md 已提供正式的外挂扩展点(协议示例里正好是 "platform": "wechat", "description": "WeChat Official Account adapter")。可先写独立 sidecar:公众号 HTTP 回调 → bridge WebSocket 转发,零侵入验证需求,成熟后再按方案 A 收编。
我可以做的
方向认可的话:① 先按方案 B 写 bridge sidecar 原型(测试号实测)供参考;② 或直接按方案 A 提交 PR(基于 LINE webhook 基建扩展)。
提交环境:Windows 本机跑 cc-connect 桥接多个 coding agent,自用场景(测试号)。
Source: chenhg5/cc-connect