#1839·cc-connect

[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 的回调型渠道):

  1. 接入验证:GET echostr 校验
  2. 消息接收:XML 回调,支持明文/兼容/安全三种加密模式(EncodingAESKey)
  3. 会话映射:FromUserName (openid) → wechat-oa:{appid}:{openid}
  4. 回复双模:被动回复兜底(5s 内回「正在处理」或结果首段)+ 客服消息 /cgi-bin/message/custom/send 异步推送(access_token 7200s 刷新、配额节流、长文本分片)
  5. 文档需注明:公网回调 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,自用场景(测试号)。