ACP ajanları
Agent Client Protocol (ACP) oturumları, OpenClaw’ın bir ACP arka uç 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ına olanak tanır. OpenClaw’dan doğal dille “bunu Codex’te çalıştır” veya “bir başlıkta Claude Code başlat” diye isterseniz, OpenClaw bu isteği ACP çalışma zamanına yönlendirmelidir (yerel alt ajan çalışma zamanına değil). Her ACP oturumu başlatma işlemi bir arka plan görevi olarak izlenir. Codex veya Claude Code’un mevcut OpenClaw kanal konuşmalarına doğrudan harici 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:| İstediğiniz şey… | Bunu kullanın | Notlar |
|---|---|---|
| Codex, Claude Code, Gemini CLI veya başka bir harici harness’i OpenClaw üzerinden çalıştırmak | Bu sayfa: ACP ajanları | Sohbete bağlı oturumlar, /acp spawn, sessions_spawn({ runtime: "acp" }), arka plan görevleri, çalışma zamanı denetimleri |
| Bir OpenClaw Gateway oturumunu bir düzenleyici veya istemci için ACP sunucusu olarak açığa çıkarmak | openclaw acp | Köprü modu. IDE/istemci stdio/WebSocket üzerinden OpenClaw ile ACP konuşur |
| Yerel bir AI CLI’yi yalnızca metin tabanlı yedek model olarak yeniden kullanmak | CLI Arka Uçları | ACP değildir. OpenClaw araçları yoktur, ACP denetimleri 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 varsayılan olarak etkin şekilde gelir. - Paketlenmiş
acpxplugin’i kendi plugin yerel sabitlenmişacpxikili dosyasını tercih eder. - Başlangıçta OpenClaw bu ikiliyi yoklar ve gerekirse kendi kendine onarır.
- Hızlı bir hazır olma denetimi istiyorsanız
/acp doctorile başlayın.
- Hedef bir harness bağdaştırıcısı, o harness’i ilk kullandığınızda
npxile isteğe bağlı olarak getirilebilir. - Bu harness için sağlayıcı kimlik doğrulamasının yine de ana makinede mevcut olması gerekir.
- Ana makinede npm/ağ erişimi yoksa, ilk çalıştırma bağdaştırıcı indirmeleri önbellekler ısıtılana veya bağdaştırıcı başka bir şekilde kurulana kadar başarısız olabilir.
/acp spawn codex: OpenClawacpxönyüklemesine hazır olmalıdır, ancak Codex ACP bağdaştırıcısı yine de ilk çalıştırmada getirilmeyi gerektirebilir./acp spawn claude: Claude ACP bağdaştırıcısı için de durum aynıdır; ayrıca o ana makinede Claude tarafı kimlik doğrulaması 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şmada veya başlıkta çalışın (veya o oturum anahtarını açıkça hedefleyin).
- Çalışma zamanı durumunu denetleyin:
/acp status
- Gerektikçe ç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 günlüğü sıkılaştır ve devam et
- Çalışmayı durdurun:
/acp cancel(mevcut turu 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 başlıkta 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 takipleri aynı çalışma alanında tut.”
- “Bu görev için bir başlıkta Gemini CLI kullan, sonra takipleri aynı başlıkta tut.”
runtime: "acp"seçmek.- İstenen harness hedefini çözmek (
agentId, örneğincodex). - Mevcut konuşma bağı isteniyorsa ve etkin kanal bunu destekliyorsa, ACP oturumunu o konuşmaya bağlamak.
- Aksi halde başlık bağı isteniyorsa ve mevcut kanal bunu destekliyorsa, ACP oturumunu o başlığa bağlamak.
- Takip eden bağlı mesajları odağı kaldırılana/kapatılana/süresi dolana kadar aynı ACP oturumuna yönlendirmek.
ACP ve alt ajanlar karşılaştırması
Harici bir harness çalışma zamanı istediğinizde ACP kullanın. OpenClaw yerel delege çalıştırmalar istediğinizde alt ajanları kullanın.| Alan | ACP oturumu | Alt ajan çalıştırması |
|---|---|---|
| Çalışma zamanı | ACP arka uç plugin’i (örneğin acpx) | OpenClaw yerel alt ajan çalışma zamanı |
| Oturum anahtarı | agent:<agentId>:acp:<uuid> | agent:<agentId>:subagent:<uuid> |
| Ana komutlar | /acp ... | /subagents ... |
| Başlatma aracı | sessions_spawn with 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 denetim 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, doğrudan
claude-cli/...yedek çalışma zamanı ile aynı şey değildir. - ACP Claude; ACP denetimleri, oturum sürdürme, arka plan görevi takibi ve isteğe bağlı konuşma/başlık bağlama içeren bir harness oturumudur.
claude-cli/...yalnızca metin tabanlı yerel bir CLI arka ucudur. Bkz. CLI Arka Uçları.
/acp spawn, bağlanabilir oturumlar, çalışma zamanı denetimleri veya kalıcı harness çalışması istiyorsanız: ACP kullanın- ham CLI üzerinden basit yerel metin yedeği istiyorsanız: CLI arka uçlarını kullanın
Bağlı oturumlar
Mevcut konuşmaya bağlamalar
Geçerli konuşmanın, alt başlık oluşturmadan kalıcı bir ACP çalışma alanı olmasını istediğinizde/acp spawn <harness> --bind here kullanın.
Davranış:
- OpenClaw, kanal taşımasını, kimlik doğrulamayı, güvenliği ve teslimatı yönetmeye devam eder.
- Geçerli konuşma, başlatılan ACP oturum anahtarına sabitlenir.
- O konuşmadaki takip mesajları aynı ACP oturumuna yönlendirilir.
/newve/resetaynı bağlı ACP oturumunu yerinde sıfırlar./acp closeoturumu kapatır ve mevcut konuşma bağını kaldırır.
--bind hereaynı 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ğ, bu oturumu mevcut konuşmaya ekler.--bind herekendi başına alt bir Discord başlığı veya Telegram konusu oluşturmaz.- ACP çalışma zamanının yine de kendi çalışma dizini (
cwd) veya arka uç tarafından yönetilen diskte bir çalışma alanı olabilir. Bu çalışma zamanı alanı sohbet yüzeyinden ayrıdır ve yeni bir mesajlaşma başlığı anlamına gelmez. - Farklı bir ACP ajanına başlatma yaparsanız ve
--cwdvermezseniz, OpenClaw varsayılan olarak isteği gönderenin değil hedef ajanın çalışma alanını devralır. - Devralınan çalışma alanı yolu yoksa (
ENOENT/ENOTDIR), OpenClaw yanlış ağacı sessizce yeniden kullanmak yerine arka uç varsayılan cwd’sine geri döner. - Devralınan çalışma alanı varsa ancak erişilemiyorsa (örneğin
EACCES), başlatmacwd’yi bırakmak yerine gerçek erişim hatasını döndürür.
- sohbet yüzeyi: insanların konuşmaya devam ettiği yer (
Discord kanalı,Telegram konusu,iMessage sohbeti) - ACP oturumu: OpenClaw’ın yönlendirdiği kalıcı Codex/Claude/Gemini çalışma zamanı durumu
- alt başlık/konu: yalnızca
--thread ...ile 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, arka uç çalışma alanı)
/acp spawn codex --bind here: bu sohbeti korur, bir Codex ACP oturumu başlatır veya ona bağlanır ve gelecekteki mesajları buradan oraya yönlendirir/acp spawn codex --thread auto: OpenClaw bir alt başlık/konu oluşturabilir ve ACP oturumunu oraya bağlayabilir/acp spawn codex --bind here --cwd /workspace/repo: yukarıdaki ile aynı sohbet bağı, ancak Codex/workspace/repoiçinde çalışır
- Geçerli konuşma bağlama desteği bildiren sohbet/mesaj kanalları, paylaşılan konuşma bağlama yolu üzerinden
--bind herekullanabilir. - Özel başlık/konu anlambilimi olan kanallar, yine aynı paylaşılan arayüz arkasında kanala özgü kanonikleştirme 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ğlama deposunu kullanır ve normal gateway yeniden başlatmalarında korunur.
/acp spawnüzerinde--bind hereve--thread ...birbirini dışlar.- Discord’da
--bind here, mevcut kanalı veya başlığı yerinde bağlar.spawnAcpSessionsyalnızca OpenClaw’ın--thread auto|hereiçin alt bir başlık oluşturması gerektiğinde gerekir. - Etkin kanal mevcut konuşma ACP bağlarını sunmuyorsa, OpenClaw açık bir desteklenmiyor mesajı döndürür.
resumeve “yeni oturum” 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.
Başlığa bağlı oturumlar
Bir kanal bağdaştırıcısında başlık bağları etkinleştirildiğinde, ACP oturumları başlıklara bağlanabilir:- OpenClaw bir başlığı hedef ACP oturumuna bağlar.
- O başlıktaki takip mesajları bağlı ACP oturumuna yönlendirilir.
- ACP çıktısı aynı başlığa geri teslim edilir.
- Odak kaldırma/kapatma/arşivleme/boşta kalma zaman aşımı veya maksimum yaş süresi dolması bağı kaldırır.
acp.enabled=trueacp.dispatch.enabledvarsayılan olarak açıktır (ACP dağıtımını duraklatmak içinfalseayarlayın)- Kanal bağdaştırıcısı ACP başlık başlatma bayrağı etkin (bağdaştırıcıya özgü)
- Discord:
channels.discord.threadBindings.spawnAcpSessions=true - Telegram:
channels.telegram.threadBindings.spawnAcpSessions=true
- Discord:
Başlık destekleyen kanallar
- Oturum/başlık bağlama yeteneğini açığa çıkaran herhangi bir kanal bağdaştırıcısı.
- Mevcut yerleşik destek:
- Discord başlıkları/kanalları
- Telegram konuları (gruplar/süper gruplardaki forum konuları ve DM konuları)
- Plugin kanalları aynı bağlama arayüzü üzerinden destek ekleyebilir.
Kanala özgü ayarlar
Geçici 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ğını işaretler.bindings[].matchhedef konuşmayı tanımlar:- Discord kanalı veya başlığı:
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 başlığı:
bindings[].agentId, sahip OpenClaw ajan kimliğidir.- İsteğe bağlı ACP geçersiz kılmaları
bindings[].acpaltında yaşar:mode(persistentveyaoneshot)labelcwdbackend
Ajan başına çalışma zamanı varsayılanları
Ajan 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ılmış ACP oturumunun kullanımdan önce var olduğundan emin olur.
- O kanaldaki veya konudaki mesajlar yapılandırılmış 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 başlık odak akışları tarafından oluşturulanlar) mevcut oldukları yerde yine uygulanır.
- Açık bir
cwdolmadan ajanlar arası ACP başlatmalarında OpenClaw, hedef ajan çalışma alanını ajan yapılandırmasından devralır. - Eksik devralınmış çalışma alanı yolları arka uç varsayılan cwd’ye geri döner; eksik olmayan erişim hataları ise başlatma hatası olarak gösterilir.
ACP oturumlarını başlatma (arayüzler)
sessions_spawn üzerinden
Bir ajan turundan 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.agentIdatlanırsa, yapılandırılmışsa OpenClawacp.defaultAgentkullanır.mode: "session"kalıcı bağlı bir konuşma tutmak 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üşer.thread(isteğe bağlı, varsayılanfalse): desteklenen yerlerde başlık bağlama akışını ister.mode(isteğe bağlı):run(tek seferlik) veyasession(kalıcı).- varsayılan
run’dır thread: trueve mode atlanmışsa, OpenClaw çalışma zamanı yoluna göre varsayılan olarak kalıcı davranış seçebilirmode: "session"içinthread: truegerekir
- varsayılan
cwd(isteğe bağlı): istenen çalışma zamanı çalışma dizini (arka uç/çalışma zamanı ilkesi tarafından doğrulanır). Atlanırsa, ACP başlatma yapılandırılmışsa hedef ajan çalışma alanını devralır; eksik devralınan yollar arka uç varsayılanlarına geri düşer, gerçek erişim hataları ise 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 ACP oturumunu sürdürür. Ajan konuşma geçmişinisession/loadile yeniden oynatır.runtime: "acp"gerektirir.streamTo(isteğe bağlı):"parent"ilk ACP çalışma ilerleme özetlerini sistem olayları olarak isteği yapan oturuma geri akıtır.- Kullanılabildiğinde, kabul edilen yanıtlarda tam aktarma geçmişi için izleyebileceğiniz oturum kapsamlı bir JSONL günlük dosyasına (
<sessionId>.acp-stream.jsonl) işaret edenstreamLogPathbulunur.
- Kullanılabildiğinde, kabul edilen yanıtlarda tam aktarma geçmişi için izleyebileceğiniz oturum kapsamlı bir JSONL günlük dosyasına (
Mevcut bir oturumu sürdürme
Yeni başlatmak yerine önceki bir ACP oturumunu sürdürmek içinresumeSessionId kullanın. Ajan konuşma geçmişini session/load üzerinden yeniden oynattığı için, önceki tam bağlamla kaldığı yerden devam eder.
- Bir Codex oturumunu dizüstü bilgisayarınızdan telefonunuza devretmek — ajanınıza kaldığınız yerden devam etmesini söyleyin
- CLI’de etkileşimli olarak başlattığınız bir kodlama oturumunu artık ajanınız üzerinden başsız olarak sürdürmek
- Gateway yeniden başlatması veya boşta kalma zaman aşımı nedeniyle kesilen çalışmayı devam ettirmek
resumeSessionIdiçinruntime: "acp"gerekir — alt ajan çalışma zamanı ile kullanılırsa hata döner.resumeSessionId, üst akış ACP konuşma geçmişini geri yükler;threadvemodeyine de oluşturmakta olduğunuz yeni OpenClaw oturumuna normal şekilde uygulanır, bu nedenlemode: "session"için hâlâthread: truegerekir.- Hedef ajan
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 bir oturuma sessiz geri dönüş yoktur.
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 geçit:- Hedef ana makinede dağıtılmış gateway sürümünü/commit’ini doğrulayın.
- Dağıtılmış kaynağın
src/gateway/sessions-patch.tsiçinde ACP soy kabulünü içerdiğini doğrulayın (subagent:* or acp:* sessions). - Canlı bir ajana geçici bir ACPX köprü oturumu açın (örneğin
jpclawhqüzerinderazor(main)). - O ajandan şu özelliklerle
sessions_spawnçağırmasını isteyin:runtime: "acp"agentId: "codex"mode: "run"- görev:
Reply with exactly LIVE-ACP-SPAWN-OK
- Ajanın şunları bildirdiğini doğrulayın:
accepted=yes- gerçek bir
childSessionKey - doğrulayıcı hatası yok
- Geçici ACPX köprü oturumunu temizleyin.
- Kasıtlı olarak başlığa bağlı kalıcı ACP oturumlarını test etmiyorsanız bu smoke testini
mode: "run"üzerinde tutun. - Temel geçit için
streamTo: "parent"gerektirmeyin. Bu yol, istekte bulunan/oturum yeteneklerine bağlıdır ve ayrı bir entegrasyon denetimidir. - Başlığa bağlı
mode: "session"testini gerçek bir Discord başlığından veya Telegram konusundan ikinci, daha zengin bir entegrasyon geçişi olarak ele alın.
Sandbox uyumluluğu
ACP oturumları şu anda OpenClaw sandbox’ı içinde değil, ana makine ç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"desteği sunmaz.- 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 sohbette 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ı bir oturum hedefi 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 başlık bağı (bu konuşma/başlık bir ACP oturumuna bağlıysa)
- Geçerli istek yapan oturumuna geri dönüş
Unable to resolve session target: ...).
Başlatma bağlama modları
/acp spawn, --bind here|off desteği sunar.
| Mod | Davranış |
|---|---|
here | Geçerli etkin konuşmayı yerinde bağlar; etkin bir konuşma yoksa başarısız olur. |
off | Mevcut konuşma bağı oluşturmaz. |
--bind here, “bu kanal veya sohbeti Codex destekli yap” için en basit operatör yoludur.--bind herebir alt başlık oluşturmaz.--bind hereyalnızca mevcut konuşma bağlama desteği sunan kanallarda kullanılabilir.--bindve--threadaynı/acp spawnçağrısında birlikte kullanılamaz.
Başlatma başlık modları
/acp spawn, --thread auto|here|off desteği sunar.
| Mod | Davranış |
|---|---|
auto | Etkin bir başlıktaysanız: o başlığı bağlar. Başlık dışında: destekleniyorsa bir alt başlık oluşturur/bağlar. |
here | Geçerli etkin başlığı zorunlu kılar; bir başlıkta değilse başarısız olur. |
off | Bağ yoktur. Oturum bağlı olmadan başlar. |
- Başlık bağlamayan yüzeylerde varsayılan davranış fiilen
offolur. - Başlığa bağlı başlatma kanal ilkesi desteği gerektirir:
- Discord:
channels.discord.threadBindings.spawnAcpSessions=true - Telegram:
channels.telegram.threadBindings.spawnAcpSessions=true
- Discord:
- Alt başlık oluşturmadan geçerli konuşmayı sabitlemek istediğinizde
--bind herekullanın.
ACP denetimleri
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, etkin çalışma zamanı seçeneklerini ve mevcut olduğunda hem çalışma zamanı düzeyi hem de arka uç düzeyi oturum tanımlayıcılarını gösterir.
Bazı denetimler arka uç yeteneklerine bağlıdır. Arka uç bir denetimi desteklemiyorsa, OpenClaw açık bir desteklenmeyen denetim 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 başlık bağı. | /acp spawn codex --bind here --cwd /repo |
/acp cancel | Hedef oturum için devam eden turu 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 başlık hedefi bağlarını kaldırır. | /acp close |
/acp status | Arka uç, mod, durum, çalışma zamanı seçenekleri, yetenekleri gösterir. | /acp status |
/acp set-mode | Hedef oturum için çalışma zamanı modunu 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ı (saniye) ayarlar. | /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 | Arka uç sağlığı, yetenekler, uygulanabilir düzeltmeler. | /acp doctor |
/acp install | Deterministik kurulum ve etkinleştirme adımlarını yazdırır. | /acp install |
/acp sessions, depo verisini geçerli bağlı veya isteği yapan oturum için okur. session-key, session-id veya session-label belirteçlerini kabul eden komutlar, özel ajan başına session.store kökleri dahil olmak üzere hedefleri gateway oturum keşfi üzerinden çözümler.
Çalışma zamanı seçenek eşlemesi
/acp, kolaylık komutları ve genel bir ayarlayıcı içerir.
Eşdeğer işlemler:
/acp model <id>, çalışma zamanı yapılandırma anahtarımodelile eşleşir./acp permissions <profile>, çalışma zamanı yapılandırma anahtarıapproval_policyile eşleşir./acp timeout <seconds>, çalışma zamanı yapılandırma anahtarıtimeoutile eşleşir./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 açığa çıkarıyorsa, yerleşik varsayılanı değiştirmek yerine acpx yapılandırmanızda cursor ajan komutunu geçersiz kılın.
Doğrudan acpx CLI kullanımı --agent <command> üzerinden keyfi bağdaştırıcıları da hedefleyebilir, ancak bu ham kaçış kapısı normal OpenClaw agentId yolu değil, acpx CLI özelliğidir.
Gerekli yapılandırma
Temel ACP tabanı:- Discord:
channels.discord.threadBindings.spawnAcpSessions=true
acpx arka ucu için plugin kurulumu
Yeni kurulumlar paketlenmişacpx çalışma zamanı plugin’i varsayılan olarak etkin gönderildiği için, ACP genellikle manuel bir plugin kurulum adımı olmadan çalışır.
Şununla başlayın:
acpx devre dışı bıraktıysanız, plugins.allow / plugins.deny ile engellediyseniz 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 arka uç plugin’i (acpx) plugin yerel sabitlenmiş ikiliyi kullanır:
- Komut varsayılan olarak ACPX plugin paketi içindeki plugin yerel
node_modules/.bin/acpxolur. - Beklenen sürüm varsayılan olarak extension sabitlemesine göre belirlenir.
- Başlangıç, ACP arka ucunu anında hazır değil olarak kaydeder.
- Arka plandaki bir ensure işi
acpx --versiondoğrulaması yapar. - Plugin 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.
commandmutlak yol, göreli yol veya komut adı (acpx) kabul eder.- Göreli yollar OpenClaw çalışma alanı dizininden çözülür.
expectedVersion: "any", katı sürüm eşlemesini devre dışı bırakır.commandözel bir ikili/yola işaret ettiğinde, plugin yerel otomatik kurulum devre dışı kalır.- Arka uç sağlık denetimi çalışırken OpenClaw başlangıcı engelleyici olmadan devam eder.
Otomatik bağımlılık kurulumu
OpenClaw’ınpm install -g openclaw ile global olarak yüklediğinizde, acpx
çalışma zamanı bağımlılıkları (platforma özgü ikili dosyalar) bir postinstall kancası ile otomatik olarak kurulur. Otomatik kurulum başarısız olursa, gateway yine normal şekilde başlar ve eksik bağımlılığı openclaw acp doctor aracılığıyla bildirir.
Plugin araçları MCP köprüsü
Varsayılan olarak ACPX oturumları, OpenClaw plugin kayıtlı araçlarını ACP harness’ine açığa çıkarmaz. Codex veya Claude Code gibi ACP ajanlarının memory recall/store gibi yüklü OpenClaw plugin araçlarını çağırmasını istiyorsanız, özel köprüyü etkinleştirin:- ACPX oturumu önyüklemesine
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 ajanları yalnızca gateway içinde zaten etkin olan plugin araçlarına erişim kazanır.
- Bunu, aynı 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 araçları köprüsü, genel MCP sunucu yapılandırmasının yerine geçen değil, ek bir isteğe bağlı kolaylıktır.
İzin yapılandırması
ACP oturumları etkileşimsiz çalışır — dosya yazma ve shell exec izin istemlerini onaylayıp reddetmek için bir TTY yoktur. acpx plugin’i, izinlerin nasıl ele alınacağını denetleyen iki yapılandırma anahtarı sağlar: Bu ACPX harness izinleri, OpenClaw exec onaylarından ve Claude CLI--permission-mode bypassPermissions gibi CLI arka ucu sağlayıcı atlama bayraklarından ayrıdır. ACPX approve-all, ACP oturumları için harness düzeyindeki acil durum anahtarıdır.
permissionMode
Harness ajanının hangi işlemleri istem göstermeden gerçekleştirebileceğini denetler.
| Değer | Davranış |
|---|---|
approve-all | Tüm dosya yazmaları 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 gerekirken etkileşimli TTY bulunmadığında ne olacağını denetler (ACP oturumları için her zaman böyledir).
| Değer | Davranış |
|---|---|
fail | Oturumu AcpRuntimeError ile sonlandırır. (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 modeile başarısız olabilir. İzinleri kısıtlamanız gerekiyorsa, oturumlar çökme yerine zarif biçimde bozulsun diyenonInteractivePermissionsdeğerinidenyyapın.
Sorun giderme
| Belirti | Olası neden | Düzeltme |
|---|---|---|
ACP runtime backend is not configured | Arka uç plugin’i eksik veya devre dışı. | Arka uç 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 başlık mesajlarından dağıtım devre dışı. | acp.dispatch.enabled=true ayarlayın. |
ACP agent "<id>" is not allowed by policy | Ajan izin listesinde değil. | İzin verilen agentId kullanın veya acp.allowedAgents güncelleyin. |
Unable to resolve session target: ... | Hatalı anahtar/kimlik/etiket belirteci. | /acp sessions çalıştırın, tam anahtar/etiketi 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 gidip yeniden deneyin veya bağlı olmayan 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. | Destekleniyorsa /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 bir başlık bağlamı dışında kullanıldı. | Hedef başlığa 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 başlık kullanın. |
Thread bindings are unavailable for <channel>. | Bağdaştırıcı başlık bağlama yeteneğine sahip değil. | --thread off kullanın veya desteklenen bir bağdaştırıcı/kanala geçin. |
Sandboxed sessions cannot spawn ACP sessions ... | ACP çalışma zamanı ana makine tarafındadır; isteği 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’yi sandbox="inherit" ile kullanın. |
| Bağlı oturum için ACP meta verisi eksik | Eski/silinmiş ACP oturum meta verisi. | /acp spawn ile yeniden oluşturun, ardından başlığı yeniden bağlayın/odaklayın. |
AcpRuntimeError: Permission prompt unavailable in non-interactive mode | permissionMode, etkileşimsiz ACP oturumunda yazma/exec işlemlerini 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ı ile erkenden başarısız oluyor | İzin istemleri permissionMode/nonInteractivePermissions tarafından engelleniyor. | AcpRuntimeError için gateway günlüklerini kontrol edin. Tam izin için permissionMode=approve-all; zarif bozulma için nonInteractivePermissions=deny ayarlayın. |
| ACP oturumu işi tamamladıktan sonra belirsiz süreyle takılı kalıyor | Harness işlemi tamamlandı ama ACP oturumu tamamlanmayı bildirmedi. | ps aux | grep acpx ile izleyin; eski işlemleri manuel olarak sonlandırın. |