CLI commands

एजेंट

openclaw agent

Gateway के माध्यम से एजेंट का एक टर्न चलाएँ। Gateway अनुरोध विफल होने पर यह एम्बेडेड एजेंट पर फ़ॉलबैक करता है; शुरुआत से ही एम्बेडेड निष्पादन बाध्य करने के लिए --local पास करें।

कम-से-कम एक सेशन चयनकर्ता पास करें: --to, --session-key, --session-id, या --agent

संबंधित: एजेंट भेजने का टूल

विकल्प

  • -m, --message <text>: संदेश का मुख्य भाग
  • --message-file <path>: UTF-8 फ़ाइल से संदेश का मुख्य भाग पढ़ें
  • -t, --to <dest>: सेशन कुंजी प्राप्त करने के लिए उपयोग किया गया प्राप्तकर्ता
  • --session-key <key>: रूटिंग के लिए उपयोग की जाने वाली स्पष्ट सेशन कुंजी
  • --session-id <id>: स्पष्ट सेशन आईडी
  • --agent <id>: एजेंट आईडी; रूटिंग बाइंडिंग को ओवरराइड करती है
  • --model <id>: इस रन के लिए मॉडल ओवरराइड (provider/model या मॉडल आईडी)
  • --thinking <level>: एजेंट का चिंतन स्तर (off, minimal, low, medium, high, साथ ही प्रदाता-समर्थित कस्टम स्तर, जैसे xhigh, adaptive, या max)
  • --verbose <on|off>: सेशन के लिए विस्तृतता स्तर बनाए रखें
  • --channel <channel>: डिलीवरी चैनल; मुख्य सेशन चैनल का उपयोग करने के लिए इसे छोड़ दें
  • --reply-to <target>: डिलीवरी लक्ष्य ओवरराइड
  • --reply-channel <channel>: डिलीवरी चैनल ओवरराइड
  • --reply-account <id>: डिलीवरी खाता ओवरराइड
  • --local: एम्बेडेड एजेंट को सीधे चलाएँ (Plugin रजिस्ट्री प्रीलोड के बाद)
  • --deliver: उत्तर को चयनित चैनल/लक्ष्य पर वापस भेजें
  • --timeout <seconds>: एजेंट टाइमआउट ओवरराइड करें (डिफ़ॉल्ट 600, या agents.defaults.timeoutSeconds); 0 टाइमआउट अक्षम करता है
  • --json: JSON आउटपुट करें

उदाहरण

bash
openclaw agent --to +15555550123 --message "स्थिति अपडेट" --deliveropenclaw agent --agent ops --message "लॉग का सारांश दें"openclaw agent --agent ops --message-file ./task.mdopenclaw agent --agent ops --model openai/gpt-5.4 --message "लॉग का सारांश दें"openclaw agent --session-key agent:ops:incident-42 --message "स्थिति का सारांश दें"openclaw agent --agent ops --session-key incident-42 --message "स्थिति का सारांश दें"openclaw agent --session-id 1234 --message "इनबॉक्स का सारांश दें" --thinking mediumopenclaw agent --to +15555550123 --message "लॉग ट्रेस करें" --verbose on --jsonopenclaw agent --agent ops --message "रिपोर्ट बनाएँ" --deliver --reply-channel slack --reply-to "#reports"openclaw agent --agent ops --message "स्थानीय रूप से चलाएँ" --local

टिप्पणियाँ

  • --message या --message-file में से ठीक एक पास करें। --message-file आरंभिक UTF-8 BOM हटाता है और बहु-पंक्ति सामग्री सुरक्षित रखता है; यह उन फ़ाइलों को अस्वीकार करता है जो मान्य UTF-8 नहीं हैं।
  • स्लैश कमांड (उदाहरण के लिए /compact) --message के माध्यम से नहीं चल सकते। CLI उन्हें अस्वीकार करता है और इसके बजाय आपको प्रथम-श्रेणी कमांड की ओर निर्देशित करता है (Compaction के लिए openclaw sessions compact <key>)।
  • --local और एम्बेडेड फ़ॉलबैक रन एकबारगी होते हैं: रन के लिए खोले गए बंडल किए गए MCP लूपबैक संसाधन और सक्रिय Claude stdio सेशन उत्तर के बाद समाप्त कर दिए जाते हैं, इसलिए स्क्रिप्ट किए गए आह्वान स्थानीय चाइल्ड प्रक्रियाओं को चालू नहीं छोड़ते। इसके बजाय Gateway-समर्थित रन, Gateway के स्वामित्व वाले MCP लूपबैक संसाधनों को चल रही Gateway प्रक्रिया के अंतर्गत बनाए रखते हैं।
  • --agent, --channel, और --to का एक साथ उपयोग करने पर, सेशन रूटिंग चैनल के कैनोनिकल प्राप्तकर्ता और session.dmScope का अनुसरण करती है। स्थिर केवल-आउटबाउंड प्राप्तकर्ता पहचान वाले चैनल, एजेंट के मुख्य सेशन से अलग प्रदाता-स्वामित्व वाले सेशन का उपयोग करते हैं। --reply-channel और --reply-account केवल डिलीवरी को प्रभावित करते हैं।
  • --session-key एक स्पष्ट सेशन कुंजी चुनता है। एजेंट-उपसर्गित कुंजियों को agent:<agent-id>:<session-key> का उपयोग करना आवश्यक है, और दोनों दिए जाने पर --agent को कुंजी की एजेंट आईडी से मेल खाना आवश्यक है। साधारण गैर-सेंटिनल कुंजियाँ, दिए जाने पर --agent के दायरे में आती हैं, अन्यथा कॉन्फ़िगर किए गए डिफ़ॉल्ट एजेंट के दायरे में; उदाहरण के लिए --agent ops --session-key incident-42, agent:ops:incident-42 पर रूट करता है। लिटरल कुंजियाँ global और unknown केवल तभी दायरे से बाहर रहती हैं जब कोई --agent नहीं दिया गया हो।
  • --json JSON प्रतिक्रिया के लिए stdout आरक्षित करता है; Gateway, Plugin, और एम्बेडेड-फ़ॉलबैक निदान stderr पर जाते हैं, ताकि स्क्रिप्ट stdout को सीधे पार्स कर सकें।
  • एम्बेडेड फ़ॉलबैक JSON में meta.transport: "embedded" और meta.fallbackFrom: "gateway" शामिल होते हैं, ताकि स्क्रिप्ट फ़ॉलबैक रन का पता लगा सकें।
  • यदि Gateway किसी रन को स्वीकार कर लेता है, लेकिन अंतिम उत्तर की प्रतीक्षा करते समय CLI का टाइमआउट हो जाता है, तो एम्बेडेड फ़ॉलबैक नई gateway-fallback-* सेशन/रन आईडी का उपयोग करता है और Gateway-स्वामित्व वाली ट्रांसक्रिप्ट के साथ प्रतिस्पर्धा करने या मूल सेशन को चुपचाप बदलने के बजाय meta.fallbackReason: "gateway_timeout" तथा फ़ॉलबैक सेशन फ़ील्ड रिपोर्ट करता है।
  • SIGTERM/SIGINT प्रतीक्षारत Gateway-समर्थित अनुरोध को बाधित करते हैं; यदि Gateway ने रन पहले ही स्वीकार कर लिया है, तो CLI बाहर निकलने से पहले उस रन आईडी के लिए chat.abort भी भेजता है। --local और एम्बेडेड फ़ॉलबैक रन समान सिग्नल प्राप्त करते हैं, लेकिन chat.abort नहीं भेजते। यदि आंतरिक रन-डीडुप कुंजी में इस सेशन के लिए पहले से सक्रिय रन है, तो प्रतिक्रिया status: "in_flight" रिपोर्ट करती है और गैर-JSON CLI खाली उत्तर के बजाय stderr निदान प्रिंट करता है। बाहरी cron/systemd रैपर के लिए, timeout -k 60 600 openclaw agent ... जैसा हार्ड-किल बैकस्टॉप रखें, ताकि शटडाउन पूरा न हो पाने पर सुपरवाइज़र प्रक्रिया को समाप्त कर सके।
  • जब यह कमांड models.json पुनर्जनन ट्रिगर करता है, तब SecretRef-प्रबंधित प्रदाता क्रेडेंशियल गैर-गोपनीय मार्कर के रूप में सहेजे जाते हैं (उदाहरण के लिए env var नाम, secretref-env:ENV_VAR_NAME, या secretref-managed), कभी भी हल किए गए गोपनीय प्लेनटेक्स्ट के रूप में नहीं। मार्कर लेखन सक्रिय स्रोत कॉन्फ़िगरेशन स्नैपशॉट से आता है, हल किए गए रनटाइम गोपनीय मानों से नहीं।

JSON डिलीवरी स्थिति

--json --deliver के साथ, CLI JSON प्रतिक्रिया में शीर्ष-स्तरीय deliveryStatus शामिल होता है, ताकि स्क्रिप्ट डिलीवर किए गए, दबाए गए, आंशिक और विफल प्रेषणों के बीच अंतर कर सकें:

json
{  "payloads": [{ "text": "रिपोर्ट तैयार है", "mediaUrl": null }],  "meta": { "durationMs": 1200 },  "deliveryStatus": {    "requested": true,    "attempted": true,    "status": "sent",    "succeeded": true,    "resultCount": 1  }}

Gateway-समर्थित CLI प्रतिक्रियाएँ result.deliveryStatus पर कच्चे Gateway परिणाम का आकार भी सुरक्षित रखती हैं।

deliveryStatus.status इनमें से एक होता है:

स्थिति अर्थ
sent डिलीवरी पूरी हुई।
suppressed डिलीवरी जानबूझकर नहीं भेजी गई (उदाहरण के लिए संदेश-प्रेषण हुक ने इसे रद्द कर दिया, या कोई दृश्यमान परिणाम नहीं था)। अंतिम स्थिति, पुनः प्रयास नहीं।
partial_failed बाद का पेलोड विफल होने से पहले कम-से-कम एक पेलोड भेजा गया।
failed कोई स्थायी प्रेषण पूरा नहीं हुआ, या डिलीवरी प्रीफ़्लाइट विफल हुआ।

सामान्य फ़ील्ड:

  • requested: ऑब्जेक्ट मौजूद होने पर हमेशा true
  • attempted: स्थायी प्रेषण पथ चलने के बाद true; प्रीफ़्लाइट विफलताओं या दृश्यमान पेलोड न होने पर false
  • succeeded: true, false, या "partial"; "partial" को status: "partial_failed" के साथ जोड़ा जाता है।
  • reason: स्थायी डिलीवरी या प्रीफ़्लाइट सत्यापन से प्राप्त लोअरकेस स्नेक-केस कारण। ज्ञात मानों में cancelled_by_message_sending_hook, no_visible_payload, no_visible_result, channel_resolved_to_internal, unknown_channel, invalid_delivery_target, और no_delivery_target शामिल हैं; विफल स्थायी प्रेषण विफल चरण भी रिपोर्ट कर सकते हैं। अज्ञात मानों को अपारदर्शी मानें, क्योंकि यह समुच्चय विस्तृत हो सकता है।
  • resultCount: उपलब्ध होने पर चैनल प्रेषण परिणामों की संख्या।
  • sentBeforeError: जब आंशिक विफलता में त्रुटि होने से पहले कम-से-कम एक पेलोड भेजा गया हो, तब true
  • error: विफल या आंशिक रूप से विफल प्रेषणों के लिए true
  • errorMessage: केवल तभी मौजूद होता है जब अंतर्निहित डिलीवरी त्रुटि संदेश कैप्चर किया गया हो। प्रीफ़्लाइट विफलताओं में error/reason होते हैं, लेकिन errorMessage नहीं।
  • payloadOutcomes: उपलब्ध होने पर index, status, reason, resultCount, error, stage, sentBeforeError, या हुक मेटाडेटा वाले वैकल्पिक प्रति-पेलोड परिणाम।

संबंधित

Was this useful?
On this page

On this page