1 ポイント 投稿者 ragingwind 1 시간 전 | まだコメントはありません。 | WhatsAppで共有

このプロジェクトは、ユーザーのコンピューターにすでにインストールされている複数のコーディングエージェント(Claude Code、Codex、Cursor、GitHub Copilot、Gemini CLI、OpenCode、Factory Droid、Pi)を子プロセスとして起動し、Vercel AI SDK の LanguageModelV3 インターフェースの背後に隠してくれるアダプターライブラリです。通信は公開仕様である Agent Client Protocol(ACP)にそのまま従い、標準入出力上で NDJSON により JSON-RPC メッセージをやり取りします。pnpm モノレポ構成で、ライブラリ本体に加えて、決定的な ACP フィクスチャと WebSocket ブリッジを備えたデモ・テスト環境が別ワークスペースとして分離されています。

  • 相互運用設計: 独自プロトコルを作らず ACP 標準をそのまま使っており、Cursor、Copilot、Gemini、OpenCode、Droid、Pi のように ACP を直接話す CLI はそのまま接続でき、Claude Code と Codex はそれぞれの変換パッケージを経由して同じインターフェースに取り込まれます。仕様にない独自 ACP 実装は、カスタムアダプターの形で差し込めます。
  • AI SDK 統合方式: 呼び出しごとに子プロセスを新しく起動する使い切りモードと、一度起動した子プロセスと ACP セッションを維持して次の呼び出しまで会話メモリを保持するセッションモードを、同じモデルインターフェースで公開します。セッションオブジェクトは AsyncDisposable を実装しているため、await using 構文でリソース解放を強制でき、マルチターン対話でもリークなく閉じるフローを強制できます。
  • 子プロセス運用ポリシー: 標準エラーは一定サイズの末尾部分だけを保持して異常終了時の診断に使い、標準出力に漏れ出た非 NDJSON 行はノイズとして分離して標準エラーチャネルへ移します。終了段階では SIGTERM を送った後、デフォルト 2 秒の猶予を置いて SIGKILL を送出し、すでに終了した状態での入力試行は別エラーとして区別します。デフォルト 3 分の非アクティブ・ウォッチドッグ、認証失敗と使用量上限超過のためのテキストパターン認識、ACP が定義する認証要求・メソッド未定義のレスポンスコード対応も含まれています。
  • 権限と機能ネゴシエーション: 権限ポリシーは auto-allowauto-allow-onceauto-rejectstream の 4 つのプリセットに加え、権限要求を直接受けて応答を生成する関数形式まで許容します。ファイルシステム、ターミナル、追加作業ディレクトリといった選択機能は、ホストがハンドラーを提供する場合にのみ ACP capability として告知されるため、権限サーフェスを狭めます。告知されていない機能を呼び出した場合や、capability に合わないプロンプト内容が入った場合は、それぞれ異なる種類のエラーで拒否されます。
  • エラー分類体系: 16 種類のエラーが 1 つの上位クラスの下に階層化されており、タグフィールドで種類を判別できるため、呼び出し側でリトライポリシーを分岐しやすくなっています。異常終了エラーは終了コード・シグナルとともに、標準エラーの末尾の一部をメッセージに含めて事後診断を助けます。
  • テスト構成: 初期化、権限、キャンセル、同時セッション、ワイヤファズ、認証リトライ、ウォッチドッグ、標準エラー上の致命的シグナル検知、外部 SDK アップグレード互換性など 27 領域をそれぞれ отдельный テストファイルとして扱っています。モックエージェントモジュールはライブラリの別エントリーポイントとして公開されており、利用側コードでも決定的フィクスチャをそのまま使えます。また、デモ環境のエコーエージェントは重い LLM CLI なしで通信パイプライン全体を実際の子プロセスで検証できるよう設計されています。
  • 現在の段階: ルートとパッケージの両方でバージョンは 0.0.1 であり、最近のコミットも同じバージョンを繰り返しているため、公開 npm 配布直前の整備段階に見えます。peer として ai@^6.0.0 を指定しており、Node 22 以上、pnpm 8 以上を要求します。

要するに spawn-agent は新しいエージェントフレームワークではなく、すでに定着した ACP 標準と散在するコーディング CLI 資産の上に、運用ポリシーを厚くかぶせた実務向けアダプターです。権限ゲート、非アクティブ・ウォッチドッグ、終了猶予、capability ネゴシエーション、タグベースのエラー分類といった要素が一箇所に集約されており、AI SDK ユーザーに馴染みのあるモデルインターフェースでそれらすべてを公開する点に実用的な価値があるようです。

まだコメントはありません。

まだコメントはありません。