acp
OpenClaw GatewayとやりとりするACP(Agent Client Protocol)ブリッジを実行します。
このコマンドはIDE用にstdio経由でACPを話し、WebSocket経由でプロンプトをGatewayに転送します。ACPセッションとGatewayセッションキーのマッピングを保持します。
使い方
openclaw acp
# リモートGateway
openclaw acp --url wss://gateway-host:18789 --token <token>
# 既存のセッションキーにアタッチ
openclaw acp --session agent:main:main
# ラベルでアタッチ(既に存在する必要があります)
openclaw acp --session-label "support inbox"
# 最初のプロンプトの前にセッションキーをリセット
openclaw acp --session agent:main:main --reset-session
ACPクライアント(デバッグ)
組み込みのACPクライアントを使用して、IDEなしでブリッジの動作確認を行います。 ACPブリッジを起動し、対話的にプロンプトを入力できます。
openclaw acp client
# 起動したブリッジをリモートGatewayに向ける
openclaw acp client --server-args --url wss://gateway-host:18789 --token <token>
# サーバーコマンドをオーバーライド(デフォルト: openclaw)
openclaw acp client --server "node" --server-args openclaw.mjs acp --url ws://127.0.0.1:19001
使用方法
IDE(または他のクライアント)がAgent Client Protocolを話し、OpenClaw Gatewayセッションを駆動したい場合にACPを使用します。
- Gateway(ローカルまたはリモート)が実行されていることを確認します。
- Gatewayターゲットを設定します(設定ファイルまたはフラグ)。
- IDEをopenclaw acpをstdio経由で実行するように設定します。
設定例(永続化):
openclaw config set gateway.remote.url wss://gateway-host:18789
openclaw config set gateway.remote.token <token>
直接実行の例(設定ファイルへの書き込みなし):
openclaw acp --url wss://gateway-host:18789 --token <token>
エージェントの選択
ACPはエージェントを直接選択しません。Gatewayセッションキーによってルーティングします。
特定のエージェントをターゲットにするには、エージェントスコープのセッションキーを使用します:
openclaw acp --session agent:main:main
openclaw acp --session agent:design:main
openclaw acp --session agent:qa:bug-123
各ACPセッションは単一のGatewayセッションキーにマッピングされます。1つのエージェントは複数のセッションを持つことができます。ACPは、キーまたはラベルをオーバーライドしない限り、分離されたacp:<uuid>セッションをデフォルトで使用します。
Zedエディタのセットアップ
~/.config/zed/settings.jsonにカスタムACPエージェントを追加します(またはZedのSettings UIを使用):
{
"agent_servers": {
"OpenClaw ACP": {
"type": "custom",
"command": "openclaw",
"args": ["acp"],
"env": {}
}
}
}
特定のGatewayまたはエージェントをターゲットにする場合:
{
"agent_servers": {
"OpenClaw ACP": {
"type": "custom",
"command": "openclaw",
"args": [
"acp",
"--url", "wss://gateway-host:18789",
"--token", "<token>",
"--session", "agent:design:main"
],
"env": {}
}
}
}
Zedで、Agentパネルを開き、「OpenClaw ACP」を選択してスレッドを開始します。
セッションマッピング
デフォルトでは、ACPセッションはacp:プレフィックスを持つ分離されたGatewayセッションキーを取得します。 既知のセッションを再利用するには、セッションキーまたはラベルを渡します:
- --session <key>: 特定のGatewayセッションキーを使用します。
- --session-label <label>: 既存のセッションをラベルで解決します。
- --reset-session: そのキーの新しいセッションIDを作成します(同じキー、新しいトランスクリプト)。
ACPクライアントがメタデータをサポートしている場合、セッションごとにオーバーライドできます:
{
"_meta": {
"sessionKey": "agent:main:main",
"sessionLabel": "support inbox",
"resetSession": true
}
}
セッションキーの詳細については、/concepts/sessionをご覧ください。
オプション
- --url <url>: Gateway WebSocket URL(設定されている場合はgateway.remote.urlがデフォルト)。
- --token <token>: Gateway認証トークン。
- --password <password>: Gateway認証パスワード。
- --session <key>: デフォルトのセッションキー。
- --session-label <label>: 解決するデフォルトのセッションラベル。
- --require-existing: セッションキー/ラベルが存在しない場合は失敗します。
- --reset-session: 最初の使用前にセッションキーをリセットします。
- --no-prefix-cwd: プロンプトに作業ディレクトリをプレフィックスとして付けません。
- --verbose, -v: stderrへの詳細ログ出力。
acp clientオプション
- --cwd <dir>: ACPセッションの作業ディレクトリ。
- --server <command>: ACPサーバーコマンド(デフォルト: openclaw)。
- --server-args <args...>: ACPサーバーに渡される追加の引数。
- --server-verbose: ACPサーバーで詳細ログを有効にします。
- --verbose, -v: 詳細なクライアントログ出力。