Skip to content

企业微信机器人(应用)

NOTE

本集成属于「应用类机器人」。在企业微信中,机器人通过自建应用实现——你需要先在企业微信管理后台创建一个自建应用,然后配置消息接收回调,从而赋予该应用 AI 智能问答能力。

与"智能机器人"相比,企业微信机器人基于标准的自建应用体系,拥有更丰富的权限控制和消息类型支持。它通过 XML 协议的回调通知接收用户消息,并借助应用消息 API 回复。

推荐场景

  • 企业级 AI 助手:作为内部员工的统一 AI 入口,直接在企业微信应用中对话。
  • 知识库问答:员工在企微中随时查询企业内部知识(产品手册、规章制度、FAQ 等)。
  • 工单分派:与内部系统集成,接受用户咨询后自动分派工单。

与其他企微机器人模式的区别

特性应用机器人 (wecom-app)智能机器人 (wecom-smart)客服 (wecom-kefu)
消息协议XMLJSONXML
需要 AgentId
需要 Secret
适用对象企业内部员工企业内部员工 / 群聊外部微信用户
流式回复❌ (一次性回复)✅ (WebSocket 长连接 Stream)❌ (一次性回复)
API 发送消息message/send✅ (WebSocket 长连接推送)kf/send_msg

1. 企业微信管理后台配置

1.1 创建自建应用

  1. 登录 企业微信管理后台
  2. 进入 "应用管理" -> "自建"
  3. 点击 "创建应用"
    • 填写应用名称(如「CatWiki AI 助手」)。
    • 上传应用 Logo。
    • 设置可见范围(选择哪些部门/人员可以使用此机器人)。 创建自建应用
  4. 创建完成后,记录以下信息:
    • AgentId:应用详情页中可以看到。
    • Secret:应用详情页中点击查看。 应用详情

1.2 获取企业 CorpID

  1. 在管理后台首页 -> "我的企业" 底部可以找到 企业 ID (CorpID)

1.3 配置接收消息

  1. 进入您刚创建的应用详情页。
  2. 找到 "接收消息" 部分,点击 "设置 API 接收"
  3. URL 配置
    • 填入 CatWiki 提供的 Webhook 地址。
    • 格式为:https://您的域名/v1/bot/wecom-app?site_id={site_id}
    • 注意:请将 {site_id} 替换为您在 CatWiki 后台的实际站点 ID。
    • 该地址必须能够从公网访问且支持 HTTPS。
  4. 获取凭据
    • 记录下 TokenEncodingAESKey(或点击随机生成,并记录下来)。
  5. ⚠️ 暂不点击保存! 先将获取到的全部参数填入 CatWiki 后台并启动服务(参考下方步骤 2),只有 CatWiki 后端加载了你的 Token 和 AES Key 后,再回到这里点击“保存”,才能通过企业微信的 URL 签名机制连通性测试。 设置API接收-1设置API接收-2

1.4 配置企业可信 IP

  1. 在应用详情页底部,找到 "开发者工具" 部分。
  2. 点击 "企业可信IP"
  3. 在弹出框中填入 CatWiki 服务器的 公网出口 IP 地址
    • 提示:若不配置可信 IP,企业微信将拒绝来自该服务器的 API 调用请求,导致机器人无法回复。配置企业可信IP

2. CatWiki 后台配置与打通验证

  1. 保持企微后台页面不关,开个新标签页进入 CatWiki 后台 "站点设置" -> "AI 机器人"AI机器人集成
  2. 选中 "企业微信机器人" 卡片,开启开关。
  3. 填入配置
    • CorpID:填入企业 ID。
    • AgentID:填入自建应用的 AgentId。
    • Secret:填入自建应用的 Secret。
    • Token:填入"接收消息"中生成的 Token。
    • EncodingAESKey:填入"接收消息"中生成的 EncodingAESKey。 企业微信机器人配置
  4. 点击界面上的 "保存"
  5. 打通验证:现在切回企业微信管理后台的 “设置 API 接收” 页面,点击 “保存”,提示验证成功即可!

3. 技术特性

  • 流式回复:❌ 不支持 (受限于企业微信官方 message/send API 机制限制,此时系统默认开启非流式调用,以进一步提升大模型的返回速度)。
  • 消息格式:采用 XML 加解密协议接收和解析消息。
  • 去重保护:基于 MsgId 的 OrderedDict 去重,TTL 600 秒,防止企业微信重试回调导致重复回答。
  • Token 缓存:Access Token 自动缓存,提前 5 分钟刷新,避免频繁请求 Token 接口。
  • 并发控制:接入 RobotOrchestrator 全局任务锁,同一用户同时只有一个 AI 推理任务在运行。