多通道触达 · 技术方案

个人 / 企业微信自动化
—— 我们现在采用的方案

把「客户沉淀在微信 / 企业微信」这件不可让步的约束,落成一条能无人值守跑的 AI 自动回复链路。 本页梳理:为什么官方 API 接不了、为什么桌面 RPA 全军覆没、以及我们最终采用的 云手机 + WorkTool + 自建桥 → Hermes 现行架构。

读者:要给企微 / 微信个人号接 AI 自动回复的人 结论可直接复用 最后更新 2026-06-26
一句话结论:企微「员工个人号 ↔ 外部客户 1:1 私聊」的 AI 自动回复,官方 API 接不了、桌面端 RPA 本质脆弱, 唯一能无人值守跑的现行方案是 —— 在云手机(安卓)里跑企微小号,用 WorkTool(无障碍监听) 把消息以结构化 JSON 回调出来,经自建 worktool-bridge 转给 Hermes 网关,由 Claude 生成回复再原路发回。
目录
  1. 先认清地形:三种「微信自动化」是三件事
  2. 为什么官方 API 接不了个人号 1:1
  3. 为什么桌面端 RPA 全军覆没
  4. 现行架构:云手机 + WorkTool + 桥 → Hermes
  5. 云手机选型与封号风险
  6. 关键工程踩坑(实测)
  7. 个人微信(非企微)现状
  8. 当前状态与待办

1先认清地形:三种「微信自动化」是三件事

「微信自动化」在我们的语境里至少糅了三个完全不同的场景,方案、权限、风险都不一样。先分清才不会走错路:

场景 A · 我们的主战场

企微个人号 ↔ 客户 1:1 私聊

员工的企业微信号,和外部客户一对一聊天。客户沉淀在这里,是不可让步的约束。官方 API 覆盖不到。

现行:云手机 + WorkTool
场景 B · 官方合规

企微官方接口

群机器人 Webhook、微信客服 kf API、客户联系 API。只能接「客服入口进来的消息」或群通知,接不了员工个人号普通会话。

部分可用 · 见 §2
场景 C · 个人微信

个人微信号(非企微)

纯个人微信。开源工具多停更或只支持单聊、协议属灰区,主号封禁风险高。非主战场。

受限 · 见 §7
ℹ︎
选型第一问永远是「你在这家公司能创建自建应用吗?」。能 → 可评估官方 API;不能(普通员工 / 合作方)→ 直接排除所有 API 方案,只剩旁路 RPA。我们的实际身份就是后者,所以本页重心在场景 A。

2为什么官方 API 接不了个人号 1:1

这一节是「为什么不能走最省事的官方路」的依据,省得反复重新调研。

2.1 权限层级(2026-05 核实)

身份能做什么客户联系 API
超管 / 应用管理员建自建应用、调客户联系 API、开会话存档
普通员工(3.1.8 起)可个人授权安装第三方应用不解锁
合作方 / 普通员工无法建应用不可

结论:任何「AI 代员工自动回复客户」的 API 方案,都需要应用管理员身份 + 企业认证

2.2 微信客服 kf API 的硬限制

认证后免费、无量上限,kf/sync_msg 拉消息、kf/send_msg 主动发。但:

只能处理「客服入口」进来的消息(公众号 / 小程序 / 视频号 / 二维码)。抓不到员工个人微信号 1:1 对话,也处理不了员工企微号的普通客户消息。我们的场景正好落在它覆盖不到的地方。

2.3 回调 URL 的 ICP 备案硬墙(2026-06 实测)

企微「客服 → 接入配置 → 设置 API 接收消息」的回调 URL:

这正是我们选 WorkTool 的一个关键原因:WorkTool 回调走的是它自有服务器 / 我们自建桥,不受企微官方回调的 ICP 备案约束

会话存档定价(2026-01 调价后,破除网传旧价)

网上广泛流传的 ¥40–60/人/年已过时 10–30 倍。实际:办公版 ¥400/人/年(仅金融业)· 服务版 ¥900/人/年 · 企业版 ¥1800/人/年 · 免费试用 1 个月。第三方 SCRM(卫瓴 / 句子互动 / 微伴等)全是企业级合同,无个人订阅入口。

3为什么桌面端 RPA 全军覆没

官方路走不通后,第一直觉是「在电脑上盯着企微聊天框做 RPA」。我们把这条路走到头了,两个平台都本质脆弱:

3.1 Mac 路线 —— 企微必须前台

3.2 Windows hook 路线 —— 同样被击穿

同吃「企微需前台」约束,且企微正在做 QML 迁移,现存桌面端开源 hook 工具集体失效。

3.3 桌面端开源工具扫描结论(2026-06,别再重复调研)

工具结论
wxauto只支持个人微信,2025-10 因 QML 迁移停更
yihleego企微自动化,支持发送但已停更,无接收回调
pywechat只支持个人微信
wecom-cs-mano真开源,但仅 macOS + OCR,需大量自研移植
vworkApi闭源付费跟版,排除

没有任何一个能同时满足「真开源 + 活跃维护 + 支持企微外部联系人单聊 + 能发消息」。RPA 是唯一解,但必须把它从桌面挪到云端。

4现行架构:云手机 + WorkTool + 桥 → Hermes

把企微从「必须前台的桌面」搬进「云端独立运行的安卓」,根因消失。整条链路:

☁️📱
云手机(安卓)
企微小号在云端独立跑,无焦点争抢 / Space 锁
🦾
WorkTool
无障碍监听,消息以结构化 JSON 回调(非 OCR)
🌉
worktool-bridge
自建 stdlib 桥:回调 / 收发 / 去重 / 过滤 roomType
🧠
Hermes 网关
Claude 生成回复,原路 /send 发回云手机

4.1 为什么这套能成(三个根因被一次性解决)

4.2 各组件职责

组件职责关键点
云手机运行企微小号 + WorkTool App独立实例、可接住宅 IP、远程命令可操作
WorkTool无障碍读取消息 → 回调;接收指令 → 代发需 robotId 绑定、开无障碍权限、配回调 URL
worktool-bridge纯 stdlib 桥:/callback 收、/messages 取、/send 发、/health 探活过滤 roomType=2、去重、绕系统代理;测试 8/8 通过
Hermes 适配器wecom_worktool 平台插件,桥接消息进 Hermes 网关复用 platform 机制,已离线验证导入
roomType 别记反:WorkTool 回调 roomType = 1 外部群 / 2 外部联系人单聊(要回的就是它) / 3 内部群 / 4 内部联系人单聊。本场景只放行 roomType=2,过滤掉群和内部会话。代码默认 WORKTOOL_ROOM_TYPES=2

5云手机选型与封号风险

云手机是这套方案的物理底座。选型结论(2026-06 核实,定价易腐烂,30 天后需重核):

档位规格 / 价位用途
推荐平台阿里无影(云手机产品线)有远程同步命令接口,便于自动化运维
测试期按量付费,约 ¥0.30/h(2C4G)联调、跑通用
正式 · 轻量包月约 ¥65/月单号常驻
正式 · 标准包月约 ¥140/月单号无需更高,矩阵版浪费
封号风险是头号约束。云手机出口 IP = 机房 IP,属高风控段。必须结合住宅 IP(自有住宅代理栈)出境,否则企微小号极易被判异常。其余缓解:用小号限速 ≤5 条/分白名单灰度放量。

6关键工程踩坑(实测)

坑 1

内网穿透:云手机拨不到本机桥

Mac 在内网(192.168.x.x),云手机在公网拨不进来。测试期用 cloudflared tunnel --url http://localhost:PORT 快速暴露本机桥,无需 ICP 备案。

坑 2

系统代理劫持 127.0.0.1

Shadowrocket 等系统代理会把本地 / 国内请求也塞进代理。桥访问 WorkTool API、测试访问本地桥,都要用绕过代理的 openerbuild_opener(ProxyHandler({}))),否则连不通。

坑 3

getfqdn 启动阻塞 ~30s

Python HTTPServer.server_bind()0.0.0.0socket.getfqdn() 反向 DNS,在代理 / VPN 环境会卡约 30 秒。桥用自定义 server_bind 跳过 getfqdn 规避。

坑 4

WorkTool 注册后台仅国内 IP 可访问

注册后台是 RuoYi 框架 + 图形验证码。本机走境外代理则被拒连;需用国内网络的浏览器手工操作(验证码 + 部分字段名问题无法纯接口自动化)。云手机本身可当「境内 curl 探针」做接口探查。

7个人微信(非企微)现状

纯个人微信不是我们主战场,但常被问到。现状是「能接但都带硬伤」:

ℹ︎
个人微信若一定要做,倾向「有显示器的 VPS / 本机部署 + 只做 DM 场景 + 小号」,且明确接受灰区封禁风险。群机器人合规诉求请走企微官方 Bot / 客服 API。

8当前状态与待办

✓ 已建并离线验证

⛔ 待用户做(无法自动化的人工环节)

  1. 租云手机(住宅 IP 优先)→ 装企微小号 + WorkTool + 开无障碍。
  2. 拿到有效 robotId(当前卡点)。三条路线:
    A 云手机上装浏览器自动化注册 · B(最快) 国内网络手工访问 WorkTool 注册后台填 robotType=企业微信 · C 直接购买。
  3. 把回调 URL 指向桥 → 跑 verify_live.py 四步 → 真机核对 roomType → 启用插件,即端到端联通。
放量纪律:端到端通了之后,先 observe 模式(白名单空 = 只读不回)核对几轮真实 roomType,再灰度填白名单逐步放量;全程小号 + 限速 + 住宅 IP。