公式パッケージ · リアルタイムの部品

AI エージェントのための人による承認

エージェントが人の OK が必要なツールを実行しようとすると、その呼び出しはライブ受信箱で待機します。レビュー担当者は承認・編集・却下でき、ほかに誰が見ているかもわかり、エージェントは止まったところから続けます。

  • Vercel AI SDK、Mastra、LangGraph 向けのサーバーヘルパーと、LangGraph と FastAPI 向けの Python パッケージ。
  • React と Vue の受信箱コンポーネント。7 言語、ライトとダークに対応。
  • Filament AI approvals や MCP サーバーの request_approval ツールと同じプロトコルなので、1 つの受信箱ですべてのリクエストを表示できます。

サインインすると、コード例にご自身のクラスターホストが入ります。 サインイン

  1. インストール

    npm install @hibira-io/approvals pusher pusher-js
  2. 設定する

    import Pusher from 'pusher';
    import { createApprovals } from '@hibira-io/approvals';
    
    const pusher = new Pusher({
      appId: process.env.HIBIRA_APP_ID,
      key: process.env.HIBIRA_KEY,
      secret: process.env.HIBIRA_SECRET,
      host: 'ws.hibira.io',
      useTLS: true,
    });
    
    export const approvals = createApprovals({
      pusher,
      scope: 'support',
      resume: async (request) => continueAgent(request), // give the agent its answers
    });
  3. 使う

    import { ApprovalInbox, createApprovalsClient } from '@hibira-io/approvals/react';
    import '@hibira-io/approvals/styles.css';
    
    const client = createApprovalsClient({ endpoint: '/api/approvals', pusher, scope: 'support' });
    
    export function ApprovalsPage({ me }) {
      return <ApprovalInbox client={client} me={me.id} />;
    }

始める前に

  • アプリのシークレットは、アプリの作成時とシークレットのローテーション時に一度だけ表示されます。サーバーにだけ置き、ブラウザやゲームのビルドには入れないでください。
  • approvals.handler() が受信箱のルートとチャンネル認可を提供します。決定は受信箱からバックエンドに送られ、クライアントイベントは使いません。
  • リクエストは既定でメモリに保存されます。本番環境では自分のデータベースを使う store を渡してください。

ダッシュボードのアプリキーを使ってください。シークレットはサーバー側だけに置きます。チャンネル、イベント、認可エンドポイントは Pusher とまったく同じように動作します。 無料でアカウントを作成 →