सिस्टम प्रॉम्प्ट¶
OpenClaw हर एजेंट रन के लिए एक कस्टम सिस्टम प्रॉम्प्ट बनाता है। यह प्रॉम्प्ट OpenClaw के स्वामित्व में होता है और p-coding-agent का डिफ़ॉल्ट प्रॉम्प्ट उपयोग नहीं करता।
यह प्रॉम्प्ट OpenClaw द्वारा संयोजित किया जाता है और प्रत्येक एजेंट रन में इंजेक्ट किया जाता है।
संरचना¶
प्रॉम्प्ट जानबूझकर संक्षिप्त रखा गया है और निश्चित अनुभागों का उपयोग करता है:
- Tooling: वर्तमान टूल सूची + संक्षिप्त विवरण।
- Safety: शक्ति-लोलुप व्यवहार या निगरानी को दरकिनार करने से बचने के लिए संक्षिप्त गार्डरेल स्मरण।
- Skills (उपलब्ध होने पर): मॉडल को मांग पर skill निर्देश लोड करने का तरीका बताता है।
- OpenClaw Self-Update:
config.applyऔरupdate.runकैसे चलाएँ। - Workspace: कार्यशील निर्देशिका (
agents.defaults.workspace)। - Documentation: OpenClaw डॉक्स का स्थानीय पथ (repo या npm पैकेज) और उन्हें कब पढ़ना है।
- Workspace Files (injected): यह संकेत करता है कि बूटस्ट्रैप फ़ाइलें नीचे शामिल हैं।
- Sandbox (सक्षम होने पर): सैंडबॉक्स्ड रनटाइम, सैंडबॉक्स पथ, और क्या उन्नत exec उपलब्ध है।
- Current Date & Time: उपयोगकर्ता-स्थानीय समय, टाइमज़ोन, और समय प्रारूप।
- Reply Tags: समर्थित प्रदाताओं के लिए वैकल्पिक उत्तर टैग सिंटैक्स।
- Heartbeats: हार्टबीट प्रॉम्प्ट और ack व्यवहार।
- Runtime: होस्ट, OS, node, मॉडल, repo root (जब पता चले), thinking level (एक पंक्ति)।
- Reasoning: वर्तमान दृश्यता स्तर + /reasoning टॉगल संकेत।
सिस्टम प्रॉम्प्ट में सेफ़्टी गार्डरेल्स परामर्शात्मक होते हैं। वे मॉडल के व्यवहार को मार्गदर्शन देते हैं, लेकिन पॉलिसी लागू नहीं करते। कठोर प्रवर्तन के लिए टूल पॉलिसी, exec अनुमोदन, सैंडबॉक्सिंग, और चैनल allowlists का उपयोग करें; ऑपरेटर डिज़ाइन के अनुसार इन्हें अक्षम कर सकते हैं।
प्रॉम्प्ट मोड्स¶
OpenClaw सब-एजेंट्स के लिए छोटे सिस्टम प्रॉम्प्ट रेंडर कर सकता है। रनटाइम हर रन के लिए एक promptMode सेट करता है (यूज़र-फेसिंग कॉन्फ़िग नहीं):
full(डिफ़ॉल्ट): ऊपर दिए गए सभी अनुभाग शामिल करता है।minimal: सब-एजेंट्स के लिए उपयोग किया जाता है; Skills, Memory Recall, OpenClaw Self-Update, Model Aliases, User Identity, Reply Tags, Messaging, Silent Replies, और Heartbeats को छोड़ देता है। Tooling, Safety, Workspace, Sandbox, Current Date & Time (जब ज्ञात हो), Runtime, और injected context उपलब्ध रहते हैं।none: केवल बेस पहचान पंक्ति लौटाता है।
जब promptMode=minimal होता है, अतिरिक्त इंजेक्टेड प्रॉम्प्ट्स को Subagent
Context के रूप में लेबल किया जाता है, Group Chat Context के बजाय।
Workspace बूटस्ट्रैप इंजेक्शन¶
बूटस्ट्रैप फ़ाइलों को ट्रिम करके Project Context के अंतर्गत जोड़ा जाता है ताकि मॉडल को पहचान और प्रोफ़ाइल संदर्भ बिना स्पष्ट रीड्स के दिखे:
AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(केवल बिल्कुल नए वर्कस्पेस पर)
बड़ी फ़ाइलों को एक मार्कर के साथ ट्रंकेट किया जाता है। प्रति-फ़ाइल अधिकतम आकार agents.defaults.bootstrapMaxChars द्वारा नियंत्रित होता है (डिफ़ॉल्ट: 20000)। ग़ायब फ़ाइलें एक छोटा missing-file मार्कर इंजेक्ट करती हैं।
आंतरिक हुक्स इस चरण को agent:bootstrap के माध्यम से इंटरसेप्ट कर सकते हैं ताकि
इंजेक्टेड बूटस्ट्रैप फ़ाइलों को म्यूटेट या प्रतिस्थापित किया जा सके (उदाहरण के लिए SOUL.md को किसी वैकल्पिक पर्सोना से बदलना)।
यह देखने के लिए कि हर injected फ़ाइल कितना योगदान देती है (raw बनाम injected, truncation, तथा टूल स्कीमा ओवरहेड), /context list या /context detail का उपयोग करें। Context देखें।
समय हैंडलिंग¶
जब यूज़र का टाइमज़ोन ज्ञात हो, सिस्टम प्रॉम्प्ट में एक समर्पित Current Date & Time सेक्शन शामिल होता है। प्रॉम्प्ट को cache-stable रखने के लिए, अब इसमें केवल time zone शामिल होता है (कोई डायनेमिक घड़ी या टाइम फ़ॉर्मैट नहीं)।
जब एजेंट को वर्तमान समय की आवश्यकता हो तो session_status का उपयोग करें; स्टेटस कार्ड
में एक टाइमस्टैम्प पंक्ति शामिल होती है।
इस प्रकार कॉन्फ़िगर करें:
agents.defaults.userTimezoneagents.defaults.timeFormat(auto|12|24)
पूर्ण व्यवहार विवरण के लिए देखें Date & Time।
Skills¶
जब उपयुक्त स्किल्स मौजूद हों, OpenClaw एक संक्षिप्त available skills list (formatSkillsForPrompt) इंजेक्ट करता है, जिसमें हर स्किल का फ़ाइल पाथ शामिल होता है। प्रॉम्प्ट मॉडल को सूचीबद्ध स्थान (workspace, managed, या bundled) पर मौजूद SKILL.md लोड करने के लिए read का उपयोग करने का निर्देश देता है। यदि कोई स्किल योग्य नहीं है, तो Skills सेक्शन छोड़ दिया जाता है।
<available_skills>
<skill>
<name>...</name>
<description>...</description>
<location>...</location>
</skill>
</available_skills>
यह बेस प्रॉम्प्ट को छोटा रखता है जबकि लक्षित skill उपयोग को सक्षम बनाता है।
Documentation¶
जब उपलब्ध हो, सिस्टम प्रॉम्प्ट में एक Documentation सेक्शन शामिल होता है जो स्थानीय OpenClaw docs डायरेक्टरी की ओर संकेत करता है (repo workspace में docs/ या bundled npm पैकेज docs), और साथ ही सार्वजनिक मिरर, सोर्स repo, कम्युनिटी Discord, और स्किल्स खोज के लिए ClawHub (https://clawhub.com) का भी उल्लेख करता है। प्रॉम्प्ट मॉडल को OpenClaw के व्यवहार, कमांड्स, कॉन्फ़िगरेशन, या आर्किटेक्चर के लिए पहले स्थानीय docs देखने का निर्देश देता है, और जब संभव हो तो स्वयं openclaw status चलाने को कहता है (केवल तब यूज़र से पूछें जब एक्सेस न हो)।