コンテンツにスキップ
Subako Docs
日本語
Esc
↑↓移動↵開く⌘Jプレビュー
このページの内容

SDK

TypeScript と Python の SDK。

このドキュメントに出てくる curl の呼び出しは、どれも自分で送れる普通の HTTP リクエストです。SDK は同じ Core API を、手間のかかる部分を実装済みの形で提供します。最後に受け取ったシーケンス番号から再開するストリーム、Agent が皆さんのコードに回した Tool の呼び出しに応答するクライアント、すべての Event の型がそろっています。

TypeScript

npm install @subako-ai/sdk

サーバーでは Node 22 以降が必要です。同じパッケージがブラウザーでも動作します。ESM 専用で、ランタイムの依存関係はありません。Subako のコンソールもこの SDK で作られています。

クライアントは、使う Credential によって 2 つに分かれています。API key を持って Session を作成するバックエンド用のクライアントと、Session token を持って Session 内の操作をすべて行うブラウザー用のクライアントです。それぞれが呼び出せるルートは型で決まっているため、API key がうっかりページのコードに入り込むことはありません。

Session の接続は、ログを読み込んでストリームを開き、その両方を最新に保ちます。接続が切れても自動で再接続し、中断したところから再開します。レンダラーには 1 つのイミュータブルなスナップショットが渡され、そこに Event、トランスクリプト、対応を待っている承認やフォームがまとまっています。

パッケージ 内容
@subako-ai/sdk クライアント本体。Session、ストリーミング、Tool、エラー、ページネーション。
@subako-ai/react Session の接続を扱う Provider と hook。
@subako-ai/tools ページを操作する既製の Tool。フォームの入力と送信、ページ遷移。
@subako-ai/assistant-ui Session の上でそのまま動くチャット、または独自のスレッドに組み込むためのランタイム。
@subako-ai/react-hook-form react-hook-form をフォーム Tool の仕様として使います。
@subako-ai/react-router React Router をナビゲーション Tool の仕様として使います。
@subako-ai/tanstack-router TanStack Router をナビゲーション Tool の仕様として使います。

すべてのパッケージは Apache-2.0 ライセンスで、バージョンはそろえて管理されています。TypeScript SDK のドキュメント には、クイックスタート、リファレンス、バックエンドがブラウザー向けにトークンを発行する実例があります。

Python

uv add subako
pip install subako

Python 3.12 以降が必要です。クライアントは非同期専用で、バックエンド、ジョブ、ワーカーでの利用を想定しています。

機能の範囲は TypeScript SDK と同じです。リソースごとの名前空間、型付きのエラー、カーソルによるページネーション、自動で再接続する Session の接続、プロセス内の関数を Tool として Session に提供する Tool クライアントがあります。二重に実行したくない呼び出しは冪等性キーで保護されます。PyPI の subako に、インストール方法と、バックエンドとフロントエンドを組み合わせた例があります。

このページは役に立ちましたか?