Skip to content

多渠道概览

Triggerfish 连接您现有的消息平台。您可以在任何已使用的渠道上与智能体对话——终端、Telegram、Slack、Discord、WhatsApp、网页小组件或电子邮件。每个渠道都有独立的分级级别、所有者身份验证和策略执行。

渠道的工作原理

每个渠道适配器都实现相同的接口:connectdisconnectsendonMessagestatus渠道路由器位于所有适配器之上,负责消息分发、分级检查和重试逻辑。

渠道路由器:所有渠道适配器通过中央分级网关流向 Gateway 服务器

当消息通过任何渠道到达时,路由器会:

  1. 使用代码级身份检查识别发送者(所有者或外部用户)——而非 LLM 解释
  2. 使用渠道的分级级别标记消息
  3. 将消息转发给策略引擎执行
  4. 将智能体的响应通过同一渠道路由回去

渠道分级

每个渠道都有一个默认分级级别,决定哪些数据可以通过该渠道流转。策略引擎执行禁止降级写入规则:给定分级级别的数据永远不能流向分级更低的渠道。

渠道默认分级所有者检测方式
CLIINTERNAL始终为所有者(终端用户)
TelegramINTERNALTelegram 用户 ID 匹配
SignalPUBLIC永不为所有者(适配器即手机)
SlackPUBLIC通过 OAuth 的 Slack 用户 ID
DiscordPUBLICDiscord 用户 ID 匹配
WhatsAppPUBLIC手机号码匹配
WebChatPUBLIC永不为所有者(访客)
EmailCONFIDENTIAL电子邮件地址匹配

完全可配置 所有分级都可在 triggerfish.yaml 中配置。您可以根据安全需求将任何渠道设置为任何分级级别。

yaml
channels:
  telegram:
    classification: CONFIDENTIAL
  slack:
    classification: INTERNAL

有效分级

任何消息的有效分级是渠道分级和接收方分级的最小值

渠道级别接收方级别有效级别
INTERNALINTERNALINTERNAL
INTERNALEXTERNALPUBLIC
CONFIDENTIALINTERNALINTERNAL
CONFIDENTIALEXTERNALPUBLIC

这意味着即使渠道被分级为 CONFIDENTIAL,通过该渠道发送给外部接收者的消息也会被视为 PUBLIC

渠道状态

渠道在以下状态之间转换:

  • UNTRUSTED——新的或未知的渠道从此状态开始。没有数据流入或流出。在您对其进行分级之前,渠道完全隔离。
  • CLASSIFIED——渠道已分配分级级别并处于活动状态。消息按照策略规则流转。
  • BLOCKED——渠道已被显式禁用。不处理任何消息。

UNTRUSTED 渠道 UNTRUSTED 渠道不能从智能体接收任何数据,也不能向智能体的上下文发送数据。这是一个硬安全边界,而非建议。 :::

渠道路由器

渠道路由器管理所有已注册的适配器并提供:

  • 适配器注册——按渠道 ID 注册和注销渠道适配器
  • 消息分发——将出站消息路由到正确的适配器
  • 指数退避重试——失败的发送最多重试 3 次,延迟递增(1 秒、2 秒、4 秒)
  • 批量操作——connectAll()disconnectAll() 用于生命周期管理
yaml
# 路由器重试行为可配置
router:
  maxRetries: 3
  baseDelay: 1000 # 毫秒

Ripple:输入指示和在线状态

Triggerfish 在支持的渠道之间中继输入指示和在线状态。这称为 Ripple

渠道输入指示已读回执
Telegram发送和接收
Signal发送和接收--
Slack仅发送--
Discord仅发送--
WhatsApp发送和接收
WebChat发送和接收

智能体在线状态:idleonlineawaybusyprocessingspeakingerror

消息分块

各平台有消息长度限制。Triggerfish 会自动将长响应分块以适应每个平台的限制,在换行符或空格处拆分以保持可读性:

渠道最大消息长度
Telegram4,096 个字符
Signal4,000 个字符
Discord2,000 个字符
Slack40,000 个字符
WhatsApp4,096 个字符
WebChat无限制

后续步骤

设置您使用的渠道:

  • CLI——始终可用,无需设置
  • Telegram——通过 @BotFather 创建机器人
  • Signal——通过 signal-cli 守护进程链接
  • Slack——创建支持 Socket Mode 的 Slack 应用
  • Discord——创建 Discord 机器人应用
  • WhatsApp——通过 WhatsApp Business Cloud API 连接
  • WebChat——在您的网站上嵌入聊天小组件
  • Email——通过 IMAP 和 SMTP 中继连接