管理后台 AI 配置 渠道接入

渠道接入 IChannelAdapter

外部 IM ↔ 平台 统一消息管线 · 声明式配置 · 多账号 + 绑定路由 · 能力自动降级

已接入渠道 4 渠道账号 7 今日入站 1,204 异常 1
渠道分层L0 内置零资质跨行业(通用 webhook / 邮件 / 站内)· L0.5 共享包多客户共享但有企业资质门槛(群机器人 / 飞书·企微自建应用 / 公众号)· L1 二开高门槛单客户(企微外部群会话存档·付费 License / 垂直 IM)· ❌ 红线个人微信 bot 不内置(封号/合规风险,仅客户侧灰度)。 渠道即插件(@starter/channel-* npm 包 + manifest),按需安装。
L0 内置 底座出厂自带 · 零资质 · 跨行业通用
通用 webhookL0
客户自有系统(ERP/CRM/OA)双向对接 · 签名校验
connected webhook 2 个账号
邮件L0
SMTP/Resend 出站 + 入站解析 · 防自环 · Message-ID 幂等
connected token 1 个账号
站内通知L0
自有端内通知(DB + WebSocket 推送)· 告警/审批触达兜底
connected 内置
L0.5 共享包 多客户共享 · 需企业资质 · 以 npm 插件按需安装
飞书 · 自建应用L0.5
事件订阅 + 消息 API · 双向 · 原生审批卡片
connected oauth 2 个账号
企业微信 · 自建应用L0.5
回调 + 消息 API · AES 加密 · 可信 IP · 审批卡片
connecting oauth 1 个账号
微信群机器人L0.5
群 webhook 仅出站 · 告警/审批通知 · 门槛极低
connected webhook 1 个账号
微信公众号L0.5
客服消息(48h 窗口)+ 模板/订阅通知 · 需认证服务号
disconnected oauth 未配置
L1 行业 / 客户二开 高门槛 · 单客户场景 · 不随底座发布
企微外部群 · 会话存档L1
加密回调 + 付费 License · 群内 @bot 触发 · C 端触达
error archive_license License 已过期
钉钉 · 企业内部应用L1 二开
Stream 模式 / HTTP 回调 · 双向 + 审批卡片 · 按需开发
disconnected token 插件未安装
个人微信 bot❌ 不内置
客户端 Hook / 协议逆向 · 双向但极高合规风险
红线:存在合规、稳定和封号风险——仅可作客户侧内部验证 / 小规模灰度 / 过渡方案,绝不作为产品默认主路径,不内置进底座

渠道配置 · 飞书自建应用 声明式 ChannelConfigField 驱动

表单由渠道元数据 ChannelMeta.configFields[] 动态渲染——新增渠道零 UI 改动,只需补一份配置 schema

appId * type: text
appSecret * type: password
encryptKey type: password
加密方式 type: select
AES-256(推荐)
事件订阅 URL 系统生成 · 粘贴到飞书开放平台
接入指引(ChannelMeta.instructions)
① 飞书开放平台创建企业自建应用,开启机器人能力 → ② 复制 appId / appSecret 填入左侧 → ③ 事件订阅粘贴上方 URL,勾选 im.message.receive_v1 → ④ 发布版本并等待企业管理员审核
connectionType: oauth · 凭证 AES-256-GCM 加密存储,仅脱敏回显

能力降级 renderOutbound 按 ChannelCapability 自动降级

同一条 Agent 富交互回复,按渠道能力声明自动降级渲染——Agent 引擎不感知渠道差异

AgentReply(富交互源消息)
审批请求:运营小王发起退款 ¥1,280 · 订单 #20260729 待您批准
按目标渠道 capabilities 分流渲染
飞书 / 企微 / 钉钉 supportsCard=true
退款审批 · ¥1,280
同意拒绝
原生交互卡片 · 按钮回调直写 ApprovalRequest
微信群机器人 supportsCard=false
【审批】退款 ¥1,280 · 订单 #20260729
👉 处理:https://agent.example.com/a/8821
卡片降级为 文本 + 操作链接 · 该渠道仅支持文本/图片 · 仅出站
降级规则:supportsCard=false → 文本+链接 · supportsImage=false → 文件链接 · outbound_only → 入站不处理 · 超 maxTextLength → 自动分帧 · 防自环铁律:入站识别并丢弃本渠道自身发出的消息回灌(X-Loop / bot 指纹)

多账号 + 绑定路由 (tenantId, channel, accountId) → agentId · 账号级优先,渠道级兜底

渠道账号默认绑定 Agent路由层级今日消息状态操作
飞书 客服号 A acc_kefu 客服 Agent 账号级绑定 486 connected
飞书 内部助手 B acc_internal 内部助手 Agent 账号级绑定 132 connected
飞书 (渠道级兜底) 默认 Agent 渠道级兜底 18 未匹配账号时生效
企微 设计客服号 acc_design 客服 Agent 账号级绑定 connecting
webhook 客户 ERP 系统 acc_erp 订单助手 Agent 账号级绑定 568 connected
会话归属:私聊按发件人、群聊按群 ID(@bot 触发)、邮件按 thread 聚合到 AgentSession · ChannelMessage 携带 accountId 维度

身份映射 IdentityBinding · 渠道身份 ↔ 平台 User ↔ RBAC 角色(外部 IM 不引入新角色)

渠道身份平台用户角色绑定时间状态操作
feishu · ou_8f2a…9c (acc_kefu) 周正谊 USR-10001 OWNER 2026-05-18 已绑定
wecom · WangFang (acc_design) 王芳 USR-10077 MANAGER 2026-06-02 已绑定
email · buyer@globaltrade.com Prospect · Global Trade (线索名单) 访客(名单即权限) 2026-07-11 名单内 · 放行
feishu · ou_77de…21 (acc_kefu) (未映射) 访客 待绑定 · 已发绑定码
未映射兜底:消息触发绑定流(发绑定码 / 管理员手动关联),映射前按"访客"处理或暂存 · 一个平台 User 可绑多个渠道身份(老板既用飞书又用企微)· 名单外消息直接丢弃(等价未授权拒服务)