@xpert-ai/plugin-wecom 提供两类集成:
默认推荐使用 企业微信-长连接(
wecom_long)。只有在已经具备稳定公网回调地址,或需要兼容短连接部署时,再使用 企业微信-短连接(wecom)。同一个企业微信机器人在企业微信后台通常也只能选择一种接入方式:短连接依赖回调地址,长连接依赖 WebSocket。
一、短连接配置
短连接使用企业微信的回调地址接收消息。企业微信会向 Xpert AI 的 Callback URL 发起 URL 校验和消息推送。准备企业微信配置
- 登录 企业微信管理后台。
- 进入需要接入的应用或 API 模式机器人配置页面。
- 启用消息接收或 API 回调能力。
- 记录或生成:
- Token
- EncodingAESKey
- 确认 Xpert AI API 服务有公网 HTTPS 地址,并能被企业微信访问。
在 Xpert AI 创建短连接集成
进入 设置 -> 系统集成,创建提供方为 企业微信-短连接 的集成。
保存或测试后,系统会返回回调地址:
msg_signature、timestamp、nonce、echostr 与集成中的 Token、EncodingAESKey 完成验签和解密。
短连接回调检查
若只想确认回调路由可达,可以访问:success,表示 Xpert API 路由和集成 ID 可读取;正式 URL 校验仍以企业微信携带的签名参数为准。
二、长连接配置
长连接使用企业微信智能机器人 API 模式。Xpert AI 服务端主动连接企业微信 WebSocket 地址,因此不需要公网 Callback URL。 企业微信长连接地址为:准备企业微信机器人
- 登录企业微信管理后台。
- 进入 安全与管理 -> 管理工具 -> 智能机器人。
- 创建机器人时选择 API 模式,并将接入方式设置为 长连接。
- 记录:
- Bot ID
- Secret
- 确认 Xpert AI 服务端可以出站访问
wss://openws.work.weixin.qq.com。
在 Xpert AI 创建长连接集成
进入 设置 -> 系统集成,创建提供方为 企业微信-长连接 的集成。
保存长连接集成后,插件会尝试根据当前状态同步连接。但长连接只有在集成启用、配置有效,并且已绑定到发布后的企业微信触发器时才会持续运行。未绑定触发器时,系统会停止连接并标记为
xpert_unbound。
三、绑定数字专家
无论短连接还是长连接,保存集成都不等于机器人可用。还需要:- 打开目标数字专家工作流。
- 添加 企业微信触发器。
- 选择刚创建的企业微信集成。
- 配置会话超时时间和消息汇总时间。
- 发布数字专家工作流。
四、状态与会话管理
企业微信集成详情页提供扩展页签:- 状态:仅长连接集成显示,包含连接方式、状态、Bot ID、持有实例、最近连接/断开/回调/心跳时间、最近错误、重连次数和停止原因。
- 会话:短连接和长连接都显示,包含会话类型、会话 ID、发送者 ID、数字专家 ID、对话 ID 和更新时间。
/new 一致:清空当前企业微信会话与数字专家会话的绑定,下一条消息会开启新会话。
五、消息与回复能力
短连接模式主要依赖企业微信回调中的response_url 回复。长连接模式主要依赖 req_id 和 WebSocket 命令回复。
长连接模式支持更完整的机器人体验:
- 收到用户消息后发送“正在思考”提示;
- 对长回答尽量使用企业微信长连接流式回复;
- 支持更新模板卡片;
- 用户进入单聊时可以发送欢迎卡片;
- 会话失败或需要重置时发送可点击的重置会话卡片;
- 图片回调会下载图片资源并作为数字专家可见文件输入。
常见问题
企业微信提示未绑定触发器
说明企业微信消息已经到达 Xpert AI,但没有找到当前集成的integrationId -> xpertId 绑定。请确认:
- 目标数字专家已添加企业微信触发器;
- 触发器已启用;
- 选择的是当前机器人实际使用的集成;
- 数字专家工作流已发布成功。
短连接 URL 校验失败
检查:API_BASE_URL是否是企业微信可访问的公网 HTTPS 地址;- 反向代理是否转发
/api/wecom/webhook/<integrationId>; - 企业微信后台 Token 与集成中的
回调 Token是否一致; - EncodingAESKey 是否为 43 位且完全一致。
长连接无法建立
检查:- 企业微信后台是否选择 API 模式长连接;
- 是否误用了短连接的 Token/EncodingAESKey;
- Bot ID 和 Secret 是否来自同一个机器人;
- 服务端是否允许访问
wss://openws.work.weixin.qq.com; - 集成是否已绑定到发布后的企业微信触发器。
会话上下文不符合预期
可以让用户发送/new 开启新会话,也可以在集成详情页的会话列表中重置指定会话。如果用户经常连续发送多条短消息,可以在企业微信触发器中增大 summaryWindowSeconds。