공식 패키지 · 실시간 구성 요소

AI 에이전트를 위한 사람의 승인

에이전트가 사람의 승인이 필요한 도구를 실행하려 하면 그 호출은 실시간 수신함에서 기다립니다. 검토자는 승인, 수정, 거절할 수 있고 누가 함께 보고 있는지도 보이며, 에이전트는 멈춘 곳에서 이어갑니다.

  • 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
  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와 똑같이 동작합니다. 무료 계정 만들기 →