ACP बाहरी हार्नेस का मार्ग है, डिफ़ॉल्ट Codex मार्ग नहीं। नेटिव
Codex ऐप-सर्वर Plugin एजेंट टर्न के लिए
/codex ... नियंत्रणों और डिफ़ॉल्ट
openai/gpt-* एम्बेडेड रनटाइम का स्वामी है; ACP /acp ... नियंत्रणों
और sessions_spawn({ runtime: "acp" }) सत्रों का स्वामी है।Codex या Claude Code को बाहरी MCP क्लाइंट के रूप में सीधे मौजूदा OpenClaw चैनल वार्तालापों से
कनेक्ट करने के लिए ACP के बजाय
openclaw mcp serve का उपयोग करें।मुझे कौन-सा पृष्ठ चाहिए?
क्या यह बिना अतिरिक्त सेटअप के काम करता है?
हाँ, आधिकारिक ACP रनटाइम Plugin इंस्टॉल करने के बाद:pnpm install के बाद स्थानीय extensions/acpx वर्कस्पेस Plugin का उपयोग कर सकते हैं।
तत्परता जाँच के लिए /acp doctor चलाएँ।
OpenClaw एजेंटों को ACP स्पॉनिंग के बारे में केवल तभी बताता है, जब ACP वास्तव में उपयोग योग्य हो:
ACP सक्षम होना चाहिए, डिस्पैच अक्षम नहीं होना चाहिए, वर्तमान सत्र
सैंडबॉक्स द्वारा अवरुद्ध नहीं होना चाहिए और रनटाइम बैकएंड लोड तथा स्वस्थ होना चाहिए। यदि
कोई भी शर्त विफल होती है, तो ACP Skills और sessions_spawn ACP मार्गदर्शन छिपे रहते हैं,
ताकि एजेंट किसी अनुपलब्ध बैकएंड का सुझाव न दे।
पहली बार चलाने की समस्याएँ
पहली बार चलाने की समस्याएँ
- यदि
plugins.allowसेट है, तो यह एक प्रतिबंधात्मक Plugin सूची है और इसमेंacpxअवश्य शामिल होना चाहिए, अन्यथा इंस्टॉल किया गया ACP बैकएंड जानबूझकर अवरुद्ध कर दिया जाता है (/acp doctorअनुपस्थित अनुमत-सूची प्रविष्टि की रिपोर्ट करता है)। - Codex ACP अडैप्टर
acpxPlugin के साथ आता है और संभव होने पर स्थानीय रूप से लॉन्च होता है। - Codex ACP एक अलग
CODEX_HOMEके साथ चलता है। OpenClaw होस्ट Codex कॉन्फ़िगरेशन से विश्वसनीय प्रोजेक्ट ट्रस्ट प्रविष्टियाँ और सुरक्षित मॉडल/प्रोवाइडर रूटिंग कॉन्फ़िगरेशन (model,model_provider,model_reasoning_effort,sandbox_modeऔर सुरक्षितmodel_providers.<name>फ़ील्ड) कॉपी करता है; प्रमाणीकरण, सूचनाएँ और हुक केवल होस्ट कॉन्फ़िगरेशन में रहते हैं। - पहली बार उपयोग किए जाने पर अन्य लक्ष्य हार्नेस अडैप्टर
npxके साथ माँग पर फ़ेच किए जा सकते हैं। - उस हार्नेस के लिए वेंडर प्रमाणीकरण होस्ट पर पहले से मौजूद होना चाहिए।
- यदि होस्ट के पास npm या नेटवर्क पहुँच नहीं है, तो पहली बार अडैप्टर फ़ेच तब तक विफल होते हैं, जब तक कैश पहले से वार्म न किए जाएँ या अडैप्टर किसी अन्य तरीके से इंस्टॉल न किया जाए।
रनटाइम की पूर्वापेक्षाएँ
रनटाइम की पूर्वापेक्षाएँ
ACP एक वास्तविक बाहरी हार्नेस प्रक्रिया लॉन्च करता है। OpenClaw रूटिंग,
बैकग्राउंड-कार्य स्थिति, डिलीवरी, बाइंडिंग और नीति का स्वामी है; हार्नेस
अपने प्रोवाइडर लॉगिन, मॉडल कैटलॉग, फ़ाइल-सिस्टम व्यवहार और नेटिव टूल का स्वामी है।OpenClaw को दोष देने से पहले यह सत्यापित करें:
/acp doctorएक सक्षम, स्वस्थ बैकएंड की रिपोर्ट करता है।- जब अनुमत-सूची सेट हो, तब लक्ष्य आईडी को
acp.allowedAgentsद्वारा अनुमति प्राप्त हो। - हार्नेस कमांड Gateway होस्ट पर शुरू हो सके।
- उस हार्नेस के लिए प्रोवाइडर प्रमाणीकरण मौजूद हो (
claude,codex,gemini,opencode,droidआदि)। - चयनित मॉडल उस हार्नेस के लिए मौजूद हो - मॉडल आईडी हार्नेसों के बीच पोर्टेबल नहीं होते।
- अनुरोधित
cwdमौजूद और पहुँच योग्य हो, याcwdछोड़ दें और बैकएंड को अपना डिफ़ॉल्ट उपयोग करने दें। - अनुमति मोड कार्य से मेल खाता हो। गैर-इंटरैक्टिव सत्र नेटिव अनुमति प्रॉम्प्ट पर क्लिक नहीं कर सकते, इसलिए लिखने/निष्पादन पर अधिक निर्भर कोडिंग रन को सामान्यतः ऐसे ACPX अनुमति प्रोफ़ाइल की आवश्यकता होती है, जो हेडलेस रूप से आगे बढ़ सके।
समर्थित हार्नेस लक्ष्य
acpx बैकएंड के साथ इन आईडी का उपयोग /acp spawn <id> या
sessions_spawn({ runtime: "acp", agentId: "<id>" }) लक्ष्य के रूप में करें:
pi (pi-acp) भी acpx बैकएंड में पंजीकृत है, लेकिन यह ऊपर दिए गए अन्य हार्नेसों के समान अर्थ में
कोडिंग हार्नेस नहीं है।
कस्टम acpx एजेंट उपनाम acpx में ही कॉन्फ़िगर किए जा सकते हैं, लेकिन OpenClaw
नीति डिस्पैच से पहले फिर भी acp.allowedAgents और किसी भी
agents.entries.*.runtime.acp.agent मैपिंग की जाँच करती है।
ऑपरेटर रनबुक
चैट से त्वरित/acp प्रवाह:
1
स्पॉन करें
/acp spawn claude --bind here,
/acp spawn gemini --mode persistent --thread auto, या स्पष्ट
/acp spawn codex --bind here।2
काम करें
बाइंड की गई वार्तालाप या थ्रेड में जारी रखें (या सत्र कुंजी को
स्पष्ट रूप से लक्षित करें)।
3
स्थिति जाँचें
/acp status4
समायोजित करें
/acp model <provider/model>, /acp permissions <profile>,
/acp timeout <seconds>।5
दिशा दें
संदर्भ बदले बिना:
/acp steer tighten logging and continue।6
रोकें
/acp cancel (वर्तमान टर्न) या /acp close (सत्र + बाइंडिंग)।जीवनचक्र विवरण
जीवनचक्र विवरण
- स्पॉन किसी ACP रनटाइम सत्र को बनाता या फिर से शुरू करता है, OpenClaw सत्र स्टोर में ACP मेटाडेटा दर्ज करता है, और जब रन का स्वामित्व पैरेंट के पास हो, तब एक पृष्ठभूमि कार्य बना सकता है।
- पैरेंट-स्वामित्व वाले ACP सत्रों को पृष्ठभूमि कार्य माना जाता है, भले ही रनटाइम सत्र स्थायी हो; पूर्णता और विभिन्न सतहों पर डिलीवरी सामान्य उपयोगकर्ता-दृश्य चैट सत्र की तरह व्यवहार करने के बजाय पैरेंट कार्य सूचक के माध्यम से होती है।
- कार्य रखरखाव टर्मिनल या अनाथ पैरेंट-स्वामित्व वाले एकल-रन ACP सत्रों को बंद करता है। सक्रिय वार्तालाप बाइंडिंग बने रहने तक स्थायी ACP सत्र संरक्षित रहते हैं; सक्रिय बाइंडिंग के बिना पुराने स्थायी सत्र बंद कर दिए जाते हैं, ताकि स्वामी कार्य पूरा हो जाने या उसका कार्य रिकॉर्ड मिट जाने के बाद उन्हें चुपचाप फिर से शुरू न किया जा सके।
- बाइंड किए गए अनुवर्ती संदेश सीधे ACP सत्र में जाते हैं, जब तक कि बाइंडिंग बंद, अनफोकस, रीसेट या समाप्त न हो जाए।
- Gateway कमांड स्थानीय रहते हैं।
/acp ...,/status, और/unfocusको बाइंड किए गए ACP हार्नेस में सामान्य प्रॉम्प्ट टेक्स्ट के रूप में कभी नहीं भेजा जाता। cancelबैकएंड द्वारा रद्दीकरण समर्थित होने पर सक्रिय टर्न को निरस्त करता है; यह बाइंडिंग या सत्र मेटाडेटा को नहीं मिटाता।closeOpenClaw के दृष्टिकोण से ACP सत्र समाप्त करता है और बाइंडिंग हटा देता है। यदि कोई हार्नेस पुनरारंभ का समर्थन करता है, तो वह अपना अपस्ट्रीम इतिहास अब भी रख सकता है।- acpx Plugin
closeके बाद OpenClaw-स्वामित्व वाले रैपर और अडैप्टर प्रोसेस ट्री साफ़ करता है, और Gateway स्टार्टअप के दौरान पुराने OpenClaw-स्वामित्व वाले ACPX अनाथ प्रोसेस हटाता है। - निष्क्रिय रनटाइम वर्कर अंतर्निर्मित निष्क्रिय अवधि के बाद सफ़ाई के योग्य होते हैं; संग्रहीत सत्र मेटाडेटा
/acp sessionsके लिए उपलब्ध रहता है।
नेटिव Codex रूटिंग नियम
नेटिव Codex रूटिंग नियम
स्वाभाविक भाषा के वे ट्रिगर जिन्हें सक्षम होने पर नेटिव Codex Plugin
पर रूट होना चाहिए:
- “इस Discord चैनल को Codex से बाइंड करें।”
- “इस चैट को Codex थ्रेड
<id>से अटैच करें।” - “Codex थ्रेड दिखाएँ, फिर इसे बाइंड करें।”
before_tool_call को ब्लॉक कर सकें, after_tool_call का निरीक्षण कर सकें, और Codex
PermissionRequest इवेंट को OpenClaw अनुमोदनों के माध्यम से रूट कर सकें। Codex Stop हुक
OpenClaw before_agent_finalize में रिले किए जाते हैं, जहाँ Plugin
Codex द्वारा उत्तर को अंतिम रूप देने से पहले मॉडल का एक और पास अनुरोध कर सकते हैं। रिले को
जानबूझकर रूढ़िवादी रखा गया है: यह Codex-नेटिव टूल आर्ग्युमेंट को परिवर्तित
या Codex थ्रेड रिकॉर्ड को दोबारा नहीं लिखता। ACP रनटाइम/सत्र मॉडल चाहिए
तभी स्पष्ट ACP का उपयोग करें। एम्बेडेड Codex समर्थन सीमा का दस्तावेज़ीकरण
Codex हार्नेस v1 समर्थन अनुबंध
में किया गया है।मॉडल / प्रदाता / रनटाइम चयन संक्षिप्त मार्गदर्शिका
मॉडल / प्रदाता / रनटाइम चयन संक्षिप्त मार्गदर्शिका
- लेगेसी Codex मॉडल संदर्भ - लेगेसी Codex OAuth/सदस्यता मॉडल रूट, जिसे डॉक्टर द्वारा सुधारा जाता है।
openai/*- OpenAI एजेंट टर्न के लिए नेटिव Codex ऐप-सर्वर एम्बेडेड रनटाइम।/codex ...- नेटिव Codex वार्तालाप नियंत्रण।/acp ...याruntime: "acp"- स्पष्ट ACP/acpx नियंत्रण।
ACP-रूटिंग के स्वाभाविक भाषा ट्रिगर
ACP-रूटिंग के स्वाभाविक भाषा ट्रिगर
वे ट्रिगर जिन्हें ACP रनटाइम पर रूट होना चाहिए:
- “इसे एकल-रन Claude Code ACP सत्र के रूप में चलाएँ और परिणाम का सारांश दें।”
- “इस कार्य के लिए किसी थ्रेड में Gemini CLI का उपयोग करें, फिर अनुवर्ती संदेश उसी थ्रेड में रखें।”
- “Codex को ACP के माध्यम से किसी पृष्ठभूमि थ्रेड में चलाएँ।”
runtime: "acp" चुनता है, हार्नेस agentId का समाधान करता है, समर्थित होने पर
वर्तमान वार्तालाप या थ्रेड से बाइंड करता है, और बंद होने/समाप्ति तक अनुवर्ती संदेशों को
उस सत्र पर रूट करता है। Codex इस पथ का अनुसरण केवल तभी करता है जब
ACP/acpx स्पष्ट हो या अनुरोधित कार्रवाई के लिए नेटिव Codex Plugin
उपलब्ध न हो।sessions_spawn के लिए, runtime: "acp" का विज्ञापन केवल तभी किया जाता है जब ACP
सक्षम हो, अनुरोधकर्ता सैंडबॉक्स में न हो, और ACP रनटाइम बैकएंड
लोड हो। acp.dispatch.enabled=false स्वचालित ACP थ्रेड प्रेषण रोकता है,
लेकिन स्पष्ट sessions_spawn({ runtime: "acp" }) कॉल को छिपाता या ब्लॉक नहीं
करता। यह codex, claude, droid,
gemini, या opencode जैसे ACP हार्नेस आईडी को लक्षित करता है। agents_list
से सामान्य OpenClaw कॉन्फ़िग एजेंट आईडी तब तक न दें, जब तक वह प्रविष्टि स्पष्ट रूप से
agents.entries.*.runtime.type="acp" के साथ कॉन्फ़िगर न हो; अन्यथा डिफ़ॉल्ट उप-एजेंट
रनटाइम का उपयोग करें। जब कोई OpenClaw एजेंट
runtime.type="acp" के साथ कॉन्फ़िगर होता है, तो OpenClaw अंतर्निहित
हार्नेस आईडी के रूप में runtime.acp.agent का उपयोग करता है।ACP बनाम उप-एजेंट
जब बाहरी हार्नेस रनटाइम चाहिए, तब ACP का उपयोग करें।codex Plugin
सक्षम होने पर Codex वार्तालाप बाइंडिंग/नियंत्रण के लिए नेटिव Codex
ऐप-सर्वर का उपयोग करें। OpenClaw-नेटिव प्रत्यायोजित रन चाहिए, तब उप-एजेंट का उपयोग करें।
उप-एजेंट भी देखें।
ACP Claude Code को कैसे चलाता है
ACP के माध्यम से Claude Code के लिए स्टैक यह है:- OpenClaw ACP सत्र नियंत्रण प्लेन।
- आधिकारिक
@openclaw/acpxरनटाइम Plugin। - Claude ACP अडैप्टर।
- Claude-पक्षीय रनटाइम/सत्र तंत्र।
/acp spawn, बाइंड किए जा सकने वाले सत्र, रनटाइम नियंत्रण या स्थायी हार्नेस कार्य चाहिए? ACP का उपयोग करें।- रॉ CLI के माध्यम से सरल स्थानीय टेक्स्ट फ़ॉलबैक चाहिए? CLI बैकएंड का उपयोग करें।
बाइंड किए गए सत्र
मानसिक मॉडल
- चैट सतह - वह स्थान जहाँ लोग बातचीत जारी रखते हैं (Discord चैनल, Telegram विषय, iMessage चैट)।
- ACP सत्र - स्थायी Codex/Claude/Gemini रनटाइम स्थिति, जिस पर OpenClaw रूट करता है।
- चाइल्ड थ्रेड/विषय - केवल
--thread ...द्वारा बनाई जाने वाली वैकल्पिक अतिरिक्त संदेश सतह। - रनटाइम वर्कस्पेस - वह फ़ाइल-सिस्टम स्थान (
cwd, रिपॉज़िटरी चेकआउट, बैकएंड वर्कस्पेस) जहाँ हार्नेस चलता है। चैट सतह से स्वतंत्र।
वर्तमान-वार्तालाप बाइंड
/acp spawn <harness> --bind here वर्तमान वार्तालाप को
स्पॉन किए गए ACP सत्र से पिन करता है - कोई चाइल्ड थ्रेड नहीं, वही चैट सतह। OpenClaw
ट्रांसपोर्ट, प्रमाणीकरण, सुरक्षा और डिलीवरी का स्वामित्व बनाए रखता है। उस
वार्तालाप के अनुवर्ती संदेश उसी सत्र पर रूट होते हैं; /new और /reset सत्र को
उसी स्थान पर रीसेट करते हैं; /acp close बाइंडिंग हटाता है।
उदाहरण:
बाइंडिंग नियम और विशिष्टता
बाइंडिंग नियम और विशिष्टता
--bind hereऔर--thread ...परस्पर अनन्य हैं।--bind hereकेवल उन चैनलों पर काम करता है जो वर्तमान-वार्तालाप बाइंडिंग उपलब्ध बताते हैं; अन्यथा OpenClaw एक स्पष्ट असमर्थित संदेश लौटाता है। बाइंडिंग Gateway पुनरारंभ के बाद भी बनी रहती हैं।- Discord पर,
spawnSessions,--thread auto|hereके लिए चाइल्ड थ्रेड निर्माण को नियंत्रित करता है ---bind hereके लिए नहीं। - यदि
--cwdके बिना किसी अलग ACP एजेंट पर स्पॉन किया जाता है, तो OpenClaw डिफ़ॉल्ट रूप से लक्ष्य एजेंट का वर्कस्पेस विरासत में लेता है। अनुपलब्ध विरासत पथ (ENOENT/ENOTDIR) बैकएंड डिफ़ॉल्ट पर फ़ॉलबैक करते हैं; अन्य एक्सेस त्रुटियाँ (जैसेEACCES) स्पॉन त्रुटियों के रूप में दिखाई देती हैं। - बाइंड किए गए वार्तालापों में Gateway प्रबंधन कमांड स्थानीय रहते हैं - सामान्य अनुवर्ती टेक्स्ट के बाइंड किए गए ACP सत्र पर रूट होने पर भी
/acp ...कमांड OpenClaw द्वारा संभाले जाते हैं; उस सतह के लिए कमांड प्रबंधन सक्षम होने पर/statusऔर/unfocusभी हमेशा स्थानीय रहते हैं।
थ्रेड-बाइंड सत्र
थ्रेड-बाइंड सत्र
जब किसी चैनल अडैप्टर के लिए थ्रेड बाइंडिंग सक्षम होती हैं:
- OpenClaw किसी थ्रेड को लक्ष्य ACP सत्र से बाइंड करता है।
- उस थ्रेड के अनुवर्ती संदेश बाइंड किए गए ACP सत्र पर रूट होते हैं।
- ACP आउटपुट उसी थ्रेड में वापस डिलीवर किया जाता है।
- अनफोकस/बंद/आर्काइव/निष्क्रियता-टाइमआउट या अधिकतम-आयु समाप्ति बाइंडिंग हटा देती है।
/acp close,/acp cancel,/acp status,/status, और/unfocusGateway कमांड हैं, ACP हार्नेस के लिए प्रॉम्प्ट नहीं।
acp.enabled=trueacp.dispatch.enabledडिफ़ॉल्ट रूप से चालू है (स्वचालित ACP थ्रेड प्रेषण रोकने के लिएfalseसेट करें; स्पष्टsessions_spawn({ runtime: "acp" })कॉल अब भी काम करती हैं)।- चैनल-अडैप्टर थ्रेड सत्र स्पॉन सक्षम (डिफ़ॉल्ट:
true):- Discord/Telegram:
session.threadBindings.spawnSessions=true
- Discord/Telegram:
थ्रेड समर्थित चैनल
थ्रेड समर्थित चैनल
- कोई भी चैनल अडैप्टर जो सत्र/थ्रेड बाइंडिंग क्षमता उपलब्ध कराता है।
- वर्तमान अंतर्निर्मित समर्थन: Discord थ्रेड/चैनल, Telegram विषय (समूहों/सुपरग्रुपों के फ़ोरम विषय और DM विषय)।
- Plugin चैनल उसी बाइंडिंग इंटरफ़ेस के माध्यम से समर्थन जोड़ सकते हैं।
स्थायी चैनल बाइंडिंग
गैर-अल्पकालिक वर्कफ़्लो के लिए, शीर्ष-स्तरीयbindings[] प्रविष्टियों में स्थायी ACP बाइंडिंग कॉन्फ़िगर करें।
बाइंडिंग मॉडल
"acp"
स्थायी ACP वार्तालाप बाइंडिंग चिह्नित करता है।
object
लक्ष्य वार्तालाप की पहचान करता है। प्रत्येक चैनल के आकार:
- Discord चैनल/थ्रेड:
match.channel="discord"+match.peer.id="<channelOrThreadId>" - Slack चैनल/DM:
match.channel="slack"+match.peer.id="<channelId|channel:<channelId>|#<channelId>|userId|user:<userId>|slack:<userId>|<@userId>>". स्थिर Slack आईडी को प्राथमिकता दें; चैनल बाइंडिंग उस चैनल के थ्रेड के भीतर उत्तरों से भी मेल खाती हैं। - Telegram फ़ोरम विषय:
match.channel="telegram"+match.peer.id="<chatId>:topic:<topicId>" - WhatsApp DM/समूह:
match.channel="whatsapp"+match.peer.id="<E.164|group JID>". सीधे चैट के लिए+15555550123जैसी E.164 संख्याएँ और समूहों के लिए120363424282127706@g.usजैसे WhatsApp समूह JID का उपयोग करें। - iMessage DM/समूह:
match.channel="imessage"+match.peer.id="<handle|chat_id:*|chat_guid:*|chat_identifier:*>". स्थिर समूह बाइंडिंग के लिएchat_id:*को प्राथमिकता दें।
string
स्वामित्व रखने वाले OpenClaw एजेंट की आईडी।
"persistent" | "oneshot"
वैकल्पिक ACP ओवरराइड।
string
वैकल्पिक ऑपरेटर-दृश्य लेबल।
string
वैकल्पिक रनटाइम कार्यशील डायरेक्टरी।
string
वैकल्पिक बैकएंड ओवरराइड।
प्रति एजेंट रनटाइम डिफ़ॉल्ट
प्रति एजेंट ACP डिफ़ॉल्ट को एक बार परिभाषित करने के लिएagents.entries.*.runtime का उपयोग करें:
agents.entries.*.runtime.type="acp"agents.entries.*.runtime.acp.agent(हार्नेस आईडी, जैसेcodexयाclaude)agents.entries.*.runtime.acp.backendagents.entries.*.runtime.acp.modeagents.entries.*.runtime.acp.cwd
bindings[].acp.*agents.entries.*.runtime.acp.*- वैश्विक ACP डिफ़ॉल्ट (जैसे
acp.backend)
उदाहरण
व्यवहार
- OpenClaw यह सुनिश्चित करता है कि चैनल-विशिष्ट प्रवेश के बाद और उपयोग से पहले कॉन्फ़िगर किया गया ACP सत्र मौजूद हो।
- उस चैनल, विषय या चैट के संदेश कॉन्फ़िगर किए गए ACP सत्र पर रूट होते हैं।
- कॉन्फ़िगर की गई ACP बाइंडिंग अपने सत्र रूट की स्वामी होती हैं। चैनल ब्रॉडकास्ट फ़ैन-आउट मेल खाने वाली बाइंडिंग के लिए कॉन्फ़िगर किए गए ACP सत्र को प्रतिस्थापित नहीं करता।
- बाउंड वार्तालापों में,
/newऔर/resetउसी ACP सत्र कुंजी को उसी स्थान पर रीसेट करते हैं। - अस्थायी रनटाइम बाइंडिंग (उदाहरण के लिए, थ्रेड-फ़ोकस प्रवाहों द्वारा बनाई गई) मौजूद होने पर अब भी लागू होती हैं।
- स्पष्ट
cwdके बिना क्रॉस-एजेंट ACP स्पॉन के लिए, OpenClaw एजेंट कॉन्फ़िगरेशन से लक्ष्य एजेंट का कार्यक्षेत्र विरासत में लेता है। - अनुपलब्ध विरासत में मिले कार्यक्षेत्र पथ बैकएंड के डिफ़ॉल्ट cwd पर वापस आते हैं; मौजूद पथों पर पहुँच संबंधी विफलताएँ स्पॉन त्रुटियों के रूप में दिखाई देती हैं।
ACP सत्र प्रारंभ करें
ACP सत्र प्रारंभ करने के दो तरीके:- sessions_spawn से
- /acp कमांड से
किसी एजेंट टर्न या टूल कॉल से ACP सत्र प्रारंभ करने के लिए
runtime: "acp" का उपयोग करें।runtime का डिफ़ॉल्ट subagent है, इसलिए ACP सत्रों के लिए
runtime: "acp" स्पष्ट रूप से सेट करें। यदि agentId छोड़ दिया जाता है, तो कॉन्फ़िगर होने पर
OpenClaw acp.defaultAgent का उपयोग करता है। स्थायी बाउंड
वार्तालाप बनाए रखने के लिए mode: "session" को thread: true की आवश्यकता होती है।sessions_spawn पैरामीटर
string
आवश्यक
ACP सत्र को भेजा गया प्रारंभिक प्रॉम्प्ट।
"acp"
आवश्यक
ACP सत्रों के लिए
"acp" होना आवश्यक है।string
ACP लक्ष्य हार्नेस आईडी। सेट होने पर
acp.defaultAgent पर वापस आता है।boolean
डिफ़ॉल्ट:"false"
जहाँ समर्थित हो, वहाँ थ्रेड बाइंडिंग प्रवाह का अनुरोध करें।
"run" | "session"
डिफ़ॉल्ट:"run"
"run" एक-बार का है; "session" स्थायी है। यदि thread: true हो और
mode छोड़ दिया जाए, तो OpenClaw रनटाइम पथ के अनुसार स्थायी व्यवहार को
डिफ़ॉल्ट बना सकता है। mode: "session" को thread: true की आवश्यकता होती है।string
अनुरोधित रनटाइम कार्यशील डायरेक्टरी (बैकएंड/रनटाइम नीति द्वारा सत्यापित)।
यदि इसे छोड़ दिया जाए, तो कॉन्फ़िगर होने पर ACP स्पॉन लक्ष्य एजेंट का कार्यक्षेत्र विरासत में लेता है;
अनुपलब्ध विरासत में मिले पथ बैकएंड डिफ़ॉल्ट पर वापस आते हैं, जबकि वास्तविक पहुँच
त्रुटियाँ लौटा दी जाती हैं।
string
सत्र/बैनर टेक्स्ट में उपयोग किया जाने वाला ऑपरेटर-दृश्य लेबल।
string
नया ACP सत्र बनाने के बजाय मौजूदा सत्र को फिर से शुरू करें। एजेंट
session/load के माध्यम से अपना वार्तालाप इतिहास पुनः चलाता है। इसके लिए
runtime: "acp" आवश्यक है।"parent"
"parent" प्रारंभिक ACP रन की प्रगति के सारांश अनुरोधकर्ता
सत्र को सिस्टम इवेंट के रूप में स्ट्रीम करता है। OpenClaw पूर्ण रिले इतिहास को
चाइल्ड एजेंट की SQLite स्थिति में दर्ज करता है और चाइल्ड सत्र के साथ उसे हटा देता है। पैरेंट
प्रगति स्ट्रीम डिफ़ॉल्ट रूप से सहायक टिप्पणी और ACP स्थिति प्रगति दिखाती हैं, जब तक कि
streaming.progress.commentary=false न हो। जब कोई स्ट्रीम मोड कॉन्फ़िगर न किया गया हो, तब Discord भी पैरेंट
पूर्वावलोकनों को डिफ़ॉल्ट रूप से प्रगति मोड में रखता है। स्थिति
प्रगति फिर भी acp.stream.tagVisibility का पालन करती है, इसलिए plan जैसे टैग
स्पष्ट रूप से सक्षम किए बिना छिपे रहते हैं।sessions_spawn रन अपनी डिफ़ॉल्ट चाइल्ड टर्न सीमा के लिए
agents.defaults.subagents.runTimeoutSeconds का उपयोग करते हैं। टूल प्रति-कॉल टाइमआउट
ओवरराइड स्वीकार नहीं करता (runTimeoutSeconds/timeoutSeconds को
डिफ़ॉल्ट-कॉन्फ़िगर-करें त्रुटि के साथ अस्वीकार किया जाता है)।
string
ACP चाइल्ड सत्र के लिए स्पष्ट मॉडल ओवरराइड। Codex ACP स्पॉन
session/new से पहले openai/gpt-5.4 जैसे OpenAI संदर्भों को Codex ACP स्टार्टअप कॉन्फ़िगरेशन में
सामान्यीकृत करते हैं; openai/gpt-5.4/high जैसे स्लैश रूप भी
Codex ACP तर्क प्रयास सेट करते हैं। इसे छोड़ने पर, कॉन्फ़िगर होने की स्थिति में sessions_spawn({ runtime: "acp" })
मौजूदा सबएजेंट मॉडल डिफ़ॉल्ट (agents.defaults.subagents.model या
agents.entries.*.subagents.model) का उपयोग करता है; अन्यथा यह ACP
हार्नेस को अपना डिफ़ॉल्ट मॉडल उपयोग करने देता है। अन्य हार्नेस को ACP
models घोषित करना और session/set_model का समर्थन करना आवश्यक है; अन्यथा OpenClaw/acpx
लक्ष्य एजेंट डिफ़ॉल्ट पर चुपचाप वापस आने के बजाय स्पष्ट रूप से विफल होता है।string
स्पष्ट चिंतन/तर्क प्रयास। Codex ACP के लिए,
minimal कम
प्रयास पर मैप होता है, low/medium/high/xhigh सीधे मैप होते हैं, और off
तर्क-प्रयास स्टार्टअप ओवरराइड छोड़ देता है। इसे छोड़ने पर, ACP स्पॉन चयनित
मॉडल के लिए मौजूदा सबएजेंट चिंतन डिफ़ॉल्ट और प्रति-मॉडल
agents.defaults.models["provider/model"].params.thinking का उपयोग करते हैं।स्पॉन बाइंड और थ्रेड मोड
- --bind here|off
- --thread auto|here|off
टिप्पणियाँ:
--bind here“इस चैनल या चैट को Codex-समर्थित बनाएँ” के लिए सबसे सरल ऑपरेटर पथ है।--bind hereचाइल्ड थ्रेड नहीं बनाता।--bind hereकेवल उन चैनलों पर उपलब्ध है जो वर्तमान-वार्तालाप बाइंडिंग समर्थन प्रदान करते हैं।--bindऔर--threadको एक ही/acp spawnकॉल में संयोजित नहीं किया जा सकता।
डिलीवरी मॉडल
ACP सत्र या तो इंटरैक्टिव कार्यक्षेत्र हो सकते हैं या पैरेंट के स्वामित्व वाला पृष्ठभूमि कार्य। डिलीवरी पथ उस स्वरूप पर निर्भर करता है।इंटरैक्टिव ACP सत्र
इंटरैक्टिव ACP सत्र
इंटरैक्टिव सत्र किसी दृश्यमान चैट सतह पर बातचीत जारी रखने के लिए होते हैं:
/acp spawn ... --bind hereवर्तमान वार्तालाप को ACP सत्र से बाइंड करता है।/acp spawn ... --thread ...किसी चैनल थ्रेड/विषय को ACP सत्र से बाइंड करता है।- स्थायी रूप से कॉन्फ़िगर किया गया
bindings[].type="acp"मेल खाने वाले वार्तालापों को उसी ACP सत्र पर रूट करता है।
- सामान्य सीमित फ़ॉलो-अप प्रॉम्प्ट टेक्स्ट के रूप में भेजे जाते हैं, और अटैचमेंट केवल तभी भेजे जाते हैं जब हार्नेस/बैकएंड उनका समर्थन करता हो।
/acpप्रबंधन कमांड और स्थानीय Gateway कमांड ACP डिस्पैच से पहले इंटरसेप्ट किए जाते हैं।- रनटाइम द्वारा जनरेट किए गए पूर्णता इवेंट प्रत्येक लक्ष्य के लिए मूर्त रूप दिए जाते हैं। OpenClaw एजेंट को OpenClaw का आंतरिक रनटाइम-कॉन्टेक्स्ट एनवेलप मिलता है; बाहरी ACP हार्नेस को चाइल्ड परिणाम और निर्देश सहित एक सादा प्रॉम्प्ट मिलता है। कच्चा
<<<BEGIN_OPENCLAW_INTERNAL_CONTEXT>>>एनवेलप कभी भी बाहरी हार्नेस को नहीं भेजा जाना चाहिए या ACP उपयोगकर्ता ट्रांसक्रिप्ट टेक्स्ट के रूप में सहेजा नहीं जाना चाहिए। - ACP ट्रांसक्रिप्ट प्रविष्टियाँ उपयोगकर्ता को दिखाई देने वाले ट्रिगर टेक्स्ट या सादे पूर्णता प्रॉम्प्ट का उपयोग करती हैं। जहाँ संभव हो, आंतरिक इवेंट मेटाडेटा OpenClaw में संरचित रहता है और उसे उपयोगकर्ता द्वारा लिखी गई चैट सामग्री नहीं माना जाता।
पैरेंट-स्वामित्व वाले एकबारगी ACP सत्र
पैरेंट-स्वामित्व वाले एकबारगी ACP सत्र
किसी अन्य एजेंट रन द्वारा उत्पन्न एकबारगी ACP सत्र, उप-एजेंटों की तरह,
बैकग्राउंड चाइल्ड होते हैं:
- पैरेंट
sessions_spawn({ runtime: "acp", mode: "run" })के साथ कार्य करने को कहता है। - चाइल्ड अपने स्वयं के ACP हार्नेस सत्र में चलता है।
- चाइल्ड टर्न उसी बैकग्राउंड लेन पर चलते हैं जिसका उपयोग नेटिव उप-एजेंट स्पॉन करते हैं, इसलिए धीमा ACP हार्नेस असंबंधित मुख्य-सत्र कार्य को ब्लॉक नहीं करता।
- पूर्णता की रिपोर्ट कार्य-पूर्णता घोषणा पथ के माध्यम से वापस आती है। OpenClaw आंतरिक पूर्णता मेटाडेटा को बाहरी हार्नेस को भेजने से पहले सादे ACP प्रॉम्प्ट में बदलता है, इसलिए हार्नेस को केवल OpenClaw के रनटाइम कॉन्टेक्स्ट मार्कर दिखाई नहीं देते।
- जब उपयोगकर्ता के लिए उत्तर उपयोगी हो, तो पैरेंट चाइल्ड परिणाम को सामान्य सहायक शैली में दोबारा लिखता है।
sessions_send और A2A डिलीवरी
sessions_send और A2A डिलीवरी
sessions_send स्पॉन के बाद किसी अन्य सत्र को लक्षित कर सकता है। सामान्य पीयर
सत्रों के लिए, OpenClaw संदेश इंजेक्ट करने के बाद एजेंट-टू-एजेंट (A2A)
फ़ॉलो-अप पथ का उपयोग करता है:- लक्ष्य सत्र के उत्तर की प्रतीक्षा करें।
- वैकल्पिक रूप से अनुरोधकर्ता और लक्ष्य को सीमित संख्या में फ़ॉलो-अप टर्न का आदान-प्रदान करने दें।
- लक्ष्य से घोषणा संदेश तैयार करने को कहें।
- उस घोषणा को दृश्यमान चैनल या थ्रेड पर डिलीवर करें।
tools.sessions.visibility
सेटिंग्स के अंतर्गत, तब यह सक्षम रहता है।OpenClaw A2A फ़ॉलो-अप को केवल तभी छोड़ता है जब अनुरोधकर्ता अपने
स्वयं के पैरेंट-स्वामित्व वाले एकबारगी ACP चाइल्ड का पैरेंट हो। उस स्थिति में,
कार्य पूर्णता के ऊपर A2A चलाने से चाइल्ड के परिणाम के साथ पैरेंट सक्रिय हो सकता है,
पैरेंट का उत्तर वापस चाइल्ड को अग्रेषित हो सकता है, और पैरेंट/चाइल्ड प्रतिध्वनि
लूप बन सकता है। उस स्वामित्व वाले चाइल्ड की स्थिति में sessions_send परिणाम
delivery.status="skipped" रिपोर्ट करता है क्योंकि परिणाम के लिए पूर्णता पथ पहले से ही
उत्तरदायी है।किसी मौजूदा सत्र को फिर से शुरू करें
किसी मौजूदा सत्र को फिर से शुरू करें
नया सत्र शुरू करने के बजाय पिछले ACP सत्र को जारी रखने के लिए सामान्य उपयोग के मामले:
resumeSessionId
का उपयोग करें। एजेंट session/load के माध्यम से अपना वार्तालाप इतिहास
दोबारा चलाता है, इसलिए वह पहले हुई सभी बातों के पूर्ण संदर्भ के साथ आगे बढ़ता है।- Codex सत्र को अपने लैपटॉप से फ़ोन पर सौंपें—अपने एजेंट से कहें कि वह वहीं से आगे बढ़े जहाँ आपने छोड़ा था।
- CLI में इंटरैक्टिव रूप से शुरू किए गए कोडिंग सत्र को अब अपने एजेंट के माध्यम से हेडलेस रूप में जारी रखें।
- Gateway रीस्टार्ट या निष्क्रियता टाइमआउट से बाधित हुआ कार्य फिर से शुरू करें।
resumeSessionIdकेवल तब लागू होता है जबruntime: "acp"; डिफ़ॉल्ट उप-एजेंट रनटाइम केवल ACP के इस फ़ील्ड को अनदेखा करता है।streamToकेवल तब लागू होता है जबruntime: "acp"; डिफ़ॉल्ट उप-एजेंट रनटाइम केवल ACP के इस फ़ील्ड को अनदेखा करता है।resumeSessionIdएक होस्ट-स्थानीय ACP/हार्नेस पुनःआरंभ आईडी है, OpenClaw चैनल सत्र कुंजी नहीं; OpenClaw डिस्पैच से पहले अब भी ACP स्पॉन नीति और लक्ष्य एजेंट नीति की जाँच करता है, जबकि उस अपस्ट्रीम आईडी को लोड करने के प्राधिकरण का स्वामी ACP बैकएंड या हार्नेस होता है।resumeSessionIdअपस्ट्रीम ACP वार्तालाप इतिहास पुनर्स्थापित करता है; आपके द्वारा बनाए जा रहे नए OpenClaw सत्र परthreadऔरmodeअब भी सामान्य रूप से लागू होते हैं, इसलिएmode: "session"के लिए अब भीthread: trueआवश्यक है।- लक्ष्य एजेंट को
session/loadका समर्थन करना आवश्यक है (Codex और Claude Code करते हैं)। - यदि सत्र आईडी नहीं मिलती, तो स्पॉन स्पष्ट त्रुटि के साथ विफल होता है—नए सत्र पर कोई मौन फ़ॉलबैक नहीं होता।
डिप्लॉयमेंट के बाद स्मोक परीक्षण
डिप्लॉयमेंट के बाद स्मोक परीक्षण
Gateway डिप्लॉयमेंट के बाद, यूनिट परीक्षणों पर भरोसा करने के बजाय लाइव
एंड-टू-एंड जाँच चलाएँ:
- लक्ष्य होस्ट पर डिप्लॉय किए गए Gateway संस्करण और कमिट की पुष्टि करें।
- लाइव एजेंट के लिए एक अस्थायी ACPX ब्रिज सत्र खोलें।
- उस एजेंट से
sessions_spawnकोruntime: "acp",agentId: "codex",mode: "run", और कार्यReply with exactly LIVE-ACP-SPAWN-OKके साथ कॉल करने को कहें। accepted=yes, वास्तविकchildSessionKey, और किसी वैलिडेटर त्रुटि के न होने की पुष्टि करें।- अस्थायी ब्रिज सत्र साफ़ करें।
mode: "run" पर रखें और streamTo: "parent" छोड़ दें—
थ्रेड-बाउंड mode: "session" और स्ट्रीम-रिले पथ अलग, अधिक समृद्ध
इंटीग्रेशन पास हैं।सैंडबॉक्स संगतता
ACP सत्र वर्तमान में होस्ट रनटाइम पर चलते हैं, OpenClaw सैंडबॉक्स के भीतर नहीं। वर्तमान सीमाएँ:- यदि अनुरोधकर्ता सत्र सैंडबॉक्स में है, तो
sessions_spawn({ runtime: "acp" })और/acp spawnदोनों के लिए ACP स्पॉन ब्लॉक हो जाते हैं। sessions_spawnके साथruntime: "acp",sandbox: "require"का समर्थन नहीं करता।
सत्र लक्ष्य रिज़ॉल्यूशन
अधिकांश/acp कार्रवाइयाँ एक वैकल्पिक सत्र लक्ष्य (session-key,
session-id, या session-label) स्वीकार करती हैं।
रिज़ॉल्यूशन क्रम:
- स्पष्ट लक्ष्य आर्ग्युमेंट (या
/acp steerके लिए--session)- पहले कुंजी आज़माता है
- फिर UUID-आकार का सत्र आईडी
- फिर लेबल
- वर्तमान थ्रेड बाइंडिंग (यदि यह वार्तालाप/थ्रेड किसी ACP सत्र से बंधा है)।
- वर्तमान अनुरोधकर्ता सत्र फ़ॉलबैक।
Unable to resolve session target: ...) लौटाता है।
ACP नियंत्रण
रनटाइम नियंत्रणों (
spawn, cancel, steer, close, status, set-mode,
set, cwd, permissions, timeout, model, और reset-options) के लिए
बाहरी चैनलों से स्वामी पहचान और आंतरिक Gateway क्लाइंट से operator.admin
आवश्यक है। अधिकृत गैर-स्वामी प्रेषक अब भी sessions,
doctor, install, और help का उपयोग कर सकते हैं। गैर-स्वामी प्रेषकों के लिए, /acp sessions
केवल वर्तमान बाउंड या अनुरोधकर्ता सत्र सूचीबद्ध करता है; स्वामी पहचान और
operator.admin क्लाइंट सभी हाल के सत्र देखते हैं।
/acp status प्रभावी रनटाइम विकल्पों के साथ रनटाइम-स्तरीय और
बैकएंड-स्तरीय सत्र पहचानकर्ता दिखाता है। जब किसी बैकएंड में कोई क्षमता नहीं होती,
तो असमर्थित-नियंत्रण त्रुटियाँ स्पष्ट रूप से दिखाई देती हैं। लक्ष्य टोकन स्वीकार करने वाले
कमांड (session-key, session-id, या session-label) उन्हें Gateway
सत्र खोज के माध्यम से रिज़ॉल्व करते हैं, जिसमें कस्टम प्रति-एजेंट session.store रूट शामिल हैं। /acp sessions
लक्ष्य टोकन स्वीकार नहीं करता।
रनटाइम विकल्प मैपिंग
/acp में सुविधाजनक कमांड और एक सामान्य सेटर है। समतुल्य कार्रवाइयाँ:
acpx हार्नेस, Plugin सेटअप और अनुमतियाँ
acpx हार्नेस कॉन्फ़िगरेशन (Claude Code / Codex / Gemini CLI उपनाम), plugin-tools और OpenClaw-tools MCP ब्रिज, तथा ACP अनुमति मोड के लिए, ACP एजेंट—सेटअप देखें।समस्या निवारण
Command blocked by PreToolUse hook: Native hook relay unavailable मूल Codex हुक रिले से संबंधित है,
ACP/acpx से नहीं। बाउंड Codex चैट में, /new या /reset के साथ
नया सत्र शुरू करें; यदि यह एक बार काम करता है और फिर अगले मूल टूल कॉल पर लौट आता है,
तो /new दोहराने के बजाय Codex ऐप-सर्वर या OpenClaw Gateway
पुनः आरंभ करें। Codex हार्नेस समस्या निवारण
देखें।