Skip to content

企业微信 AI Bot

企业微信 AI Bot 使用企业微信的流式API,为用户提供打字机效果的实时对话体验。

为什么选择 AI Bot

AI Bot vs 传统应用

特性AI Bot (推荐)传统应用
响应方式逐字流式显示⚡一次性返回全部
用户体验打字机效果,实时反馈等待时间较长
配置复杂度简单中等

推荐使用 AI Bot 提供更好的用户体验!


前置要求

1. 创建企业微信 AI Bot

登录 企业微信管理后台

  1. 应用管理AI Bot创建 AI Bot
  2. 填写信息:
    • Bot 名称:例如 "智能助手"
    • Bot 简介:功能说明
    • 可见范围:选择使用人员
  3. 创建成功

2. 获取配置参数

在 AI Bot 详情页获取:

参数说明示例
AI Bot ID (aibot_id)Bot 唯一标识aibXXXXXXXXXXXXXXX
Token回调验证Token自定义8-32位字符串
EncodingAESKey消息加解密密钥43位Base64字符串

可选配置

如需获取用户姓名、部门等详细信息,还需配置:

  • 企业ID (corp_id)
  • 企业密钥 (corp_secret)

创建 Application

1. 进入应用管理

Agent System应用管理创建应用

2. 填写基础信息

  • 应用名称wework_aibot_assistant(系统标识符)
  • 显示名称智能助手(用户可见名称)
  • 描述:简要说明功能

3. 选择平台类型

选择:企业微信 (AI Bot) 🤖

4. 选择 Orchestrator

从下拉列表选择已创建的 Orchestrator。

提醒

必须先创建 Orchestrator。如果列表为空,请前往 Orchestrator 教程

5. 配置 AI Bot 参数

必填参数

字段说明
AI Bot ID (aibot_id)从企业微信获取的 Bot ID
回调Token (token)自定义字符串(8-32位)
EncodingAESKey43位加解密密钥

EncodingAESKey 生成

在企业微信后台点击"随机生成"按钮获取43位密钥。

可选参数(用于获取用户信息)

字段说明用途
企业ID (corp_id)企业唯一标识调用API获取用户信息
企业密钥 (corp_secret)应用密钥获取用户姓名、部门等
API地址 (api_base_url)可选,私有化部署时填写默认使用公有云

上下文增强

配置 corp_id 和 corp_secret 后,系统会自动获取用户的姓名、部门等信息,并注入到 Agent 的上下文中,可在系统提示词中使用 {{user_name}}{{user_department}} 等变量。

高级选项

  • 欢迎语:用户首次对话时的开场白
  • 启用流式回复:默认开启,提供打字机效果
  • 启用模板卡片:使用企业微信卡片样式

6. 保存应用

点击创建,系统自动生成回调地址。


配置企业微信

1. 复制回调地址

在应用卡片中找到回调地址,点击复制📋:

https://your-domain.com/api/agent-system/callback/wework-aibot/{application_id}

2. 配置 AI Bot

返回企业微信 AI Bot 详情页:

  1. 回调配置设置回调
  2. 填写:
    • URL:粘贴回调地址
    • Token:与 Sira AI 配置一致
    • EncodingAESKey:与 Sira AI 配置一致
  3. 保存

3. 验证配置

企业微信会发送验证请求:

  • 验证成功:提示"配置成功"
  • 验证失败
    • 检查回调地址是否可公网访问
    • 确认 Token 和密钥一致
    • 查看 Sira AI 后台日志

HTTPS 必需

回调地址必须是 HTTPS 并支持公网访问。


流式响应流程

为什么 AI Bot 走 Redis Stream

企业微信 AI Bot 的回调机制要求:每次刷新调用必须在 5 秒 内返回当前累积内容,否则会断开。 所以 AI Bot 渠道必须把编排器输出实时写到 Redis Stream,由刷新回调按需拉取——而不能直接 SSE 流给企微。

平台另外还有一条更高性能的"直接 yield 模式"(execute_streaming_direct),用于 OpenAI / LangGraph 兼容 API 这类长连接 SSE 客户端,相比 Redis 中转节省约 50% 延迟。两条路径在同一引擎里共存,按调用方自动选择,详见 API Service

消息流转

mermaid
sequenceDiagram
    participant U as 用户
    participant W as 企业微信
    participant S as Sira AI
    participant R as Redis Stream
    participant O as Orchestrator

    U->>W: 发送消息
    W->>S: POST 回调 (加密)
    S->>S: 解密消息
    S->>O: 启动流式执行
    O->>R: 写入流式内容

    loop 流式刷新
        W->>S: 请求刷新 (msgtype=stream)
        S->>R: 读取累积内容
        R-->>S: 返回当前内容
        S->>S: 加密响应
        S-->>W: 返回流式内容
        W-->>U: 逐字显示
    end

    O->>R: 写入 done 标记
    W->>S: 最后一次刷新
    S-->>W: finish=true
    W-->>U: 显示完成

响应格式

初始响应(启动流式)

json
{
  "msgtype": "stream",
  "stream": {
    "id": "session_id",
    "finish": false,
    "content": ""
  }
}

刷新响应(返回累积内容)

json
{
  "msgtype": "stream",
  "stream": {
    "id": "session_id",
    "finish": false,
    "content": "已累积的完整内容..."
  }
}

完成响应

json
{
  "msgtype": "stream",
  "stream": {
    "id": "session_id",
    "finish": true,
    "content": "完整回复内容"
  }
}

测试 AI Bot

1. 添加可见范围

在企业微信 AI Bot 详情页:

  • 可见范围添加成员
  • 将自己添加进去

2. 发送测试消息

在企业微信客户端:

  1. 打开工作台
  2. 找到刚创建的 AI Bot
  3. 发送:"你好"

3. 查看效果

正常情况下,应该看到:

  • AI 回复逐字显示(打字机效果)
  • 流畅的对话体验

4. 调试问题

如无响应,检查:

  • 应用是否激活
  • Orchestrator 和 Agent 是否正常
  • 查看日志:docker compose logs backend | grep "AI Bot"

多模态支持

AI Bot 原生支持图片和文件:

支持的消息类型

  • 文本消息
  • 图片消息(企业微信图片、微盘图片)
  • 文本中的图片链接(自动检测)
  • 混合消息(图文混排)

使用要求

  • Agent 使用支持 Vision 的模型(如 GPT-4o、Claude 3)
  • 查看 多模态文档 了解详情

上下文增强

配置 corp_id 和 corp_secret 后,系统会自动获取用户信息并注入上下文:

可用变量

变量说明示例
{{user_id}}用户IDzhangsan
{{user_name}}用户姓名张三
{{user_department}}所属部门研发部
{{user_position}}职位工程师
{{chat_type}}聊天类型single / group

在系统提示词中使用

markdown
你是企业客服助手。

当前用户信息:
- 姓名:{{user_name}}
- 部门:{{user_department}}
- 职位:{{user_position}}

请根据用户身份提供个性化服务。

详见 模板变量文档


常见问题

回调验证失败

排查

  1. 回调地址是否支持 HTTPS
  2. Token 和 EncodingAESKey 是否一致(注意43位长度)
  3. 查看日志:docker compose logs backend | grep "AI Bot回调验证"

消息无响应

排查

  1. 应用是否激活
  2. Orchestrator 是否正确配置
  3. Agent 的 LLM 模型是否正常
  4. 查看流式执行日志

流式显示不正常

可能原因

  • 网络延迟导致刷新间隔过长
  • Redis Stream 未正确写入
  • 企业微信客户端版本过低

解决

  • 检查网络连接
  • 查看 Redis 日志
  • 升级企业微信客户端至最新版

图片消息无法识别

排查

  • 确认 Agent 使用的模型支持 Vision(如 GPT-4o)
  • 检查图片是否可访问(企业微信图片需要通过 media_id 下载)
  • 查看 多模态文档

下一步


相关文档

Apache-2.0 Licensed