このページでは、Devin Desktop で動作するカスタム ACP エージェントを構築するために必要な実装について説明します。 プロトコルの完全な仕様については、agentclientprotocol.comを参照してください。公式クライアントライブラリは、Rust、TypeScript、Python、Kotlin、Javaで利用できます。Documentation Index
Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
Use this file to discover all available pages before exploring further.
基本
実装が必要なメソッド
initialize— プロトコルバージョンをネゴシエートし、エージェントの対応機能を通知して、エージェント情報 (名前、バージョン) を返します。session/new— 作業ディレクトリ用の新しいセッションを作成し、セッション ID を返します。Devin Desktop はcwdと設定済みの MCPサーバーを渡します。session/prompt— ユーザーメッセージを受け取り、プロンプトターンを実行し、完了時にstopReasonを返します。session/cancel— ユーザーがキャンセルしたときに、そのセッションで進行中の処理を中止します。
プロンプトターンのライフサイクル
session/prompt ターンの間、エージェントは JSON-RPC 通知として更新を Devin Desktop にストリーミング送信します。
- アシスタントのテキストをストリーミングする
agent_message_chunkを含むsession/update - ツール呼び出しとそのステータスを Devin Desktop UI に表示するための
tool_callおよびtool_call_updateを含むsession/update - 機密性の高いツール呼び出しを実行する前にユーザーに確認を求める
session/request_permission - エージェントが agent plan を維持している場合は、
planを含むsession/update
stopReason (例: end_turn、cancelled、max_tokens) を含む session/prompt レスポンスを返すと終了します。
テスト
- ローカルレジストリ設定にエージェントのエントリを追加し、
cmdにローカルのエージェントバイナリ (またはラッパースクリプト) のパスを指定します。 - 必要に応じてエージェントに変更を加え、再ビルドします。
- Command Palette から
Reload ACP Connectionsを実行して最新バージョンを反映します。反復のたびに Devin Desktop を再起動する必要はありません。
制限事項
- セッションモードはサポートされていません。 Session modes は Devin Desktop UI では利用できません。エージェントでユーザーがモード (例: plan / build / review) を選択できるようにする必要がある場合は、代わりに
"mode"カテゴリの session config option として公開してください。 - ターミナル機能は公開されていません。 Devin Desktop は terminal capabilities を通知しないため、エージェントは Devin Desktop UI でターミナルを作成できません。エージェントは独自のサブプロセスでコマンドを実行し、
tool_callの更新を通じて出力をストリーミングして返す必要があります。
