渠道与分发
将智能体接入多种消息渠道 — 飞书、微信、Webhook 和路由规则。
渠道与分发
渠道系统使智能体能够通过飞书、微信等消息平台直接与用户交互。每个渠道通过 Webhook 或长连接接收消息,经路由引擎分发给对应的智能体处理,再将回复投递回原渠道。
架构概览
外部消息平台(飞书/微信/自定义)
↓ Webhook / 长连接
渠道适配器(Channel Adapter)
↓ 解析为统一消息格式
路由引擎(Routing Engine)
↓ 按规则匹配智能体
智能体运行时(Agent Runtime)
↓ 生成回复
投递适配器(Delivery Adapter)
↓ 转换为平台格式
外部消息平台支持的渠道类型
飞书 / Lark 机器人
| 配置项 | 说明 |
|---|---|
| App ID | 飞书开放平台应用 ID |
| App Secret | 应用密钥 |
| Verification Token | 事件订阅验证 Token |
| Encrypt Key | 事件加密密钥(可选) |
接入流程:
- 在飞书开放平台创建企业自建应用
- 开启机器人能力,配置事件订阅地址为
https://your-domain/api/webhook/feishu/:channelId - 在 Tensor Agent 管理面板创建飞书渠道,填入应用凭证
- 配置路由规则,将消息分发到目标智能体
支持 Webhook 和长连接两种模式。长连接模式下无需公网回调地址。
微信小程序
| 配置项 | 说明 |
|---|---|
| App ID | 微信小程序 App ID |
| App Secret | 小程序密钥 |
| Verification Token | 消息推送验证 Token |
接入流程:
- 在微信公众平台配置服务器地址为
https://your-domain/api/webhook/wechat_mp/:channelId - 在 Tensor Agent 管理面板创建微信小程序渠道
- 微信平台发送验证请求时,系统自动完成 SHA1 签名校验
- 配置路由规则
系统还提供独立的微信小程序登录接口 (/api/wechat/login),支持通过 code 换取 openid 并签发会话 Token。
通用 Webhook
适用于自建系统或第三方平台对接:
| 配置项 | 说明 |
|---|---|
| Verification Token | 用于验证 Webhook 来源(可选) |
Webhook 地址格式:
POST https://your-domain/api/webhook/:channelType/:channelId渠道适配器负责解析请求体、验证签名、提取消息内容,并将回复格式化为目标平台需要的格式。
渠道路由引擎
路由引擎根据配置的规则,将接收到的消息分发给对应的智能体。
路由规则
每条路由规则包含以下字段:
| 字段 | 类型 | 说明 |
|---|---|---|
channelId | string | 关联的渠道 ID |
agentId | string | 目标智能体 ID |
matchType | string | 匹配方式 |
matchPattern | string | 匹配模式 |
priority | number | 优先级(数值越大越优先) |
isEnabled | boolean | 是否启用 |
匹配方式
| 匹配方式 | 说明 | 示例 |
|---|---|---|
default | 默认规则,无条件匹配 | 兜底路由 |
keyword | 关键词匹配 | 消息包含"订单"时路由到订单助手 |
regex | 正则表达式匹配 | ^/help 匹配以 /help 开头的消息 |
chat_id | 按会话 ID 匹配 | 特定群聊固定使用某个智能体 |
sender | 按发送者匹配 | 特定用户的消息路由到专属智能体 |
路由优先级
当一条消息匹配多个规则时,按 priority 降序选择第一条匹配的规则。建议将 default 规则的优先级设为 0,特定规则设为更高值。
投递适配器
智能体生成回复后,投递适配器负责将回复转换为目标平台的消息格式并发送:
- 飞书 — 通过飞书 Open API 发送消息,支持文本和富文本
- 微信小程序 — 通过客服消息接口发送回复
- Webhook — 将回复以 JSON 格式 POST 到配置的回调地址
REST API
渠道管理
列出渠道:
GET /api/channels?unitId=xxx可选传入 unitId 过滤特定组织单元的渠道。
创建渠道:
POST /api/channels{
"type": "feishu",
"name": "飞书客服机器人",
"config": {
"appId": "cli_xxx",
"appSecret": "xxx",
"verificationToken": "xxx"
},
"connectionMode": "webhook"
}connectionMode 可选 webhook(默认)或 long-connection。
更新渠道:
PATCH /api/channels/:id删除渠道:
DELETE /api/channels/:id删除渠道时会自动清理关联的路由规则。
路由规则管理
列出规则:
GET /api/routing-rules?agentId=xxx创建规则:
POST /api/routing-rules{
"channelId": "ch-1",
"agentId": "agent-1",
"matchType": "keyword",
"matchPattern": "订单",
"priority": 10,
"isEnabled": true
}更新规则:
PATCH /api/routing-rules/:id删除规则:
DELETE /api/routing-rules/:idWebhook 签名校验
对于微信渠道,系统自动处理 GET 请求的签名验证:
- 收到
signature、timestamp、nonce、echostr参数 - 将
verificationToken、timestamp、nonce字典序排列后拼接 - 计算 SHA1 哈希与
signature比对 - 校验通过后返回
echostr完成接入
对于飞书渠道,适配器内置了 Challenge 验证和事件签名校验。
所有 POST 请求的 Webhook 消息在处理前均经过渠道适配器的 verifyWebhook 方法验证,确保消息来源可信。