技术知识库 · 技术指南 · · 国科智飞 Gavin

微信群 Bot 技术方案:能力、成本与合规边界

要一个能进群、拉人、收发消息的微信机器人,官方通道给不了。Wechaty 与已停维护的 GeweChat 的路线对比,以及不能省的合规红线。

需求很具体:做一个能加入微信群、作为群成员收发消息、还能拉人进群的机器人。直觉会指向 iPad 协议,但这条路到底是什么、成本结构如何、风险在哪,值得把方案摊开写清楚。

先把结论放在前面:能进群、能拉人,目前只有基于 iPad 协议的第三方方案能提供。 腾讯官方提供的微信接入通道(openclaw-weixin)走安全合规路线,但只做一对一私聊,没有任何群聊接口;企业微信是另一套生态,需要企业认证,接的不是个人微信号;网页版微信从 2018 年起就关闭了创建群聊和自动拉人的接口,2017 年后注册的账号也无法登录网页版。官方渠道安全但没有这个能力,第三方协议有能力的代价是承担风险——没有又安全又能进群的第三条路。

能力与亮点

Wechaty 加 PadLocal 是当前可用的主力路线。 Wechaty 是开源的对话机器人 SDK(Apache-2.0,GitHub 约 2.3 万 star),提供 TypeScript 与多语言绑定;PadLocal 是它的一个 puppet 实现,通过 grpc 加 mmtls 协议跑一个本地网关,扫码登录后把个人微信号变成可编程机器人。它的编程模型是事件驱动的:消息、入群、离群、好友请求都是事件,机器人按事件写处理逻辑;登录状态用 memory-card 持久化,重启不用反复扫码,这对需要长期在线的机器人是刚需。

群相关能力基本齐全:创建群聊、拉人进群、自动通过好友、@群成员、踢人、改群名、发群公告、群二维码、入群离群事件监听;消息类型覆盖文本、图片、文件、视频、语音、小程序。接入方式也直接:

const bot = new Wechaty({ puppet: new PuppetPadlocal({ token }) })
bot.on('room-join', async (room, inviteeList) => {
  inviteeList.map(c => room.say('欢迎加入', c))
})
bot.on('message', async message => { /* @机器人 后交给 LLM 处理 */ })
await bot.start()

成本模型清楚。 PadLocal 的 token 有 7 天免费试用,之后需要购买长效 token 按周期付费;成为 Wechaty Contributor 可以免费续期一年。除 token 之外,还要算上跑网关的服务器、开发和长期维护成本。这是一条持续付费的路线,不是一次投入。

AI 层可以自由接。 消息事件拿到后,接任意 LLM 或工作流引擎(Dify、Coze、自有 API)都行:群里 @机器人,事件转发给模型,生成回复再发回群。协议层和 AI 层解耦,换模型不影响机器人本身。

局限与坑

GeweChat 已经停维护,不要作为生产依赖。 它曾是这条路上最省事的方案:REST API、Docker 一键部署、扫码即用、任意语言接入,还支持朋友圈和群管理。现在它的 README 明确写着「本项目已停止维护」——历史运行服务、Docker 镜像、部署方式、技术支持全部不再提供,仓库只作为技术归档保留;里面的客户端示例代码还带着明文 HTTP 占位、硬编码 token、信任所有证书等历史写法,官方警告不得直接用于生产。背景是 2024 年底腾讯对违规获取微信用户数据行为的打击,大量基于它构建的生产服务在短期内集体失效。教训很直接:把业务架在一个逆向项目上,上游被打击,业务就原地停摆。社区 fork 仍在流传,但需要自行跟踪协议变化、处理风控、保障服务器稳定,运维负担极重。

账号风险真实存在。 iPad 协议属于第三方逆向实现,存在被检测的小概率,腾讯风控也不是摆设。降低概率的做法有共识:先用小号测试,不拿主号或业务号直接上;不做群发、营销和批量拉人;部署在固定 IP 的服务器上,频繁换 IP 极易触发风控;只做低频、小规模、人机协同的场景,不做大规模群控。

PadLocal 的相关仓库更新缓慢。 它的 puppet 代码库在 GitHub 上已经多年没有新提交,能力迭代主要发生在托管服务一侧。选型时要确认服务当前的维护状态和协议适配情况,不能只看仓库活跃度。

风控阈值不透明,没有官方 SLA。 什么频率会触发限制、哪种行为会被判定为营销,平台从不公布,只能靠自己控制节奏。这意味着生产系统必须做发送队列、限速和退避重试,不能把用户的每次操作都实时转成消息发出去。一旦账号被限制,也没有官方申诉通道,这份不确定性要在方案阶段就写进风险清单。

合规边界必须划清。 用于骚扰、批量营销、未经授权的数据收集、账号买卖等行为一律不做。生产上线前完成安全和隐私评估,建立数据删除、权限回收、事件审计机制。技术上能自动化,不代表业务上可以无限制使用——必须保留人工介入、暂停和审计的能力。

适用场景

不适合大规模群控、营销轰炸、高频无人值守自动化;不适合对账号稳定性有硬要求、无法承受一次封号的业务;更不适合任何涉及未授权数据采集的场景。

选型建议

路线选择上,Wechaty 加 PadLocal 是当前能力最全、生态最成熟的可用方案,适合「进群 + 拉人 + 群内互动」的需求。采购前确认 token 服务当前状态和协议适配情况,这类服务的仓库更新节奏和托管能力不一定同步,要看服务侧而非只看仓库。如果只需要一对一客服,优先官方渠道,不要为了用不上的群能力承担协议风险。Windows 桌面自动化(wxauto、WeChatFerry 等 RPA 路线)适合私域客服的 PoC,但它不是群成员机器人,和 iPad 协议路线是互补关系。

落地节奏建议分三步:第一周用测试号跑通登录、收发和入群事件;第二周接上 AI 回复与限速队列,做真实群的小流量灰度;稳定运行两周以上,再考虑扩大群数或接入拉人流程。每一步都保留回滚开关。

工程上建议:把消息层和 AI 层解耦,协议实现可替换;设置频率限制、审计日志和一键停用;从第一天就准备好「上游失效」的应急预案,别把它放进业务关键路径。最后,把所有自动操作当成你自己的账号在说话——这条纪律比任何技术优化都重要。

参考来源