Skip to content

构建集成

Triggerfish 设计为可扩展的。无论您是想连接新的数据源、自动化工作流、赋予智能体新技能,还是响应外部事件,都有明确定义的集成路径——而且每条路径都遵循相同的安全模型。

集成路径

Triggerfish 提供五种不同的方式来扩展平台。每种方式服务于不同的目的,但都共享相同的安全保证:分级执行、污染追踪、策略钩子和完整的审计日志。

路径用途最适合
MCP Gateway连接外部工具服务器通过 Model Context Protocol 标准化的智能体到工具通信
Plugin SDK运行沙箱化的自定义代码对外部系统的 CRUD 操作、复杂数据转换、工作流
执行环境智能体编写并运行自己的代码构建集成、原型制作、测试和在反馈循环中迭代
技能通过指令赋予智能体新能力可重用行为、社区市场、智能体自主创作
浏览器自动化通过 CDP 控制浏览器实例Web 研究、表单填写、抓取、自动化 Web 工作流
Webhooks接收来自外部服务的入站事件对邮件、警报、CI/CD 事件、日历变更的实时响应
GitHub完整的 GitHub 工作流集成PR 审查循环、问题分类、通过 webhook + 执行 + 技能进行分支管理
Google Workspace连接 Gmail、日历、任务、云端硬盘、表格内置 OAuth2 集成,包含 14 个 Google Workspace 工具
Obsidian读取、写入和搜索 Obsidian 库笔记带有文件夹映射的分级门控笔记访问、维基链接、每日笔记

安全模型

每个集成——无论通过哪条路径——都在相同的安全约束下运行。

一切从 UNTRUSTED 开始

新的 MCP 服务器、plugin、渠道和 webhook 来源都默认为 UNTRUSTED 状态。在所有者(个人层级)或管理员(企业层级)明确分级之前,它们不能与智能体交换数据。

UNTRUSTED  -->  CLASSIFIED  (审核后,分配分级级别)
UNTRUSTED  -->  BLOCKED     (明确禁止)

分级贯穿始终

当集成返回数据时,该数据携带分级级别。访问已分级数据会将会话污染升级为匹配级别。一旦被污染,会话就不能输出到分级更低的目的地。这就是禁止降级写入规则——它是固定的,不能被覆盖。

策略钩子在每个边界执行

所有集成操作都通过确定性策略钩子:

钩子触发时机
PRE_CONTEXT_INJECTION外部数据进入智能体上下文(webhook、plugin 响应)
PRE_TOOL_CALL智能体请求工具调用(MCP、执行、浏览器)
POST_TOOL_RESPONSE工具返回数据(分级响应、更新污染)
PRE_OUTPUT响应离开系统(最终分级检查)

这些钩子是纯函数——没有 LLM 调用,没有随机性,没有绕过。相同的输入始终产生相同的决策。

审计追踪

每个集成操作都被记录:调用了什么、谁调用的、策略决策是什么、以及会话污染如何变化。该审计追踪是不可变的,可用于合规审查。

安全 LLM 无法绕过、修改或影响策略钩子的决策。钩子在 LLM 层以下的代码中运行。AI 请求操作——策略层做出决策。 :::

选择正确的路径

使用此决策指南选择适合您用例的集成路径:

  • 您想连接标准工具服务器——使用 MCP Gateway。如果工具支持 MCP,这就是正确的路径。
  • 您需要对外部 API 运行自定义代码——使用 Plugin SDK。Plugin 在双重沙箱中运行,具有严格隔离。
  • 您希望智能体构建和迭代代码——使用执行环境。智能体获得一个具有完整写入/运行/修复循环的工作区。
  • 您想教智能体新行为——使用技能。编写带有指令的 SKILL.md,或让智能体自主创作。
  • 您需要自动化 Web 交互——使用浏览器自动化。通过 CDP 控制的 Chromium,带有域策略执行。
  • 您需要实时响应外部事件——使用 Webhooks。入站事件经过验证、分级并路由到智能体。

这些路径不是互斥的。一个技能可能在内部使用浏览器自动化。一个 plugin 可能由 webhook 触发。智能体在执行环境中编写的集成可以持久化为技能。它们自然组合。 :::