openclaw acp menggunakan ACP melalui stdio untuk IDE dan meneruskan prompt ke Gateway melalui WebSocket, sambil mempertahankan pemetaan sesi ACP ke kunci sesi Gateway. Ini adalah jembatan ACP yang didukung Gateway, bukan runtime editor native ACP lengkap: fokusnya adalah perutean sesi, pengiriman prompt, dan pembaruan streaming.
Jika Anda ingin klien MCP eksternal berkomunikasi langsung dengan percakapan kanal OpenClaw alih-alih menghosting sesi harness ACP, gunakan openclaw mcp serve.
Yang bukan merupakan fungsi ini
openclaw acp berarti OpenClaw bertindak sebagai server ACP: IDE atau klien ACP terhubung ke OpenClaw, lalu OpenClaw meneruskan pekerjaan tersebut ke sesi Gateway.
Ini berbeda dari Agen ACP, tempat OpenClaw menjalankan harness eksternal seperti Codex atau Claude Code melalui acpx.
Aturan singkat:
- editor/klien ingin berkomunikasi dengan OpenClaw melalui ACP: gunakan
openclaw acp - OpenClaw harus menjalankan Codex/Claude/Gemini sebagai harness ACP: gunakan
/acp spawndan Agen ACP
Matriks kompatibilitas
Keterbatasan yang diketahui
loadSessionmemutar ulang riwayat lengkap buku besar peristiwa ACP hanya untuk sesi yang dibuat oleh jembatan. Sesi lama/tanpa buku besar menggunakan fallback transkrip dan tidak merekonstruksi panggilan alat historis atau pemberitahuan sistem.- Jika beberapa klien ACP berbagi kunci sesi Gateway yang sama, perutean peristiwa dan pembatalan dilakukan secara upaya terbaik, bukan diisolasi secara ketat per klien. Gunakan sesi
acp-bridge:<uuid>terisolasi bawaan ketika Anda memerlukan giliran lokal editor yang bersih. - Status penghentian Gateway diterjemahkan menjadi alasan penghentian ACP, tetapi pemetaan tersebut tidak sekomprehensif runtime native ACP sepenuhnya.
- Kontrol sesi menampilkan subset terfokus dari pengaturan Gateway: tingkat pemikiran, verbositas alat, penalaran, detail penggunaan, dan tindakan dengan hak lebih tinggi. Pemilihan model dan kontrol host eksekusi tidak disediakan sebagai opsi konfigurasi ACP.
session_info_updatedanusage_updateberasal dari snapshot sesi Gateway, bukan penghitungan runtime native ACP langsung. Penggunaan bersifat perkiraan, tidak memuat data biaya, dan hanya dipancarkan ketika Gateway menandai data total token sebagai mutakhir.- Data pemantauan alat bersifat upaya terbaik: jembatan menampilkan jalur berkas yang muncul dalam argumen/hasil alat yang dikenal, tetapi tidak memancarkan terminal ACP atau diff berkas terstruktur.
- Penerusan persetujuan eksekusi dibatasi pada giliran prompt ACP aktif; persetujuan dari sesi Gateway lain diabaikan.
Penggunaan
Klien ACP (debug)
Gunakan klien ACP bawaan untuk memeriksa kelayakan jembatan tanpa IDE. Klien ini menjalankan jembatan ACP dan memungkinkan Anda mengetik prompt secara interaktif.- Persetujuan otomatis didasarkan pada daftar izin dan hanya berlaku untuk ID alat inti tepercaya.
- Persetujuan otomatis
readdibatasi pada direktori kerja saat ini (--cwdjika ditetapkan). - ACP hanya menyetujui otomatis kelas baca-saja yang terbatas: panggilan
readdengan cakupan di bawah cwd aktif, serta alat pencarian baca-saja (search,web_search,memory_search). Alat yang tidak dikenal/bukan inti, pembacaan di luar cakupan, alat yang dapat mengeksekusi, alat bidang kontrol, alat yang mengubah data, dan alur interaktif selalu memerlukan persetujuan prompt eksplisit. toolCall.kindyang disediakan server diperlakukan sebagai metadata tidak tepercaya, bukan sumber otorisasi.- Kebijakan jembatan ACP ini terpisah dari izin harness ACPX. Jika Anda menjalankan OpenClaw melalui backend
acpx,plugins.entries.acpx.config.permissionMode=approve-alladalah sakelar darurat “yolo” untuk sesi harness tersebut.
Pengujian cepat protokol
Untuk debug tingkat protokol, jalankan Gateway dengan status terisolasi dan kendalikanopenclaw acp melalui stdio menggunakan klien JSON-RPC ACP. Cakup initialize, session/new, session/list dengan cwd absolut, session/resume, session/close, penutupan duplikat, dan pelanjutan yang tidak ditemukan.
Bukti harus mencakup kapabilitas siklus hidup yang diumumkan, baris sesi yang didukung Gateway, notifikasi pembaruan, dan log sessions.list Gateway:
openclaw gateway call sessions.list sebagai satu-satunya bukti ACP. Jalur CLI tersebut dapat meminta peningkatan cakupan operator dengan token baru; kebenaran jembatan ACP dibuktikan oleh bingkai stdio ACP beserta log sessions.list Gateway.
Cara menggunakan ini
Gunakan ACP ketika IDE (atau klien lain) menggunakan Agent Client Protocol dan Anda ingin IDE tersebut mengendalikan sesi Gateway OpenClaw.- Pastikan Gateway sedang berjalan (lokal atau jarak jauh).
- Konfigurasikan target Gateway (konfigurasi atau flag).
- Arahkan IDE Anda untuk menjalankan
openclaw acpmelalui stdio.
Memilih agen
ACP tidak memilih agen secara langsung. ACP merutekan berdasarkan kunci sesi Gateway. Gunakan kunci sesi dengan cakupan agen untuk menargetkan agen tertentu:acp-bridge:<uuid> terisolasi secara bawaan, kecuali Anda menimpa kunci atau labelnya.
mcpServers per sesi tidak didukung dalam mode jembatan. Jika klien ACP mengirimkannya selama newSession atau loadSession, jembatan akan mengembalikan galat yang jelas alih-alih mengabaikannya secara diam-diam.
Jika Anda ingin sesi yang didukung ACPX dapat melihat alat Plugin OpenClaw atau alat bawaan tertentu seperti cron, aktifkan jembatan MCP ACPX di sisi Gateway alih-alih mencoba meneruskan mcpServers per sesi. Lihat Agen ACP dan Jembatan MCP alat OpenClaw.
Penggunaan dari acpx (Codex, Claude, dan klien ACP lainnya)
Jika Anda ingin agen pemrograman seperti Codex atau Claude Code berkomunikasi dengan bot OpenClaw Anda melalui ACP, gunakan acpx dengan target bawaan openclaw.
Alur umum:
- Jalankan Gateway dan pastikan jembatan ACP dapat menjangkaunya.
- Arahkan
acpx openclawkeopenclaw acp. - Tentukan kunci sesi OpenClaw yang ingin digunakan oleh agen pemrograman.
acpx openclaw selalu menargetkan Gateway dan kunci sesi tertentu, timpa perintah agen openclaw di ~/.acpx/config.json:
Penyiapan editor Zed
Tambahkan agen ACP khusus di~/.config/zed/settings.json (atau gunakan antarmuka Settings milik Zed):
Pemetaan sesi
Secara default, sesi jembatan ACP mendapatkan kunci sesi Gateway terisolasi dengan awalanacp-bridge:. Sesi jembatan model normal ini bersifat sintetis dan sekali pakai: sesi tersebut dapat dipangkas jika entrinya kedaluwarsa dan tidak diperlakukan sebagai media percakapan manusia yang dilindungi. Untuk menggunakan kembali sesi yang telah diketahui, teruskan kunci atau label sesi:
--session <key>: gunakan kunci sesi Gateway tertentu.--session-label <label>: temukan sesi yang ada berdasarkan label.--reset-session: buat ID sesi baru untuk kunci tersebut (kunci sama, transkrip baru).
Opsi
--url <url>: URL WebSocket Gateway (nilai default-nya adalahgateway.remote.urljika dikonfigurasi).--token <token>: token autentikasi Gateway.--token-file <path>: baca token autentikasi Gateway dari berkas.--password <password>: kata sandi autentikasi Gateway.--password-file <path>: baca kata sandi autentikasi Gateway dari berkas.--session <key>: kunci sesi default.--session-label <label>: label sesi default yang akan ditemukan.--require-existing: gagal jika kunci/label sesi tidak ada.--reset-session: atur ulang kunci sesi sebelum penggunaan pertama.--no-prefix-cwd: jangan tambahkan direktori kerja sebagai awalan pada perintah.--provenance <off|meta|meta+receipt>: sertakan metadata atau tanda terima asal-usul ACP.--verbose, -v: pencatatan log terperinci ke stderr.
--tokendan--passworddapat terlihat dalam daftar proses lokal pada beberapa sistem. Utamakan--token-file/--password-fileatau variabel lingkungan (OPENCLAW_GATEWAY_TOKEN,OPENCLAW_GATEWAY_PASSWORD).- Resolusi autentikasi Gateway mengikuti kontrak bersama yang digunakan oleh klien Gateway lainnya:
- mode lokal: env (
OPENCLAW_GATEWAY_*), kemudiangateway.auth.*, dengan beralih kegateway.remote.*hanya jikagateway.auth.*belum ditetapkan (SecretReflokal yang telah dikonfigurasi tetapi tidak dapat diresolusi akan gagal secara tertutup alih-alih beralih secara diam-diam) - mode jarak jauh:
gateway.remote.*dengan fallback env/konfigurasi sesuai aturan prioritas jarak jauh --urlaman untuk penimpaan dan tidak menggunakan kembali kredensial konfigurasi/env implisit; teruskan--token/--passwordsecara eksplisit (atau varian berkasnya)
- mode lokal: env (
Opsi acp client
--cwd <dir>: direktori kerja untuk sesi ACP.--server <command>: perintah server ACP (default:openclaw).--server-args <args...>: argumen tambahan yang diteruskan ke server ACP.--server-verbose: aktifkan pencatatan log terperinci pada server ACP.--verbose, -v: pencatatan log klien secara terperinci.openclaw acp clientmenetapkanOPENCLAW_SHELL=acp-clientpada proses jembatan yang dijalankan, yang dapat digunakan untuk aturan shell/profil khusus konteks.