WorkBuddy 接入选长连接还是 URL 回调?没有公网 IP 就别犹豫
配企业微信、钉钉、飞书的时候,都会碰到同一个岔路口:长连接,还是 URL 回调?
官方在三个平台的文档里都给了同样口径的说明,而且态度很明确。企业微信那篇写的是:
推荐优先使用长连接模式:在 WorkBuddy 中填写 Bot ID 和 Secret 即可完成绑定,配置更简单,无需回填 Webhook URL。
钉钉和飞书那两篇给的适用人群描述几乎一模一样:
WebSocket 长连接模式适用于个人/家庭/办公室用户(没有公网 IP)。配置更简单,不需要公网地址,开箱即用。 使用 URL 回调模式适用于有服务器、有公网 IP 的用户,需要额外在平台后台填写生成的 Webhook 地址。
一句话判断:你有没有一个稳定的、可对外访问的地址?没有就选长连接,别犹豫。
本文依据 WorkBuddy 官方平台接入文档(企业微信、钉钉、飞书三篇),核对日 2026-08-16。各平台侧规则以对应平台官方为准。我们没有安装客户端,本文不含实测数据。
一、两种模式横向对比
| 长连接(推荐) | URL 回调 | |
|---|---|---|
| 企业微信要填 | Bot ID + Secret | Token + Encoding-AESKey |
| 钉钉要填 | Client ID + Client Secret | 同上 + 回填 Webhook |
| 飞书要填 | App ID + App Secret + Encrypt Key | 同上 + 回填 Webhook |
| 要不要公网地址 | 不需要 | 需要 |
| 要不要回平台后台回填 | 不需要 | 需要 |
| 官方定位 | 主流程 / 推荐 | 备选方案(企微文档里放在文末) |
| 成功后的状态显示 | 已连接 / Connected | 已注册(钉钉),再回填后才通 |
注意企业微信那一列:两种模式要的凭证完全不同——长连接要 Bot ID + Secret,回调要 Token + Encoding-AESKey。这不是「多填两个」,是两套凭证。选错模式再改,前面拿的凭证白拿。
二、长连接为什么值得优先
理由一:少一整段流程。
URL 回调模式下,你在 WorkBuddy 里点「注册」只是拿到一个 Webhook 地址,还得回平台后台把它填回去。这一段是长连接完全没有的。
以钉钉为例,回填这一段要做五件事:进入机器人配置页面 → 下滑到底部找到消息接收配置 → 把「Stream 模式」切换为「HTTP 模式」 → 粘贴地址 → 把地址中的 http 改为 https(官方专门标了「重要」)→ 点「发布」保存。
理由二:能规避掉一整类故障。
Webhook 相关的坑,官方 FAQ 里就记了好几条,走长连接一条都遇不上:
| 官方记录的故障 | 官方给的做法 |
|---|---|
| 企业微信提示域名主体校验未通过 | 核对地址是否完整、是否与当前配置要求一致;仍不通过保留报错截图提交排查 |
| 飞书提示无法检查链接 | 可能出现在重复输入同一地址之后;重新创建或重新填写一次配置,避免重复输入同一地址 |
| 企业微信 URL 验证失败 | 确保 WorkBuddy 运行中、助理服务已启动、重新复制 Webhook URL 确保没有遗漏或多余字符、Token 与 Encoding-AESKey 完全一致 |
注意企微和飞书这两条方向正好相反:企微让你「核对是不是那个正确地址」,飞书让你「换一个新地址」。配多平台的时候按错了平台的思路走,会越弄越乱。
走长连接,这三条全部不存在。
理由三:协议头那个坑。
钉钉官方专门标了「重要」的那句——把地址中的 http 改为 https——是这条路上最阴的一个。地址是系统生成的,你直接复制粘贴,协议头可能就是 http,平台那边不认,而且不会给你「协议错误」的提示,表现出来就是机器人不回消息。
三、什么情况下才该选 URL 回调
官方给的适用条件是「有服务器、有公网 IP」。企业微信那篇还补了一句更具体的:
如果你已经在使用 Webhook 配置,或因网络、部署限制需要通过 URL 回调接入,可按以下步骤操作。
所以真正该选它的只有三种情况:
- 你已经有一套基于 Webhook 的现有配置,要跟它对齐;
- 你的网络或部署环境限制了长连接;
- 你确实有服务器和公网 IP,并且有理由走这条路。
如果你是「照着某篇教程一路点到了这里」,那多半选错了。 绝大多数个人和小团队用户,从头到尾都不需要公网地址。
四、Slack 这边没有这个选择题
顺带说清楚:Slack 的接入官方直接就走 Socket Mode,没有让你选。
官方原文:该集成使用助理远程控制能力,并通过 Socket Mode 建立连接,无需公网 Webhook 地址。
Telegram 和 Discord 也都是填一个 Token 就完事,不涉及这个岔路口。
所以「长连接 vs URL 回调」这道题,只在企业微信、钉钉、飞书这三个国内企业 IM 上出现。
五、两个模式共同的高频错误
错误一:两边选的模式不一致。
企业微信官方 FAQ 里专门列了这条——机器人没有响应的排查项之一是「核对接入方式:确认企业微信与 WorkBuddy 中选择的是同一种接入方式」。
平台那边选了长连接、WorkBuddy 这边选了 URL 回调,怎么配都不通,而且不会有明确报错。配之前先决定用哪种,两边保持一致。
错误二:凭证带了多余空格。
官方在多个平台的排查里反复提到这件事:
- 企业微信「长连接注册失败」→ 重新复制 Bot ID 和 Secret,避免带入多余空格;
- 企业微信「URL 验证失败」→ 重新复制 Webhook URL,确保没有遗漏或多余字符;
- 元宝派「重要」提示 → 确保 AppID 和 AppSecret 复制完整,避免带入多余空格或遗漏字符。
统一做法:复制后先粘到纯文本编辑器(记事本 / TextEdit)里,看清楚首尾有没有多余的空格或换行,确认干净了再填。首尾空白肉眼完全看不出来,但会让注册直接失败。别在两个网页输入框之间直接来回复制。
六、选完模式之后,别忘了各平台的收尾步骤
模式只是其中一环。三个平台各有各的必做收尾:
- 钉钉:应用必须发布后才能在钉钉中使用(「查看版本详情」→ 填版本描述 →「确认发布」)。注意「发布」这个词在钉钉流程里出现三次:发布机器人能力 ≠ 保存消息接收配置 ≠ 发布应用。
- 飞书:应用必须发布后才能在飞书中使用(「创建版本」→ 填版本号与描述 → 点「发布」);另外还要在「事件与回调」里添加「接收消息」事件和配置「卡片回传交互」回调——这两步跟权限是独立的,漏了就收不到消息。
- 企业微信:公共配置(机器人名称 + 可见范围)要先点底部「保存」,再选接入方式。
七、官方明写的一条前提
不管哪种模式、哪个平台,官方在助理功能说明的「注意事项」里写了:
使用助理时,电脑需要保持开机并运行 Tencent WorkBuddy;确保网络连接正常。
这也是三个平台排查列表里都有的一条。这条链路的终点是你自己那台电脑——关机、休眠、客户端退出,机器人一定不回复,在平台后台里怎么查都查不出来。
它还完美解释「时好时坏」:你在电脑前的时候好好的,人一走电脑睡了就失联。配完测试不通的时候,先看一眼电脑那头是不是活着,三秒钟的事,能省掉一小时。
小结
- 判断只有一句:你有没有稳定的、可对外访问的地址?没有就选长连接。
- 官方对长连接的定位是推荐 / 主流程,URL 回调是备选方案。
- 长连接的三个好处:少一整段回填流程、规避掉 Webhook 那一整类故障(域名主体校验、无法检查链接、URL 验证失败)、避开「http 要改成 https」这个不报错的坑。
- 企业微信两种模式要的是两套不同凭证(Bot ID + Secret vs Token + Encoding-AESKey),选错要重拿。
- 企微与飞书的 Webhook 故障方向相反:企微核对同一地址,飞书换新地址。
- 这道选择题只在企微、钉钉、飞书出现;Slack 直接走 Socket Mode,Telegram / Discord 填一个 Token。
- 两个高频错误:两边模式不一致、凭证带多余空格(先过一道纯文本编辑器)。
- 别忘收尾:钉钉与飞书应用必须发布;飞书还要加「接收消息」事件与「卡片回传交互」回调。
功能与流程以官方为准,各平台侧规则以对应平台官方为准,核对日 2026-08-16。