send()/stream() サイクルになります。API サーフェスは 3 つの概念に縮小されました。
createSession()/resumeSession():会話を開始または継続するsession.send():メッセージを送信するsession.stream():レスポンスを取得する
インストール
Agent SDK 0.2.x は V2 インターフェースを含む最後のバージョンです。パッケージバージョンは 0.2.x から直接 0.3.142 にジャンプしたため、上記の削除バージョンと下記のインストールピンは同じ境界を説明しています。最後の V2 互換リリースをインストールするには、メジャーバージョンとマイナーバージョンをピンしてください。SDK はオプションの依存関係として、プラットフォーム用のネイティブ Claude Code バイナリをバンドルしているため、Claude Code を別途インストールする必要はありません。
クイックスタート
ワンショットプロンプト
セッションを維持する必要がない単純なシングルターンクエリの場合は、unstable_v2_prompt() を使用します。この例は数学の質問を送信し、答えをログに出力します。
基本的なセッション
単一のプロンプトを超えるインタラクションの場合は、セッションを作成します。V2 は送信とストリーミングを個別のステップに分離します。send()はメッセージをディスパッチしますstream()はレスポンスをストリーミングします
await using(TypeScript 5.2 以降)を使用して、ブロックが終了するときにセッションを自動的に閉じます。session.close() を手動で呼び出すこともできます。
マルチターン会話
セッションは複数の交換全体でコンテキストを保持します。会話を続けるには、同じセッションでsend() を再度呼び出します。Claude は前のターンを記憶しています。
この例は数学の質問を尋ねてから、前の答えを参照するフォローアップを尋ねます。
セッションの再開
前のインタラクションからセッション ID がある場合は、後でそれを再開できます。これは長時間実行されるワークフローや、アプリケーションの再起動全体で会話を永続化する必要がある場合に便利です。 この例はセッションを作成し、その ID を保存し、それを閉じてから会話を再開します。クリーンアップ
セッションは手動で閉じるか、await using(自動リソースクリーンアップ用の TypeScript 5.2 以降の機能)を使用して自動的に閉じることができます。古い TypeScript バージョンを使用している場合や互換性の問題が発生した場合は、代わりに手動クリーンアップを使用してください。
自動クリーンアップ(TypeScript 5.2 以降):
API リファレンス
unstable_v2_createSession()
マルチターン会話用の新しいセッションを作成します。
unstable_v2_resumeSession()
ID で既存のセッションを再開します。
unstable_v2_prompt()
シングルターンクエリ用のワンショット便利関数。
SDKSession インターフェース
機能の可用性
V2 セッション API は、すべての V1 機能をサポートしていません。以下は V1 SDK を使用する必要があります。- セッションフォーキング(
forkSessionオプション) - 一部の高度なストリーミング入力パターン
関連項目
- TypeScript SDK リファレンス(V1) - 完全な V1 SDK ドキュメント
- SDK 概要 - 一般的な SDK の概念
- GitHub 上の V2 例 - 動作するコード例