Skip to content

インテグレーションの構築

Triggerfishは拡張性を考慮して設計されています。新しいデータソースを接続したり、ワークフローを自動化したり、 エージェントに新しいスキルを付与したり、外部イベントに反応したりする場合でも、明確に定義された インテグレーションパスがあります。そしてすべてのパスは同じセキュリティモデルに従います。

インテグレーションパス

Triggerfishにはプラットフォームを拡張するための5つの異なる方法があります。それぞれ異なる目的を 持ちますが、すべて同じセキュリティ保証を共有します:分類の強制、Taint追跡、ポリシーフック、 完全な監査ログです。

パス目的最適なユースケース
MCP Gateway外部ツールサーバーの接続Model Context Protocolを介した標準的なエージェント-ツール通信
プラグインカスタムツールでエージェントを拡張エージェントが構築したインテグレーション、APIコネクター、外部システムクエリ、ワークフロー
Exec環境エージェントが自身のコードを書いて実行するインテグレーションの構築、プロトタイピング、テスト、フィードバックループでの反復
スキル指示によりエージェントに新しい能力を与える再利用可能な動作、コミュニティマーケットプレイス、エージェントによる自己作成
ブラウザ自動化CDPを介してブラウザインスタンスを制御するウェブリサーチ、フォーム入力、スクレイピング、自動化されたウェブワークフロー
Webhook外部サービスからのインバウンドイベントを受信メール、アラート、CI/CDイベント、カレンダー変更へのリアルタイム反応
GitHub完全なGitHubワークフローインテグレーションPRレビューループ、課題トリアージ、Webhook + exec + スキルによるブランチ管理
Google WorkspaceGmail、カレンダー、タスク、ドライブ、スプレッドシートを接続OAuth2インテグレーション、Google Workspace用14ツール
ObsidianObsidianボルトのノートを読み書き・検索フォルダマッピング、wikiリンク、デイリーノートを伴う分類ゲート付きノートアクセス

セキュリティモデル

すべてのインテグレーションは、パスに関わらず、同じセキュリティ制約の下で動作します。

すべてはUNTRUSTEDから始まる

新しいMCPサーバー、プラグイン、チャンネル、WebhookソースはすべてデフォルトでUNTRUSTED状態に なります。オーナー(パーソナルプラン)またはアドミン(エンタープライズプラン)が明示的に分類するまで、 エージェントとデータを交換できません。

UNTRUSTED  -->  CLASSIFIED  (レビュー後、分類レベルが割り当てられる)
UNTRUSTED  -->  BLOCKED     (明示的に禁止される)

分類はデータとともに流れる

インテグレーションがデータを返すと、そのデータは分類レベルを持ちます。分類されたデータにアクセスすると、 セッションのTaintはそのレベルに合わせてエスカレートします。一度Taintが付くと、セッションは より低い分類のデスティネーションには出力できません。これがNo Write-Downルールです — 固定されており、オーバーライドできません。

ポリシーフックはすべての境界で強制される

すべてのインテグレーションアクションは確定的なポリシーフックを通過します:

フック発火するタイミング
PRE_CONTEXT_INJECTION外部データがエージェントコンテキストに入るとき(Webhook、プラグインレスポンス)
PRE_TOOL_CALLエージェントがツール呼び出しを要求するとき(MCP、exec、ブラウザ)
POST_TOOL_RESPONSEツールがデータを返すとき(レスポンスを分類し、Taintを更新)
PRE_OUTPUTレスポンスがシステムから出るとき(最終的な分類チェック)

これらのフックは純粋関数です — LLM呼び出しなし、ランダム性なし、バイパスなし。 同じ入力は常に同じ決定を生成します。

監査証跡

すべてのインテグレーションアクションが記録されます:何が呼び出されたか、誰が呼び出したか、 ポリシーの決定は何だったか、セッションのTaintがどのように変わったか。この監査証跡は 不変であり、コンプライアンスレビューのために利用できます。

SECURITY LLMはポリシーフックの決定をバイパス、修正、または影響させることはできません。

フックはLLMレイヤーの下のコードで実行されます。AIはアクションを要求します — ポリシーレイヤーが 決定します。 :::

適切なパスの選択

このデシジョンガイドを使用して、ユースケースに合ったインテグレーションパスを選択してください:

  • 標準のツールサーバーに接続したいMCP Gatewayを使用してください。 ツールがMCPを話せるなら、これがそのパスです。
  • 外部APIに対してカスタムコードを実行する必要があるプラグインを使用してください。 エージェントはランタイム時にプラグインを構築、スキャン、ロードできます。 プラグインはセキュリティスキャンとともにサンドボックス化されて実行されます。
  • エージェントにコードを構築・反復させたいExec環境を使用してください。 エージェントは完全なwrite/run/fixループを持つワークスペースを得ます。
  • エージェントに新しい動作を教えたいスキルを使用してください。 SKILL.mdに指示を書くか、エージェント自身に書かせましょう。
  • ウェブインタラクションを自動化する必要があるブラウザ自動化を使用してください。 ドメインポリシーの強制付きCDP制御Chromiumです。
  • 外部イベントにリアルタイムで反応する必要があるWebhookを使用してください。 インバウンドイベントが検証、分類され、エージェントにルーティングされます。

これらのパスは互いに排他的ではありません。スキルは内部的にブラウザ自動化を使用するかもしれません。

プラグインはWebhookによってトリガーされるかもしれません。exec環境でエージェントが作成した インテグレーションはスキルとして永続化できます。自然に組み合わせられます。 :::