channels.<channel>.streaming.mode: "progress" सेट करें और OpenClaw वास्तविक काम शुरू होते ही संदेश बनाता है, एजेंट के पढ़ने, योजना बनाने, टूल कॉल करने या अनुमोदन की प्रतीक्षा करने के दौरान उसे संपादित करता है, फिर उसे अंतिम उत्तर में बदल देता है।
जब
channels.discord.streaming सेट नहीं होता, तो Discord पहले से ही streaming.mode: "progress" को डिफ़ॉल्ट करता है, इसलिए प्रगति ड्राफ़्ट वहाँ बिना किसी कॉन्फ़िग के दिखाई देते हैं। हर अन्य चैनल partial या off को डिफ़ॉल्ट करता है; पूरी प्रति-चैनल डिफ़ॉल्ट तालिका के लिए स्ट्रीमिंग और चंकिंग देखें।त्वरित शुरुआत
उपयोगकर्ताओं को क्या दिखाई देता है
कच्ची टूल प्रगति के लिए, एजेंट के सार्थक काम शुरू करने और प्रारंभिक देरी तक व्यस्त रहने के बाद लेबल दिखाई देता है।
यह चलती प्रगति-पंक्ति सूची के शीर्ष पर रहता है, इसलिए पर्याप्त ठोस कार्य पंक्तियाँ दिखाई देने पर स्क्रॉल होकर हट जाता है। स्थिति शीर्षक केवल एजेंट की साधारण भाषा वाली स्थिति दिखाता है, जब तक कोई लेबल स्पष्ट रूप से कॉन्फ़िगर न किया गया हो। केवल सादे टेक्स्ट वाले जवाब कभी भी प्रगति ड्राफ़्ट नहीं दिखाते; पंक्ति केवल वास्तविक कार्य अपडेट के लिए दिखाई देती है, उदाहरण के लिए
🛠️ Bash: run tests, 🔎 Web Search: for "discord edit message", या ✍️ Write: to /tmp/file।
जब चैनल सुरक्षित रूप से ऐसा कर सकता है, तो अंतिम उत्तर ड्राफ़्ट को उसी स्थान पर बदल देता है; अन्यथा OpenClaw सामान्य डिलीवरी के माध्यम से अंतिम उत्तर भेजता है और ड्राफ़्ट को साफ़ करता है या अपडेट करना रोक देता है (अंतिमीकरण देखें)।
मोड चुनें
channels.<channel>.streaming.mode दिखाई देने वाले प्रगति-अधीन व्यवहार को नियंत्रित करता है:
जब उपयोगकर्ताओं को उत्तर टेक्स्ट को टोकन-दर-टोकन स्ट्रीम होते देखने की तुलना में “क्या हो रहा है” अधिक महत्वपूर्ण हो, तब
progress चुनें; जब उत्तर टेक्स्ट स्वयं प्रगति संकेत हो, तब partial; बड़े पूर्वावलोकन चंकों के लिए block। Discord और Telegram पर, streaming.mode: "block" अभी भी पूर्वावलोकन स्ट्रीमिंग है, सामान्य ब्लॉक-जवाब डिलीवरी नहीं — उसके लिए streaming.block.enabled का उपयोग करें।
लेबल कॉन्फ़िगर करें
प्रगति लेबलchannels.<channel>.streaming.progress के अंतर्गत रहते हैं। डिफ़ॉल्ट कच्चा टूल-पंक्ति लेबल "auto" है, जो साधारण अंतर्निहित Working लेबल का उपयोग करता है। स्थिति शीर्षक उस अंतर्निहित लेबल को छिपाता है; यदि आप उसके ऊपर भी लेबल चाहते हैं, तो label: "auto" स्पष्ट रूप से सेट करें:
label: "auto" होने पर भी यादृच्छिक रूप से/सीड के अनुसार चुना जाता है):
प्रगति पंक्तियाँ नियंत्रित करें
प्रगति पंक्तियाँ वास्तविक रन इवेंट से आती हैं: टूल आरंभ, आइटम अपडेट, कार्य योजनाएँ, अनुमोदन, कमांड आउटपुट, पैच सारांश और इसी तरह की एजेंट गतिविधि। वे डिफ़ॉल्ट रूप से सक्षम होती हैं (progress.toolProgress, डिफ़ॉल्ट true)।
एकल कॉल के अभी भी चलते समय टूल टाइप की गई प्रगति भी उत्सर्जित कर सकते हैं। इसी तरह धीमा फ़ेच या खोज टूल द्वारा अंतिम परिणाम लौटाए जाने से पहले दिखाई देने वाले ड्राफ़्ट को अपडेट करता है। प्रगति अपडेट खाली मॉडल सामग्री और स्पष्ट सार्वजनिक चैनल मेटाडेटा वाला आंशिक टूल परिणाम है:
progress.text रेंडर करता है। सामान्य टूल परिणाम बाद में भी content/details के रूप में आता है और मॉडल को लौटाया जाने वाला एकमात्र भाग होता है।
किसी टूल में प्रगति जोड़ते समय एक छोटा, सामान्य संदेश उत्सर्जित करें और उसे तब तक विलंबित करें जब तक ऑपरेशन उपयोगी होने लायक पर्याप्त समय से लंबित न हो। web_fetch 5-सेकंड की देरी के साथ ठीक यही करता है:
विवरण मोड
OpenClaw प्रगति ड्राफ़्ट और/verbose के लिए समान फ़ॉर्मैटर का उपयोग करता है:
"explain" डिफ़ॉल्ट है और संक्षिप्त लेबल के साथ ड्राफ़्ट को स्थिर रखता है।
"raw" उपलब्ध होने पर अंतर्निहित कमांड जोड़ता है, जो डीबगिंग के दौरान उपयोगी लेकिन चैट में अधिक शोरपूर्ण होता है। उदाहरण के लिए, एक node --check /tmp/app.js कॉल मोड के अनुसार अलग तरह से रेंडर होता है:
कमांड/एक्ज़ेक टेक्स्ट
streaming.progress.commandText (डिफ़ॉल्ट "raw") नियंत्रित करता है कि ऊपर दिए गए विवरण मोड से स्वतंत्र रूप से एक्ज़ेक/Bash प्रगति पंक्तियों के पास कितना कमांड विवरण दिखाई देता है। कमांड टेक्स्ट को पूरी तरह छिपाते हुए टूल-प्रगति पंक्ति को दिखाई देने देने के लिए इसे "status" पर सेट करें:
टिप्पणी लेन
streaming.progress.commentary (डिफ़ॉल्ट false) मॉडल के टूल-पूर्व टिप्पणी/प्रस्तावना वर्णन (💬, उदाहरण के लिए “मैं जाँच करूँगा… फिर …”) को ड्राफ़्ट में टूल पंक्तियों के बीच रखता है। सभी चैनलों में साझा कॉन्फ़िग संरचना के लिए स्ट्रीमिंग और चंकिंग देखें।
टिप्पणी लेन सक्षम होने पर, प्रस्तावनाएँ केवल उन्हीं बीच में रखी गई 💬 पंक्तियों के रूप में रेंडर होती हैं; नीचे दिया गया स्थिति शीर्षक रास्ते से हट जाता है ताकि लेन अपना दस्तावेज़ीकृत स्वरूप बनाए रखे।
स्थिति शीर्षक
प्रगति मोड में Discord और Telegram पर, मॉडल की टाइप की गई टूल-पूर्व प्रस्तावना उपलब्ध होने पर ड्राफ़्ट का स्थिति शीर्षक बन जाती है। अन्य प्रगति-मोड चैनल अपना मौजूदा स्थिति व्यवहार बनाए रखते हैं। शीर्षक डिफ़ॉल्ट रूप से चालू रहता है और छोटे टर्न के लिए सामान्य गतिविधि गेट को बायपास नहीं करता;streaming.progress.commentary सक्षम करने पर प्रस्तावनाएँ इसके बजाय बीच में रखी गई टिप्पणी लेन को सौंप दी जाती हैं।
Discord पर, जब एजेंट के लिए कोई उपयोगिता मॉडल निर्धारित होता है — एक स्पष्ट utilityModel, या प्राथमिक प्रदाता का घोषित छोटा-मॉडल डिफ़ॉल्ट (OpenAI → gpt-5.6-luna, Anthropic → claude-haiku-4-5) — तब मॉडल द्वारा कोई प्रस्तावना उत्सर्जित न करने या लगभग 20 सेकंड तक शांत रहने पर वह साधारण भाषा में एक छोटा पूरक प्रदान करता है (आज Telegram का शीर्षक केवल प्रस्तावना पर आधारित है):
streaming.progress.narration, डिफ़ॉल्ट true) और कभी भी प्राथमिक मॉडल पर फ़ॉलबैक नहीं करता: यह केवल स्पष्ट utilityModel या एजेंट के प्राथमिक प्रदाता हेतु प्रदाता-घोषित डिफ़ॉल्ट के साथ चलता है। उपयोगिता रूटिंग को पूरी तरह अक्षम करने के लिए utilityModel: "" सेट करें। टूल पंक्तियाँ नीचे जमा होती रहती हैं और यदि दोनों स्थिति स्रोत रुक जाते हैं, तो फिर दिखाई देती हैं। ड्राफ़्ट संपादन अभी भी सामान्य गतिविधि गेट और वास्तविक टेक्स्ट परिवर्तन की प्रतीक्षा करते हैं, जिससे तेज़ टर्न पर चमक से बचाव होता है और व्यस्त चैनलों में संपादन की बारंबारता कम होती है। केवल उपयोगिता-मॉडल पूरक को अक्षम करने के लिए narration: false सेट करें; मॉडल प्रस्तावना शीर्षक सक्षम रहते हैं:
commandText: "status" के साथ, वर्णन इनपुट एक्ज़ेक/Bash कमांड टेक्स्ट भी छोड़ देता है, जो ड्राफ़्ट में दिखाई देने वाली सामग्री से मेल खाता है।
पंक्ति सीमाएँ
दिखाई देने वाली पंक्तियों की संख्या सीमित करें (डिफ़ॉल्ट 8):समृद्ध रेंडरिंग (Slack)
Slack प्रगति पंक्तियों को सादे टेक्स्ट के बजाय संरचित Block Kit फ़ील्ड के रूप में रेंडर कर सकता है:टूल/कार्य पंक्तियाँ छिपाएँ
एकल प्रगति ड्राफ़्ट बनाए रखें, लेकिन टूल और कार्य पंक्तियाँ छिपाएँ:toolProgress: false के साथ, OpenClaw उस टर्न के लिए पुराने अलग-अलग
टूल-प्रगति संदेशों को अब भी रोकता है — अंतिम उत्तर आने तक चैनल दृश्य रूप से
शांत रहता है, सिवाय लेबल के, यदि कोई कॉन्फ़िगर किया गया हो।
चैनल का व्यवहार
सुरक्षित संपादन समर्थन के बिना चैनल टाइपिंग संकेतकों या केवल-अंतिम
डिलीवरी का उपयोग करते हैं। प्रत्येक चैनल के पूर्ण रनटाइम-व्यवहार विवरण के लिए
स्ट्रीमिंग और खंडन देखें।
अंतिम रूप देना
अंतिम उत्तर तैयार होने पर, OpenClaw चैट को साफ़ रखने का प्रयास करता है:- Discord पर
progressमोड में, अंतिम उत्तर एक नए संदेश के रूप में भेजा जाता है, जिसके अंत में एक छोटी-#गतिविधि रसीद जोड़ी जाती है (उदाहरण के लिए-# 🧠 2 thoughts · 🛠️ 5 tool calls · ⏱️ 12s), और उस उत्तर की डिलीवरी होने के बाद स्थिति ड्राफ़्ट हटा दिया जाता है। व्यस्त चैनलों में उत्तर के ऊपर कोई अनाथ टूल लॉग नहीं रहता; त्रुटि वाले अंतिम उत्तर विफल टर्न के दृश्य रिकॉर्ड के रूप में ड्राफ़्ट को बनाए रखते हैं। - यदि ड्राफ़्ट सुरक्षित रूप से अंतिम उत्तर बन सकता है (
partial/blockमोड), तो OpenClaw उसे उसी स्थान पर संपादित करता है। - यदि चैनल मूल प्रगति स्ट्रीमिंग का उपयोग करता है, तो मूल परिवहन द्वारा अंतिम टेक्स्ट स्वीकार किए जाने पर OpenClaw उस स्ट्रीम को अंतिम रूप देता है।
- अन्यथा (मीडिया, अनुमोदन प्रॉम्प्ट, स्पष्ट उत्तर लक्ष्य, बहुत अधिक खंड, या विफल संपादन/भेजना) OpenClaw ड्राफ़्ट को अधिलेखित करने के बजाय सामान्य चैनल डिलीवरी पथ से अंतिम उत्तर भेजता है।
समस्या निवारण
मुझे केवल अंतिम उत्तर दिखाई देता है। जाँचें कि संदेश संभालने वाले खाते या चैनल के लिएchannels.<channel>.streaming.mode
का मान progress है। कुछ समूह या उद्धरण-उत्तर पथ किसी टर्न के लिए
ड्राफ़्ट पूर्वावलोकन अक्षम कर देते हैं, जब चैनल सही संदेश को सुरक्षित रूप से
संपादित नहीं कर सकता।
मुझे लेबल दिखाई देता है, लेकिन टूल पंक्तियाँ नहीं।
streaming.progress.toolProgress जाँचें। यदि यह false है, तो OpenClaw
एकल ड्राफ़्ट का व्यवहार बनाए रखता है, लेकिन टूल और कार्य प्रगति पंक्तियाँ छिपाता है।
मुझे संपादित ड्राफ़्ट के बजाय एक नया अंतिम संदेश दिखाई देता है।
यह अंतिम रूप देना में वर्णित सुरक्षा फ़ॉलबैक है। यह
मीडिया उत्तरों, लंबे उत्तरों, स्पष्ट उत्तर लक्ष्यों, पुराने Telegram
ड्राफ़्ट, अनुपलब्ध Slack थ्रेड लक्ष्यों, हटाए गए पूर्वावलोकन संदेशों या विफल
मूल स्ट्रीम अंतिमीकरण के कारण हो सकता है।
मुझे अब भी अलग-अलग प्रगति संदेश दिखाई देते हैं।
जब भी कोई ड्राफ़्ट सक्रिय होता है, प्रगति मोड डिफ़ॉल्ट अलग-अलग टूल-प्रगति संदेशों को
रोकता है। यदि अलग-अलग संदेश अब भी दिखाई देते हैं, तो पुष्टि करें कि टर्न
वास्तव में progress मोड का उपयोग कर रहा है, न कि streaming.mode: "off" या ऐसे चैनल
पथ का जो उस संदेश के लिए ड्राफ़्ट नहीं बना सकता।
Teams का व्यवहार Discord या Telegram से अलग है।
Microsoft Teams सामान्य भेजें-और-संपादित-करें पूर्वावलोकन परिवहन के बजाय निजी चैट में
मूल स्ट्रीम का उपयोग करता है, और streaming.mode: "block" को Teams
ब्लॉक डिलीवरी से मैप करता है, क्योंकि इसमें Discord और
Telegram जैसा ड्राफ़्ट-पूर्वावलोकन ब्लॉक मोड नहीं है।