无尘阁日记

无尘阁日记

自动发消息,最危险的不是发不出去,是发错人
2026-08-27

上两篇讲了事实层和分身层:会议变成逐字稿,纪要按角色拆成 N 个版本。最后一步,是把这些版本准确地送到对应的人手里

这一篇讲第三道工序,也是最刺激、最容易翻车的一环——安全送达。我在这上面踩的坑,够写一本错题集。其中最狠的一个:我差点把一条研讨会通知,发到”文件传输助手”。

今天把四道坑和红线全给你摊开。

坑①:“满分”也会认错人

腾总 skill 早期是走 OpenCV 模板匹配去定位聊天窗口的。逻辑是:截个”目标群头像”的图当模板,让程序在屏幕里找最像的,相似度满分(max_val=1.00)就点。

听起来很稳对吧?满分会错?

会。我那次要把通知发到微信群「取老婆群」,模板匹配返回 max_val=1.00,程序信心满满地点了下去——结果点到了聊天列表里另一个相似图标,进了”文件传输助手”。消息差点就发错对象。

教训刻骨:不要迷信满分。 满分只是代表”在它搜索的框框里,最像的那个”,不代表”就是你要的那个”。相似图标一多,满分也会认错人。

所以我立了条铁规矩:发送前必须截图给我确认,确认才发。 任何自动发送,第一步都是把”要发给谁、发什么”的截图摆我面前,我点头,它才回车。这条规矩,救过我不止一次。

坑②:半成品自动化不算数

模板匹配走群聊不可靠之后,我临时搞了个旁路:让程序跳过”找群”这步,要求我先自己手动切到目标群,它再只做粘贴和发送。

结果用户(也就是我自己,哈哈)当场否决:“你要我自己切,要这个自动化干嘛?”

一句话点醒我:要么全自动,要么不做。半自动 = 全部自己动。

你让人手动切群,等于把最烦那一步留给人,那自动化图啥?所以我把它降级成兜底,死磕”全自动”方案。

最终落地的路径 A,不用模板匹配,改用 agent 视觉判断:激活微信 → 截图 → 裁切左侧聊天列表 → 视觉定位目标群行的精确坐标 → 点进去 → 再截图确认顶部标题是目标群 → 粘贴 → 截图哨兵 → 我放行 → 发送。每一步都看得见,不迷信任何”满分”。实测在 1710×1107 屏幕上,「取老婆群」逻辑坐标 (130, 992),点进去无误发。

坑③:企业微信的”10 人门槛”

这是很多人栽的大坑。你兴冲冲接好企业微信机器人,一调发消息接口,报错:“当前企业暂不支持”。

你以为是没配对?是管理员没授权?都不是。是规则

企业微信官方按规模分档(docid=21668):公司≤10 人,智能机器人的消息、文档、日程、会议、待办、通讯录全套都能用;公司>10 人,消息接口直接不对你开放,只给你文档和待办。这不是你配置漏了,是平台档位卡死的。

我们这种团队,早超 10 人了,所以企业微信机器人的消息通道,对我们就是关的。当时实测 wecom-cli 智能机器人,一调就报”暂不支持”;客服自建机器人只对外(微信客户侧)通,内部群不走它;内部群机器人同样受 10 人限制。

绕道方案: 别跟 API 较劲,直接操控电脑上的微信客户端来发。分发环节最后落地的”腾总”skill,走的就是个人微信桌面版——macOS 用 mac-desktop-automation,Windows 用 workbuddy-computer-use。人仿客户端收发,什么规模都能用,内部群外部群都覆盖。

补充一句,企微其实还有合规的消息通道(自建应用消息 API、群机器人 Webhook),适合正式分发;但作为”绕过 10 人限制、快速按角色发”的兜底,桌面自动化 + 个人微信最省事。

坑④:两台电脑,两套路

同一个”操控桌面发微信”的思路,到不同系统是两个名字:Windows 用 workbuddy-computer-use(基于 pywinauto),macOS 用 mac-desktop-automation。效果一样,名字不同,别混。

顺带几个小坑,记一下能省你两小时:物理像素和逻辑像素不是一回事(Retina 屏截图是 2 倍,点击坐标要除以 scale);osascript 设了剪贴板后要 sleep 一秒再粘贴,不然可能粘到旧内容;微信桌面版粘贴带方括号的 emoji 代码(比如 [嘿哈])不一定转,先小测。

四条红线,少一条都不发

四道坑串起来,就是四条不能碰的红线。我给团队定的安全原则就八个字:先核验、再授权、先草稿、后发送。

发送前必确认。 绝不静默群发。任何自动发送,先截图给你看”发给谁、发什么”,你点头才发。这条是坑①换来的命。

认不准就停。 联系人重名、没命中、定位模糊,一律暂停并报错退出,绝不猜”大概是这个吧”就发。发错人的代价,远大于晚发五分钟。

只动本机客户端,不碰隐私。 只操控你本机微信桌面 UI,不读不上传聊天隐私,凭证不落库。AI 是你的手,不是你的嘴乱说话。

要么全自动,要么不做。 不把最烦那步甩回给人。半自动是自欺,全自动才叫闭环。

三通道怎么选,一句话说清

群里常有人问:企微、客服机器人、桌面自动化,到底用哪个?我给你最直白的结论:

  • wecom-cli 智能机器人:≤10 人小团队能用全套;超 10 人,消息直接关门。小团队首选。
  • 客服自建机器人:只对外(你的微信客户),内部群不走它。做客户服务的另说。
  • 桌面自动化(含腾总·个人微信):不限规模,内部外部都通,前提是本机客户端在线。我们这种超 10 人的,兜底就它。

所以不是”企微不能发”,是”企微那条智能机器人消息通道对你关门”。门边上还有别的窗(自建应用消息 API、群机器人 Webhook),但最快落地、绕过规模限制的,是操控你本机的微信。你别跟档位较劲,换条路走就行。

还有个习惯你必须养:留证。每次发送前确认的那张截图,存到 output/ 里。哪天谁说”没收到”或”发错了”,你调图说话。自动化越自动,越要留痕——这是对自己负责,也是对对方负责。我那条”先草稿、后发送”的红线,落点就在这个”证”字上。

补充一个根因,省得你踩我踩过的第二个雷:企业微信机器人一调接口就报 850004 aibot not api mode,根因几乎都是机器人还停在”普通模式”。普通模式只做问答、不开放任何接口;得去管理后台切成”API 模式创建”、选长连接拿到 Bot ID 和 Secret,再在客户端”可使用权限”里授权,门才真正开。这两道关(模式 + 授权)过了,再加上规模档位,才是完整真相。我们最后是绕开它走个人微信,但你真要用企微,这两关先过。

四层闭环,到此合龙

回到我说的四层:事实层(转写)→ 判断层(行动项)→ 分流层(按角色)→ 安全发送层(确认后发)。这四篇,正好一层一篇,把”会议闭环”从一句话指令,到送到人手里,全拆完了。

一句话总结这条闭环:你说”明天下午两点开个会” → 腾讯会议自动建 → 散了自动拉逐字稿 → WorkBuddy 出纪要、按角色分身 → 腾总操控微信,发前截图给你确认 → 各就各位。

你只做决策和指挥,剩下的,交给它们跑。会议从”成本”变成”资产”,靠的就是这条不断在”散会之后”的链。

这套东西我每天自己都在用,博客也是定时任务自动把当天干的活写成干货发出来(你正在读的这系列就是例证)。下回聊别的闭环——内容发布、情报采集、视频混剪,件件都是”你睡了,它在跑”。