ACP agent’ları
Agent Client Protocol (ACP) oturumları, OpenClaw’ın ACP backend plugin’i üzerinden harici kodlama harness’lerini (örneğin Pi, Claude Code, Codex, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI ve desteklenen diğer ACPX harness’leri) çalıştırmasını sağlar. OpenClaw’a doğal dilde “bunu Codex’te çalıştır” veya “bir thread içinde Claude Code başlat” derseniz, OpenClaw bu isteği yerel sub-agent çalışma zamanına değil ACP çalışma zamanına yönlendirmelidir. Her ACP oturum başlatımı bir arka plan görevi olarak izlenir. Codex veya Claude Code’un mevcut OpenClaw kanal konuşmalarına doğrudan harici bir MCP istemcisi olarak bağlanmasını istiyorsanız, ACP yerineopenclaw mcp serve kullanın.
Hangi sayfayı istiyorum?
Kolayca karıştırılabilen üç yakın yüzey vardır:| Şunu yapmak istiyorsunuz… | Bunu kullanın | Notlar |
|---|---|---|
| Codex, Claude Code, Gemini CLI veya başka bir harici harness’i OpenClaw üzerinden çalıştırmak | Bu sayfa: ACP agent’ları | Sohbete bağlı oturumlar, /acp spawn, sessions_spawn({ runtime: "acp" }), arka plan görevleri, çalışma zamanı kontrolleri |
| Bir OpenClaw Gateway oturumunu bir editör veya istemci için ACP sunucusu olarak açığa çıkarmak | openclaw acp | Köprü kipi. IDE/istemci ACP ile stdio/WebSocket üzerinden OpenClaw ile konuşur |
| Yerel bir AI CLI’yi yalnızca metin tabanlı yedek model olarak yeniden kullanmak | CLI Backends | ACP değildir. OpenClaw araçları yoktur, ACP kontrolleri yoktur, harness çalışma zamanı yoktur |
Bu kutudan çıktığı gibi çalışır mı?
Genellikle evet.- Yeni kurulumlar artık paketlenmiş
acpxçalışma zamanı plugin’i etkin olarak gelir. - Paketlenmiş
acpxplugin’i kendi plugin’e yerel sabitlenmişacpxikilisini tercih eder. - Başlangıçta OpenClaw bu ikiliyi yoklar ve gerekirse kendi kendini onarır.
- Hızlı bir hazırlık kontrolü istiyorsanız
/acp doctorile başlayın.
- Hedef harness bağdaştırıcısı, o harness’i ilk kez kullandığınızda isteğe bağlı olarak
npxile getirilebilir. - Sağlayıcı kimlik doğrulamasının yine de o host üzerinde mevcut olması gerekir.
- Host üzerinde npm/ağ erişimi yoksa, ilk çalıştırma bağdaştırıcı getirme işlemleri önbellekler önceden ısıtılana veya bağdaştırıcı başka bir yolla kurulana kadar başarısız olabilir.
/acp spawn codex: OpenClawacpxbootstrap için hazır olmalıdır, ancak Codex ACP bağdaştırıcısının yine de ilk çalıştırma getirmesine ihtiyacı olabilir./acp spawn claude: Claude ACP bağdaştırıcısı için de aynı durum geçerlidir; ayrıca o host üzerinde Claude tarafı auth gerekir.
Hızlı operatör akışı
Pratik bir/acp runbook istediğinizde bunu kullanın:
- Bir oturum başlatın:
/acp spawn codex --bind here/acp spawn codex --mode persistent --thread auto
- Bağlı konuşma veya thread içinde çalışın (veya o oturum anahtarını açıkça hedefleyin).
- Çalışma zamanı durumunu kontrol edin:
/acp status
- Gerektiğinde çalışma zamanı seçeneklerini ayarlayın:
/acp model <provider/model>/acp permissions <profile>/acp timeout <seconds>
- Bağlamı değiştirmeden etkin bir oturuma yön verin:
/acp steer tighten logging and continue
- Çalışmayı durdurun:
/acp cancel(geçerli dönüşü durdurur), veya/acp close(oturumu kapatır + bağları kaldırır)
İnsanlar için hızlı başlangıç
Doğal istek örnekleri:- “Bu Discord kanalını Codex’e bağla.”
- “Burada bir thread içinde kalıcı bir Codex oturumu başlat ve odaklı tut.”
- “Bunu tek seferlik bir Claude Code ACP oturumu olarak çalıştır ve sonucu özetle.”
- “Bu iMessage sohbetini Codex’e bağla ve takip mesajlarını aynı çalışma alanında tut.”
- “Bu görev için bir thread içinde Gemini CLI kullan, sonra takipleri aynı thread içinde tut.”
runtime: "acp"seçmek.- İstenen harness hedefini çözümlemek (
agentId, örneğincodex). - Mevcut konuşma bağı isteniyorsa ve etkin kanal bunu destekliyorsa, ACP oturumunu o konuşmaya bağlamak.
- Aksi halde thread bağı isteniyorsa ve mevcut kanal bunu destekliyorsa, ACP oturumunu o thread’e bağlamak.
- Odağı kaldırılana/kapatılana/süresi dolana kadar sonraki bağlı mesajları aynı ACP oturumuna yönlendirmek.
ACP ile sub-agent’lar karşılaştırması
Harici bir harness çalışma zamanı istediğinizde ACP kullanın. OpenClaw’ın yerel devredilmiş çalıştırmalarını istediğinizde sub-agent kullanın.| Alan | ACP oturumu | Sub-agent çalıştırması |
|---|---|---|
| Çalışma zamanı | ACP backend plugin’i (örneğin acpx) | OpenClaw yerel sub-agent çalışma zamanı |
| Oturum anahtarı | agent:<agentId>:acp:<uuid> | agent:<agentId>:subagent:<uuid> |
| Ana komutlar | /acp ... | /subagents ... |
| Başlatma aracı | sessions_spawn ile runtime:"acp" | sessions_spawn (varsayılan çalışma zamanı) |
ACP, Claude Code’u nasıl çalıştırır
ACP üzerinden Claude Code için yığın şöyledir:- OpenClaw ACP oturum kontrol düzlemi
- paketlenmiş
acpxçalışma zamanı plugin’i - Claude ACP bağdaştırıcısı
- Claude tarafı çalışma zamanı/oturum mekanizması
- ACP Claude; ACP kontrolleri, oturum devam ettirme, arka plan görevi takibi ve isteğe bağlı konuşma/thread bağına sahip bir harness oturumudur.
- CLI backend’leri ayrı, yalnızca metin tabanlı yerel yedek çalışma zamanlarıdır. Bkz. CLI Backends.
/acp spawn, bağlanabilir oturumlar, çalışma zamanı kontrolleri veya kalıcı harness çalışması istiyorsanız: ACP kullanın- ham CLI üzerinden basit yerel metin yedeği istiyorsanız: CLI backend’lerini kullanın
Bağlı oturumlar
Mevcut konuşmaya bağlar
Geçerli konuşmanın alt thread oluşturmadan kalıcı bir ACP çalışma alanına dönüşmesini istiyorsanız/acp spawn <harness> --bind here kullanın.
Davranış:
- Kanal taşıması, auth, güvenlik ve teslimatın sahibi OpenClaw olmaya devam eder.
- Geçerli konuşma, başlatılan ACP oturum anahtarına sabitlenir.
- Bu konuşmadaki takip mesajları aynı ACP oturumuna yönlendirilir.
/newve/reset, aynı bağlı ACP oturumunu yerinde sıfırlar./acp close, oturumu kapatır ve mevcut konuşma bağını kaldırır.
--bind here, aynı sohbet yüzeyini korur. Discord’da mevcut kanal aynı kanal olarak kalır.--bind here, yeni bir çalışma başlatıyorsanız yine de yeni bir ACP oturumu oluşturabilir. Bağ, o oturumu mevcut konuşmaya iliştirir.--bind herekendi başına alt Discord thread’i veya Telegram konusu oluşturmaz.- ACP çalışma zamanı yine de kendi çalışma dizinine (
cwd) veya backend tarafından yönetilen disk üstü çalışma alanına sahip olabilir. Bu çalışma zamanı çalışma alanı sohbet yüzeyinden ayrıdır ve yeni bir mesajlaşma thread’i anlamına gelmez. - Farklı bir ACP agent’ına başlatma yaparsanız ve
--cwdvermezseniz, OpenClaw varsayılan olarak isteği yapanın değil hedef agent’ın çalışma alanını devralır. - Devralınan çalışma alanı yolu eksikse (
ENOENT/ENOTDIR), OpenClaw yanlış ağacı sessizce yeniden kullanmak yerine backend varsayılan cwd’sine geri döner. - Devralınan çalışma alanı varsa ancak erişilemiyorsa (örneğin
EACCES), başlatmacwdalanını düşürmek yerine gerçek erişim hatasını döndürür.
- sohbet yüzeyi: insanların konuşmaya devam ettiği yer (
Discord channel,Telegram topic,iMessage chat) - ACP oturumu: OpenClaw’ın yönlendirdiği kalıcı Codex/Claude/Gemini çalışma zamanı durumu
- alt thread/topic: yalnızca
--thread ...tarafından oluşturulan isteğe bağlı ek mesajlaşma yüzeyi - çalışma zamanı çalışma alanı: harness’in çalıştığı dosya sistemi konumu (
cwd, repo checkout, backend çalışma alanı)
/acp spawn codex --bind here: bu sohbeti koru, bir Codex ACP oturumu başlat veya bağlan ve gelecekteki mesajları burada ona yönlendir/acp spawn codex --thread auto: OpenClaw bir alt thread/topic oluşturabilir ve ACP oturumunu oraya bağlayabilir/acp spawn codex --bind here --cwd /workspace/repo: yukarıdakiyle aynı sohbet bağı, ancak Codex/workspace/repoiçinde çalışır
- Geçerli konuşma bağlama desteği bildiren sohbet/mesajlaşma kanalları
--bind hereseçeneğini paylaşılan konuşma bağlama yolu üzerinden kullanabilir. - Özel thread/topic semantiğine sahip kanallar yine de kanal bazlı kanonikleştirmeyi aynı paylaşılan arayüzün arkasında sağlayabilir.
--bind hereher zaman “geçerli konuşmayı yerinde bağla” anlamına gelir.- Genel mevcut konuşma bağları paylaşılan OpenClaw bağ deposunu kullanır ve normal gateway yeniden başlatmalarında korunur.
/acp spawnüzerinde--bind hereile--thread ...birbirini dışlar.- Discord’da
--bind here, mevcut kanal veya thread’i yerinde bağlar.spawnAcpSessionsyalnızca OpenClaw’ın--thread auto|hereiçin alt thread oluşturması gerektiğinde gerekir. - Etkin kanal mevcut konuşma ACP bağlarını açığa çıkarmıyorsa, OpenClaw açık bir desteklenmiyor mesajı döndürür.
resumeve “new session” soruları kanal soruları değil, ACP oturumu sorularıdır. Geçerli sohbet yüzeyini değiştirmeden çalışma zamanı durumunu yeniden kullanabilir veya değiştirebilirsiniz.
Thread’e bağlı oturumlar
Bir kanal bağdaştırıcısı için thread bağları etkinleştirildiğinde, ACP oturumları thread’lere bağlanabilir:- OpenClaw bir thread’i hedef ACP oturumuna bağlar.
- Bu thread içindeki takip mesajları bağlı ACP oturumuna yönlendirilir.
- ACP çıktısı aynı thread’e geri teslim edilir.
- Odağı kaldırma/kapatma/arşivleme/boşta kalma zaman aşımı veya azami yaş süresi dolması bağlamayı kaldırır.
acp.enabled=trueacp.dispatch.enabledvarsayılan olarak açıktır (ACP dispatch’i duraklatmak içinfalseayarlayın)- Kanal bağdaştırıcısı ACP thread-spawn bayrağı etkin olmalı (bağdaştırıcıya özgü)
- Discord:
channels.discord.threadBindings.spawnAcpSessions=true - Telegram:
channels.telegram.threadBindings.spawnAcpSessions=true
- Discord:
Thread destekleyen kanallar
- Oturum/thread bağlama yeteneğini açığa çıkaran herhangi bir kanal bağdaştırıcısı.
- Mevcut yerleşik destek:
- Discord threads/channels
- Telegram topics (gruplar/süper gruplardaki forum konuları ve DM konuları)
- Plugin kanalları aynı bağlama arayüzü üzerinden destek ekleyebilir.
Kanala özgü ayarlar
Kısa ömürlü olmayan iş akışları için kalıcı ACP bağlarını üst düzeybindings[] girdilerinde yapılandırın.
Bağlama modeli
bindings[].type="acp"kalıcı bir ACP konuşma bağı işaretler.bindings[].matchhedef konuşmayı tanımlar:- Discord kanal veya thread:
match.channel="discord"+match.peer.id="<channelOrThreadId>" - Telegram forum konusu:
match.channel="telegram"+match.peer.id="<chatId>:topic:<topicId>" - BlueBubbles DM/grup sohbeti:
match.channel="bluebubbles"+match.peer.id="<handle|chat_id:*|chat_guid:*|chat_identifier:*>"Kararlı grup bağları içinchat_id:*veyachat_identifier:*tercih edin. - iMessage DM/grup sohbeti:
match.channel="imessage"+match.peer.id="<handle|chat_id:*|chat_guid:*|chat_identifier:*>"Kararlı grup bağları içinchat_id:*tercih edin.
- Discord kanal veya thread:
bindings[].agentId, sahibi olan OpenClaw agent kimliğidir.- İsteğe bağlı ACP geçersiz kılmaları
bindings[].acpaltında bulunur:mode(persistentveyaoneshot)labelcwdbackend
Agent başına çalışma zamanı varsayılanları
Agent başına ACP varsayılanlarını bir kez tanımlamak içinagents.list[].runtime kullanın:
agents.list[].runtime.type="acp"agents.list[].runtime.acp.agent(harness kimliği, örneğincodexveyaclaude)agents.list[].runtime.acp.backendagents.list[].runtime.acp.modeagents.list[].runtime.acp.cwd
bindings[].acp.*agents.list[].runtime.acp.*- genel ACP varsayılanları (örneğin
acp.backend)
- OpenClaw, yapılandırılan ACP oturumunun kullanımdan önce var olduğundan emin olur.
- O kanal veya konudaki mesajlar yapılandırılan ACP oturumuna yönlendirilir.
- Bağlı konuşmalarda
/newve/reset, aynı ACP oturum anahtarını yerinde sıfırlar. - Geçici çalışma zamanı bağları (örneğin thread-focus akışlarıyla oluşturulanlar) mevcut oldukları yerlerde yine uygulanır.
- Açık bir
cwdolmadan agent’lar arası ACP başlatmalarında OpenClaw, agent yapılandırmasından hedef agent çalışma alanını devralır. - Eksik devralınan çalışma alanı yolları backend varsayılan cwd’sine geri döner; eksik olmayan erişim hataları ise başlatma hatası olarak yüzeye çıkar.
ACP oturumlarını başlatma (arayüzler)
sessions_spawn içinden
Bir agent dönüşünden veya araç çağrısından ACP oturumu başlatmak için runtime: "acp" kullanın.
runtimevarsayılan olaraksubagentolur; bu yüzden ACP oturumları içinruntime: "acp"değerini açıkça ayarlayın.agentIdverilmezse, yapılandırılmışsa OpenClawacp.defaultAgentdeğerini kullanır.mode: "session"kalıcı bağlı konuşmayı korumak içinthread: truegerektirir.
task(zorunlu): ACP oturumuna gönderilen ilk istem.runtime(ACP için zorunlu):"acp"olmalıdır.agentId(isteğe bağlı): ACP hedef harness kimliği. Ayarlanmışsaacp.defaultAgentdeğerine geri döner.thread(isteğe bağlı, varsayılanfalse): desteklenen yerlerde thread bağlama akışı ister.mode(isteğe bağlı):run(tek seferlik) veyasession(kalıcı).- varsayılan
rundeğeridir thread: trueise ve kip verilmemişse, OpenClaw çalışma zamanı yoluna göre kalıcı davranışı varsayılan yapabilirmode: "session"içinthread: truegerekir
- varsayılan
cwd(isteğe bağlı): istenen çalışma zamanı çalışma dizini (backend/çalışma zamanı ilkesi tarafından doğrulanır). Verilmezse ACP başlatma yapılandırılmışsa hedef agent çalışma alanını devralır; eksik devralınan yollar backend varsayılanlarına geri dönerken gerçek erişim hataları döndürülür.label(isteğe bağlı): oturum/banner metninde kullanılan operatör odaklı etiket.resumeSessionId(isteğe bağlı): yeni bir oturum oluşturmak yerine mevcut bir ACP oturumunu sürdürür. Agent konuşma geçmişinisession/loadüzerinden yeniden oynatır.runtime: "acp"gerektirir.streamTo(isteğe bağlı):"parent"ilk ACP çalıştırma ilerleme özetlerini sistem olayları olarak istek yapan oturuma akıtır.- Mevcut olduğunda, kabul edilen yanıtlar tam relay geçmişi için izleyebileceğiniz oturum kapsamlı JSONL günlüğüne (
<sessionId>.acp-stream.jsonl) işaret edenstreamLogPathiçerebilir.
- Mevcut olduğunda, kabul edilen yanıtlar tam relay geçmişi için izleyebileceğiniz oturum kapsamlı JSONL günlüğüne (
Mevcut bir oturumu sürdürme
Yeni başlatmak yerine önceki bir ACP oturumunu sürdürmek içinresumeSessionId kullanın. Agent konuşma geçmişini session/load üzerinden yeniden oynattığı için, önce ne olduğu tam bağlamıyla kaldığı yerden devam eder.
- Bir Codex oturumunu dizüstü bilgisayarınızdan telefonunuza devretmek — agent’ınıza kaldığınız yerden devam etmesini söyleyin
- CLI içinde etkileşimli başlattığınız bir kodlama oturumuna artık headless olarak agent’ınız üzerinden devam etmek
- Gateway yeniden başlatması veya boşta kalma zaman aşımı nedeniyle kesilen işi sürdürmek
resumeSessionIdiçinruntime: "acp"gerekir — sub-agent çalışma zamanı ile kullanılırsa hata döndürür.resumeSessionId, yukarı akış ACP konuşma geçmişini geri yükler;threadvemode, oluşturduğunuz yeni OpenClaw oturumu için yine normal şekilde uygulanır; dolayısıylamode: "session"için yinethread: truegerekir.- Hedef agent
session/loaddesteğine sahip olmalıdır (Codex ve Claude Code destekler). - Oturum kimliği bulunamazsa, başlatma açık bir hata ile başarısız olur — yeni oturuma sessiz geri dönüş yapılmaz.
Operatör smoke testi
Bir gateway dağıtımından sonra ACP başlatmanın yalnızca birim testlerini geçmekle kalmayıp gerçekten uçtan uca çalıştığını hızlıca canlı doğrulamak istediğinizde bunu kullanın. Önerilen kapı:- Hedef host üzerinde dağıtılan gateway sürümünü/commit’ini doğrulayın.
- Dağıtılan kaynağın
src/gateway/sessions-patch.tsiçinde ACP soy kabulünü içerdiğini doğrulayın (subagent:* or acp:* sessions). - Canlı bir agent’a geçici bir ACPX bridge oturumu açın (örneğin
jpclawhqüzerindekirazor(main)). - O agent’tan şu parametrelerle
sessions_spawnçağırmasını isteyin:runtime: "acp"agentId: "codex"mode: "run"- görev:
Reply with exactly LIVE-ACP-SPAWN-OK
- Agent’ın şunları bildirdiğini doğrulayın:
accepted=yes- gerçek bir
childSessionKey - doğrulayıcı hatası yok
- Geçici ACPX bridge oturumunu temizleyin.
- Özellikle thread’e bağlı kalıcı ACP oturumlarını test etmiyorsanız bu smoke testi
mode: "run"üzerinde tutun. - Temel kapı için
streamTo: "parent"gerektirmeyin. Bu yol istek yapan/oturum yeteneklerine bağlıdır ve ayrı bir entegrasyon kontrolüdür. - Thread’e bağlı
mode: "session"testini gerçek bir Discord thread’i veya Telegram konusu içinden ikinci, daha zengin bir entegrasyon geçişi olarak değerlendirin.
Sandbox uyumluluğu
ACP oturumları şu anda OpenClaw sandbox’ı içinde değil, host çalışma zamanında çalışır. Mevcut sınırlamalar:- İstek yapan oturum sandbox içindeyse, ACP başlatmaları hem
sessions_spawn({ runtime: "acp" })hem de/acp spawniçin engellenir.- Hata:
Sandboxed sessions cannot spawn ACP sessions because runtime="acp" runs on the host. Use runtime="subagent" from sandboxed sessions.
- Hata:
runtime: "acp"ilesessions_spawn,sandbox: "require"desteklemez.- Hata:
sessions_spawn sandbox="require" is unsupported for runtime="acp" because ACP sessions run outside the sandbox. Use runtime="subagent" or sandbox="inherit".
- Hata:
runtime: "subagent" kullanın.
/acp komutundan
Gerektiğinde sohbetten açık operatör denetimi için /acp spawn kullanın.
--mode persistent|oneshot--bind here|off--thread auto|here|off--cwd <absolute-path>--label <name>
Oturum hedefi çözümleme
Çoğu/acp eylemi isteğe bağlı oturum hedefini kabul eder (session-key, session-id veya session-label).
Çözümleme sırası:
- Açık hedef argümanı (veya
/acp steeriçin--session)- önce anahtarı dener
- sonra UUID biçimli oturum kimliğini
- sonra etiketi
- Geçerli thread bağı (bu konuşma/thread bir ACP oturumuna bağlıysa)
- Geçerli istek yapan oturumuna geri dönüş
Unable to resolve session target: ...).
Başlatma bağ kipleri
/acp spawn, --bind here|off destekler.
| Kip | Davranış |
|---|---|
here | Geçerli etkin konuşmayı yerinde bağlar; etkin konuşma yoksa başarısız olur. |
off | Geçerli konuşma bağı oluşturmaz. |
--bind here, “bu kanal veya sohbeti Codex destekli yap” için en basit operatör yoludur.--bind herealt thread oluşturmaz.--bind hereyalnızca geçerli konuşma bağlama desteği sunan kanallarda kullanılabilir.--bindile--threadaynı/acp spawnçağrısında birleştirilemez.
Başlatma thread kipleri
/acp spawn, --thread auto|here|off destekler.
| Kip | Davranış |
|---|---|
auto | Etkin bir thread içindeyse: o thread’i bağlar. Thread dışında: destekleniyorsa bir alt thread oluşturur/bağlar. |
here | Geçerli etkin thread’i zorunlu kılar; thread içinde değilse başarısız olur. |
off | Bağlama yok. Oturum bağımsız başlar. |
- Thread bağlamayan yüzeylerde varsayılan davranış fiilen
offolur. - Thread’e bağlı başlatma kanal ilkesi desteği gerektirir:
- Discord:
channels.discord.threadBindings.spawnAcpSessions=true - Telegram:
channels.telegram.threadBindings.spawnAcpSessions=true
- Discord:
- Alt thread oluşturmadan geçerli konuşmayı sabitlemek istediğinizde
--bind herekullanın.
ACP kontrolleri
Kullanılabilir komut ailesi:/acp spawn/acp cancel/acp steer/acp close/acp status/acp set-mode/acp set/acp cwd/acp permissions/acp timeout/acp model/acp reset-options/acp sessions/acp doctor/acp install
/acp status, etkili çalışma zamanı seçeneklerini ve mevcut olduğunda hem çalışma zamanı düzeyi hem de backend düzeyi oturum tanımlayıcılarını gösterir.
Bazı kontroller backend yeteneklerine bağlıdır. Bir backend bir kontrolü desteklemiyorsa, OpenClaw açık bir desteklenmeyen-kontrol hatası döndürür.
ACP komut yemek kitabı
| Komut | Ne yapar | Örnek |
|---|---|---|
/acp spawn | ACP oturumu oluşturur; isteğe bağlı mevcut bağ veya thread bağı. | /acp spawn codex --bind here --cwd /repo |
/acp cancel | Hedef oturum için işlemdeki dönüşü iptal eder. | /acp cancel agent:codex:acp:<uuid> |
/acp steer | Çalışan oturuma yönlendirme talimatı gönderir. | /acp steer --session support inbox prioritize failing tests |
/acp close | Oturumu kapatır ve thread hedef bağlarını kaldırır. | /acp close |
/acp status | Backend, kip, durum, çalışma zamanı seçenekleri, yetenekleri gösterir. | /acp status |
/acp set-mode | Hedef oturum için çalışma zamanı kipini ayarlar. | /acp set-mode plan |
/acp set | Genel çalışma zamanı yapılandırma seçeneği yazımı. | /acp set model openai/gpt-5.4 |
/acp cwd | Çalışma zamanı çalışma dizini geçersiz kılmasını ayarlar. | /acp cwd /Users/user/Projects/repo |
/acp permissions | Onay ilkesi profilini ayarlar. | /acp permissions strict |
/acp timeout | Çalışma zamanı zaman aşımını ayarlar (saniye). | /acp timeout 120 |
/acp model | Çalışma zamanı model geçersiz kılmasını ayarlar. | /acp model anthropic/claude-opus-4-6 |
/acp reset-options | Oturum çalışma zamanı seçenek geçersiz kılmalarını kaldırır. | /acp reset-options |
/acp sessions | Depodan son ACP oturumlarını listeler. | /acp sessions |
/acp doctor | Backend sağlığı, yetenekler, uygulanabilir düzeltmeler. | /acp doctor |
/acp install | Belirlenimci kurulum ve etkinleştirme adımlarını yazdırır. | /acp install |
/acp sessions, mevcut bağlı veya istek yapan oturum için depoyu okur. session-key, session-id veya session-label kabul eden komutlar, özel agent başına session.store kökleri dahil olmak üzere gateway oturum keşfi üzerinden hedefleri çözümler.
Çalışma zamanı seçenek eşlemesi
/acp, kolaylık komutları ve genel bir ayarlayıcıya sahiptir.
Eşdeğer işlemler:
/acp model <id>, çalışma zamanı yapılandırma anahtarımodelile eşlenir./acp permissions <profile>, çalışma zamanı yapılandırma anahtarıapproval_policyile eşlenir./acp timeout <seconds>, çalışma zamanı yapılandırma anahtarıtimeoutile eşlenir./acp cwd <path>, çalışma zamanı cwd geçersiz kılmasını doğrudan günceller./acp set <key> <value>, genel yoldur.- Özel durum:
key=cwd, cwd geçersiz kılma yolunu kullanır.
- Özel durum:
/acp reset-options, hedef oturum için tüm çalışma zamanı geçersiz kılmalarını temizler.
acpx harness desteği (mevcut)
Geçerli acpx yerleşik harness takma adları:claudecodexcopilotcursor(Cursor CLI:cursor-agent acp)droidgeminiiflowkilocodekimikiroopenclawopencodepiqwen
agentId için bu değerleri tercih edin.
Yerel Cursor kurulumunuz ACP’yi hâlâ agent acp olarak sunuyorsa, yerleşik varsayılanı değiştirmek yerine acpx yapılandırmanızda cursor agent komutunu geçersiz kılın.
Doğrudan acpx CLI kullanımı ayrıca --agent <command> üzerinden keyfi bağdaştırıcıları hedefleyebilir, ancak bu ham kaçış kapısı bir acpx CLI özelliğidir (normal OpenClaw agentId yolu değildir).
Gerekli yapılandırma
Temel ACP başlangıç yapılandırması:- Discord:
channels.discord.threadBindings.spawnAcpSessions=true
acpx backend’i için plugin kurulumu
Yeni kurulumlar paketlenmişacpx çalışma zamanı plugin’i etkin olarak gelir, bu yüzden ACP
genellikle elle plugin kurulum adımı olmadan çalışır.
Şununla başlayın:
acpx devre dışı bırakıldıysa, plugins.allow / plugins.deny ile engellendiyse veya
yerel bir geliştirme checkout’una geçmek istiyorsanız, açık plugin yolunu kullanın:
acpx komut ve sürüm yapılandırması
Varsayılan olarak, paketlenmiş acpx backend plugin’i (acpx) plugin’e yerel sabitlenmiş ikiliyi kullanır:
- Komut varsayılan olarak ACPX plugin paketi içindeki plugin’e yerel
node_modules/.bin/acpxolur. - Beklenen sürüm varsayılan olarak extension pin’i olur.
- Başlangıç, ACP backend’ini hemen hazır-değil olarak kaydeder.
- Arka plandaki bir ensure işi
acpx --versiondoğrulaması yapar. - Plugin’e yerel ikili eksikse veya sürüm uyuşmuyorsa şu komutu çalıştırır:
npm install --omit=dev --no-save acpx@<pinned>ve yeniden doğrular.
command, mutlak yol, göreli yol veya komut adı (acpx) kabul eder.- Göreli yollar OpenClaw çalışma alanı dizininden çözülür.
expectedVersion: "any"sıkı sürüm eşlemesini devre dışı bırakır.commandözel bir ikiliyi/yolu gösterdiğinde plugin’e yerel otomatik kurulum devre dışı kalır.- Backend sağlık kontrolü çalışırken OpenClaw başlangıcı engellemez.
Otomatik bağımlılık kurulumu
OpenClaw’ınpm install -g openclaw ile genel olarak kurduğunuzda, acpx
çalışma zamanı bağımlılıkları (platforma özgü ikililer) bir postinstall hook’u aracılığıyla otomatik kurulur. Otomatik kurulum başarısız olursa gateway yine de normal başlar
ve eksik bağımlılığı openclaw acp doctor üzerinden bildirir.
Plugin araçları MCP köprüsü
Varsayılan olarak, ACPX oturumları OpenClaw tarafından plugin kaydı yapılmış araçları ACP harness’ine açığa çıkarmaz. Codex veya Claude Code gibi ACP agent’larının, bellek geri çağırma/depolama gibi yüklü OpenClaw plugin araçlarını çağırmasını istiyorsanız, ayrılmış köprüyü etkinleştirin:- ACPX oturum bootstrap’ine
openclaw-plugin-toolsadlı yerleşik bir MCP sunucusu enjekte eder. - Yüklü ve etkin OpenClaw plugin’leri tarafından zaten kaydedilmiş plugin araçlarını açığa çıkarır.
- Özelliği açık ve varsayılan olarak kapalı tutar.
- Bu, ACP harness araç yüzeyini genişletir.
- ACP agent’ları yalnızca gateway’de zaten etkin olan plugin araçlarına erişir.
- Bunu, o plugin’lerin OpenClaw içinde yürütülmesine izin vermekle aynı güven sınırı olarak değerlendirin.
- Etkinleştirmeden önce yüklü plugin’leri gözden geçirin.
mcpServers eskisi gibi çalışmaya devam eder. Yerleşik plugin-tools köprüsü,
genel MCP sunucusu yapılandırmasının yerine geçen değil, ek isteğe bağlı bir kolaylıktır.
Çalışma zamanı zaman aşımı yapılandırması
Paketlenmişacpx plugin’i, gömülü çalışma zamanı dönüşlerini varsayılan olarak 120 saniyelik
zaman aşımıyla çalıştırır. Bu, Gemini CLI gibi daha yavaş harness’lere
ACP başlangıcı ve ilk hazırlığı tamamlamak için yeterli zaman verir. Host’unuz farklı bir
çalışma zamanı sınırı gerektiriyorsa bunu geçersiz kılın:
İzin yapılandırması
ACP oturumları etkileşimsiz çalışır — dosya yazma ve shell-exec izin istemlerini onaylayacak veya reddedecek TTY yoktur. acpx plugin’i, izinlerin nasıl işleneceğini kontrol eden iki yapılandırma anahtarı sağlar: Bu ACPX harness izinleri, OpenClaw exec onaylarından ve Claude CLI--permission-mode bypassPermissions gibi CLI-backend sağlayıcı atlama bayraklarından ayrıdır. ACPX approve-all, ACP oturumları için harness düzeyindeki camı kırma anahtarıdır.
permissionMode
Harness agent’ının istem göstermeden hangi işlemleri yapabileceğini kontrol eder.
| Değer | Davranış |
|---|---|
approve-all | Tüm dosya yazma ve shell komutlarını otomatik onaylar. |
approve-reads | Yalnızca okumaları otomatik onaylar; yazma ve exec istem gerektirir. |
deny-all | Tüm izin istemlerini reddeder. |
nonInteractivePermissions
İzin istemi gösterilmesi gerekirdi ama etkileşimli TTY yoksa ne olacağını kontrol eder (ACP oturumları için her zaman böyledir).
| Değer | Davranış |
|---|---|
fail | Oturumu AcpRuntimeError ile durdurur. (varsayılan) |
deny | İzni sessizce reddeder ve devam eder (zarif bozulma). |
Yapılandırma
Plugin yapılandırması üzerinden ayarlayın:Önemli: OpenClaw şu anda varsayılan olarakpermissionMode=approve-readsvenonInteractivePermissions=failkullanır. Etkileşimsiz ACP oturumlarında, izin istemi tetikleyen herhangi bir yazma veya exec işlemiAcpRuntimeError: Permission prompt unavailable in non-interactive modehatasıyla başarısız olabilir. İzinleri kısıtlamanız gerekiyorsa, oturumlar çökmeden zarif biçimde bozulabilsin diyenonInteractivePermissionsdeğerinidenyolarak ayarlayın.
Sorun giderme
| Belirti | Olası neden | Düzeltme |
|---|---|---|
ACP runtime backend is not configured | Backend plugin’i eksik veya devre dışı. | Backend plugin’ini kurup etkinleştirin, ardından /acp doctor çalıştırın. |
ACP is disabled by policy (acp.enabled=false) | ACP genel olarak devre dışı. | acp.enabled=true ayarlayın. |
ACP dispatch is disabled by policy (acp.dispatch.enabled=false) | Normal thread mesajlarından dispatch devre dışı. | acp.dispatch.enabled=true ayarlayın. |
ACP agent "<id>" is not allowed by policy | Agent allowlist içinde değil. | İzinli agentId kullanın veya acp.allowedAgents değerini güncelleyin. |
Unable to resolve session target: ... | Hatalı key/id/label belirteci. | /acp sessions çalıştırın, tam key/label’ı kopyalayın, yeniden deneyin. |
--bind here requires running /acp spawn inside an active ... conversation | --bind here, etkin bağlanabilir bir konuşma olmadan kullanıldı. | Hedef sohbet/kanala geçip yeniden deneyin veya bağımsız başlatma kullanın. |
Conversation bindings are unavailable for <channel>. | Bağdaştırıcı mevcut-konuşma ACP bağlama yeteneğine sahip değil. | Desteklenen yerlerde /acp spawn ... --thread ... kullanın, üst düzey bindings[] yapılandırın veya desteklenen bir kanala geçin. |
--thread here requires running /acp spawn inside an active ... thread | --thread here, thread bağlamı dışında kullanıldı. | Hedef thread’e geçin veya --thread auto/off kullanın. |
Only <user-id> can rebind this channel/conversation/thread. | Etkin bağ hedefinin sahibi başka bir kullanıcı. | Sahibi olarak yeniden bağlayın veya farklı bir konuşma ya da thread kullanın. |
Thread bindings are unavailable for <channel>. | Bağdaştırıcı thread bağlama yeteneğine sahip değil. | --thread off kullanın veya desteklenen bağdaştırıcı/kanala geçin. |
Sandboxed sessions cannot spawn ACP sessions ... | ACP çalışma zamanı host tarafındadır; istek yapan oturum sandbox içindedir. | Sandbox içindeki oturumlardan runtime="subagent" kullanın veya ACP başlatmayı sandbox dışı bir oturumdan yapın. |
sessions_spawn sandbox="require" is unsupported for runtime="acp" ... | ACP çalışma zamanı için sandbox="require" istendi. | Zorunlu sandbox için runtime="subagent" kullanın veya sandbox dışı bir oturumdan ACP ile sandbox="inherit" kullanın. |
| Bağlı oturum için ACP metadata eksik | Eski/silinmiş ACP oturum metadata’sı. | /acp spawn ile yeniden oluşturun, sonra thread’i yeniden bağlayın/odaklayın. |
AcpRuntimeError: Permission prompt unavailable in non-interactive mode | permissionMode, etkileşimsiz ACP oturumunda yazma/exec’i engelliyor. | plugins.entries.acpx.config.permissionMode değerini approve-all yapın ve gateway’i yeniden başlatın. Bkz. İzin yapılandırması. |
| ACP oturumu çok az çıktıyla erken başarısız oluyor | İzin istemleri permissionMode/nonInteractivePermissions tarafından engelleniyor. | Gateway günlüklerinde AcpRuntimeError arayın. Tam izinler için permissionMode=approve-all; zarif bozulma için nonInteractivePermissions=deny ayarlayın. |
| ACP oturumu iş tamamlandıktan sonra süresiz takılı kalıyor | Harness süreci bitti ama ACP oturumu tamamlandığını bildirmedi. | ps aux | grep acpx ile izleyin; eski süreçleri elle sonlandırın. |