公式パッケージ · リアルタイムの部品
AI エージェントのための人による承認
エージェントが人の OK が必要なツールを実行しようとすると、その呼び出しはライブ受信箱で待機します。レビュー担当者は承認・編集・却下でき、ほかに誰が見ているかもわかり、エージェントは止まったところから続けます。
@hibira-io/approvalsnpm ↗GitHub ↗PyPI ↗
- Vercel AI SDK、Mastra、LangGraph 向けのサーバーヘルパーと、LangGraph と FastAPI 向けの Python パッケージ。
- React と Vue の受信箱コンポーネント。7 言語、ライトとダークに対応。
- Filament AI approvals や MCP サーバーの request_approval ツールと同じプロトコルなので、1 つの受信箱ですべてのリクエストを表示できます。
サインインすると、コード例にご自身のクラスターホストが入ります。 サインイン
インストール
npm install @hibira-io/approvals pusher pusher-js設定する
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 });使う
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 とまったく同じように動作します。 無料でアカウントを作成 →