ACPを使用すると、外部ツールが Agent Client Protocol を介してCTORエージェントと対話できます。acpx、OpenClaw、Agmente などのツールを使用してプロンプトを送信し、セッションを管理し、エージェントを調整できます — デスクトップGUIと同じエージェント、設定、MCPツールで動作します。
仕組み
デスクトップアプリはElectronメインプロセス内でUnixソケットサーバーを実行します。ブリッジCLI(bricks desktop-acp-bridge)は標準入出力とソケット間でACP JSON-RPCメッセージを転送し、任意のACPクライアントが接続できます。
ACP client (acpx, OpenClaw, etc.)
└─ spawns ─▶ bricks desktop-acp-bridge
└─ connects ─▶ Unix socket (~/.bricks-project-desktop/acp.sock)
└─ CTOR (shared agent)
ソケットサーバーはアプリ内で実行されるため、ACPセッションはGUIとすべてを共有します:
- セッション — ACP経由で作成された会話はサイドバーに表示され、その逆も同様
- 設定 — APIキー、デフォルトモデル、プロバイダー設定はアプリから取得
- MCPツール — プロジェクト内の
.mcp.json で設定されたツールが利用可能
- スキル — グローバルとプロジェクトのスキルが読み込まれます
Session APIs
session/new と session/prompt に加えて、ブリッジは以下をサポートします:
session/list — ディスク上のセッションを列挙し、プロジェクトの cwd でフィルタリング可能
session/load と session/resume — 既存セッションを再オープンし、ツール呼び出しとメッセージのタイムライン全体をストリーミングして、リフレッシュや再起動後もクライアントが状態を再構築できるようにします
session/set_mode — 思考レベルを切り替え(off、minimal、low、medium、high、xhigh)
session/set_model と session/set_config_option — デスクトップGUIが公開するのと同じ provider::name 識別子を使用して、セッション中にモデルを変更
セッションがアクティブな間、接続中のすべてのクライアントは同じイベントストリームを受信します — GUIから開始されたプロンプトはACPクライアントにリアルタイムでミラーリングされ、ACPプロンプトもストリーミング中にGUIに表示されます。
ACPを有効にする
ACPはデフォルトで無効です。有効にするには:
- 設定を開きます(サイドバーのギアアイコン)
- エージェントに移動します
- ACPを有効にするをトグルします
ソケットサーバーはすぐに起動します — アプリの再起動は不要です。ACPがアクティブな場合、サイドバーのフッターに緑の ACP インジケーターが表示されます。クリックすると設定が開きます。
ACPモード(ヘッドレス)では、bashコマンドは承認なしに実行されます。必要に応じて acpx --deny-all でこれを上書きしてください。
前提条件
- CTOR がACPを有効にして実行中であること
- BRICKS CLI がインストール済みであること(
bun add -g @anthropic-company/bricks-cli)
- 作業ディレクトリがBRICKSプロジェクト(
application.json を含む)であること
接続を確認する
ブリッジがデスクトップアプリに接続できるかテストします:
echo '{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"protocolVersion":1,"clientCapabilities":{},"clientInfo":{"name":"test"}}}' \
| bricks desktop-acp-bridge
Cannot connect to CTOR が表示された場合、アプリが実行中で設定でACPが有効になっていることを確認してください。
acpxとの使用
acpx はAgent Client Protocolのヘッドレス CLIクライアントです。セッションの管理、プロンプトのキュー、エージェント出力のストリーミングを行います。
acpxのインストール
基本的な使い方
# 現在のプロジェクトにセッションを作成
acpx --agent 'bricks desktop-acp-bridge' sessions new
# プロンプトを送信
acpx --agent 'bricks desktop-acp-bridge' "list all files and summarize the project"
# すべてのツール呼び出しを自動承認
acpx --agent 'bricks desktop-acp-bridge' --approve-all "fix the linting errors"
# 静音モード(最終出力のみ)
acpx --agent 'bricks desktop-acp-bridge' --format quiet "what does this project do?"
# 自動化のためのJSON出力
acpx --agent 'bricks desktop-acp-bridge' --format json "run the tests"
永続的な設定
--agent の繰り返しを避けるためにエージェントを ~/.acpx/config.json に追加します:
{
"agents": {
"bricks": {
"command": "bricks desktop-acp-bridge"
}
}
}
短縮形で使用します:
acpx bricks sessions new
acpx bricks "refactor the auth module"
acpx bricks sessions list
acpx bricks sessions close
OpenClawとの使用
OpenClaw はacpx経由でACPをサポートします。bricks エージェントが ~/.acpx/config.json に設定されている場合(上記参照)、OpenClawはマルチエージェントオーケストレーションのためにデスクトップアプリのエージェントに接続できます。
WebSocket ブリッジ
stdio ではなく WebSocket を話す ACP クライアント — ブラウザベースのクライアントや Agmente iOS アプリを含む — の場合は、ブリッジを --ws モードで実行します。各 WebSocket クライアントは ACP Unix ソケットへの専用接続を持ち、WebSocket テキストフレーム 1 つが JSON-RPC メッセージ 1 つに対応します。
# LAN に公開(デフォルト)し、トークンを必須にする — 推奨
bricks desktop-acp-bridge --ws --port 8765 --auth-token "$ACP_TOKEN"
# トークンは環境変数からも渡せます
BRICKS_DESKTOP_ACP_BRIDGE_TOKEN="$ACP_TOKEN" bricks desktop-acp-bridge --ws
# ローカルホストのみに制限
bricks desktop-acp-bridge --ws --host 127.0.0.1 --port 8765
デフォルトのバインドホストは 0.0.0.0 です — --ws は LAN への公開を想定しています。必ず --auth-token を設定し、信頼できるネットワーク上でのみ実行してください。トークンを設定しない場合、バインドされたインターフェースに到達できる任意のクライアントが接続でき、起動時に警告が表示されます。
ブラウザスタイルのクライアントから接続するときは、アップグレードリクエストにトークンを添えてください:
const ws = new WebSocket('ws://127.0.0.1:8765', [], {
headers: { Authorization: `Bearer ${token}` },
})
ws.onmessage = (e) => console.log('from acp:', e.data)
ws.send(JSON.stringify({ jsonrpc: '2.0', id: 0, method: 'initialize', params: { /* ... */ } }))
Agmenteとの使用
Agmente は iOS の ACP クライアントで、iPhone や iPad から CTOR エージェントと対話できます。WebSocket で接続するため、上記の WebSocket ブリッジを使って ACP ソケットを LAN に公開してください:
bricks desktop-acp-bridge --ws --port 8765 --auth-token "$ACP_TOKEN"
Agmente でエージェント接続を ws://<your-mac-ip>:8765 に向け、トークンを設定してください。スマートフォンと CTOR を実行している Mac は同じネットワーク上にあるか、VPN や Tailscale のようなトンネル経由で到達可能である必要があります。
接続後、Agmente は上記の Session APIs を使って過去のセッションを一覧表示・再開し、実行中にモデルや思考レベルを切り替えます。Agmente から送信したプロンプトはデスクトップ GUI にもストリーミングされ、その逆も同様です。
プロジェクトパスのコピー
アクション(右上のドロップダウン)> プロジェクトパスをコピーを使用して、外部ツールで使用するために現在のプロジェクトのパスをすばやくコピーします。
データ
| 項目 | 場所 |
|---|
| ソケットファイル | ~/.bricks-project-desktop/acp.sock |
BRICKS_PROJECT_DESKTOP_DATA_DIR 環境変数を設定すると、ソケットの場所とその他すべてのアプリデータの場所を変更できます。