Sessions and memory
मुख्य सत्र
OpenClaw सबसे पहले एक व्यक्तिगत एजेंट है। डिफ़ॉल्ट रूप से, आप इसे जो भी डायरेक्ट मैसेज भेजते हैं — Telegram, WhatsApp, iMessage, Slack DMs, वेब ऐप या कहीं और से — वह एक सतत बातचीत में पहुँचता है: मुख्य सेशन। अपने फ़ोन पर कुछ पूछें, अपने लैपटॉप से आगे का सवाल पूछें, और एजेंट के पास दोनों जगह समान संदर्भ होता है। मस्तिष्क एक ही है, और वह यहीं सोचता है।
आंतरिक रूप से मुख्य सेशन agent:<agentId>:main कुंजी वाला एक सामान्य सेशन है
(उदाहरण के लिए agent:main:main)। इसे विशेष यह बनाता है कि डिफ़ॉल्ट DM
स्कोप सभी डायरेक्ट मैसेज को इसमें समाहित कर देता है, और शेष सिस्टम इसे एजेंट
का मूल मानता है: Heartbeat इसे सक्रिय करते हैं, बैकग्राउंड कार्य अपने परिणाम
इसे भेजते हैं, और अन्य स्थानों की गतिविधि इसमें प्रवाहित होती है।
होम
वेब ऐप में मुख्य सेशन होम पेज है — साइडबार की पहली प्रविष्टि। शीर्ष पर पहचान वाली पंक्ति आपका एजेंट है (एजेंट मेन्यू के लिए उस पर क्लिक करें); होम वह जगह है जहाँ आप उससे बात करते हैं। मुख्य बातचीत से अलग होने वाले सेशन थ्रेड्स के अंतर्गत, समूह चैट समूह के अंतर्गत और कोडिंग/CLI सेशन कोडिंग के अंतर्गत दिखाई देते हैं।
मुख्य सेशन में क्या प्रवाहित होता है
मुख्य सेशन केवल चैट लॉग नहीं है; यह वह स्थान है जहाँ आपके एजेंट की दुनिया एकत्र होती है:
- समूह गतिविधि। समूह और रूम सेशन अलग रहते हैं (नीचे देखें), लेकिन डिफ़ॉल्ट DM स्कोप के अंतर्गत मुख्य सेशन स्वचालित रूप से उन पर नज़र रखता है। गतिविधि संक्षिप्त सूचनाओं के रूप में कतारबद्ध होती है — हर बातचीत के लिए एकीकृत, प्रत्येक मैसेज पर अलग सक्रियण कभी नहीं — और अगली बार एजेंट चलने पर उन्हें देखता है: आपके अगले मैसेज पर या निर्धारित Heartbeat पर। एजेंट उन सेशन को पढ़ भी सकता है जिन पर वह नज़र रखता है, इसलिए "परिवार के समूह में मुझसे क्या छूट गया?" जैसे सवाल काम करते हैं।
- बैकग्राउंड कार्य। उप-एजेंट और उत्पन्न किए गए सेशन अपने परिणाम उन्हें शुरू करने वाले सेशन को वापस बताते हैं, इसलिए एजेंट द्वारा होम से शुरू किया गया कार्य होम को ही रिपोर्ट करता है।
- Heartbeat। निर्धारित Heartbeat मुख्य सेशन को लक्षित करते हैं, जिससे कतारबद्ध सूचनाएँ जानकारी में बदलती हैं, भले ही आपने कुछ न लिखा हो।
रीसेट और बातचीत के बीच मेमोरी
सतत बातचीत मॉडल की संदर्भ विंडो द्वारा सीमित होती है, इसलिए निरंतरता उसके आसपास की परतों से आती है:
MEMORY.md, एजेंट की सुव्यवस्थित दीर्घकालिक मेमोरी, प्रत्येक नए सेशन में लोड होती है। दैनिक नोट्स (memory/YYYY-MM-DD.md) आवश्यकता पड़ने पर खोजे जा सकते हैं और हाल के नोट्स/newया/resetके बाद फिर से प्रारंभिक संदर्भ में रखे जाते हैं। Compaction से पहले एजेंट टिकाऊ तथ्यों को दैनिक नोट्स में सुरक्षित करता है, ताकि लंबी बातचीत में वे चुपचाप न खो जाएँ।- बातचीत के बीच मेमोरी पुनःस्मरण एजेंट को अपने अन्य निजी सेशन की
सामग्री याद करने देता है। व्यक्तिगत सेटअप में — वैश्विक
session.dmScopeकाmainमें समाधान होने और प्रति-बाइंडिंग DM ओवरराइड न होने पर — यह डिफ़ॉल्ट रूप से सक्षम होता है; कोई भी कॉन्फ़िगर किया गया DM पृथक्करण इसे बंद कर देता है, जब तक आप इसे स्पष्ट रूप से सक्षम न करें। मेमोरी कॉन्फ़िगरेशन देखें।
टिकाऊ इतिहास वाला सतत सेशन
मॉडल को अपना पूरा इतिहास एक साथ ढोने देने के बजाय मुख्य सेशन रीसेट और Compaction के दौरान आगे बढ़ता रहता है:
- डिफ़ॉल्ट रूप से कोई स्वचालित रीसेट नहीं होता; Compaction सतत सेशन को
बनाए रखते हुए सक्रिय संदर्भ को सीमित रखता है। दैनिक और निष्क्रियता रीसेट
वैकल्पिक हैं (सेशन प्रबंधन देखें)।
/newऔर/resetपर समाप्त होती बातचीत का अंतिम भाग दैनिक मेमोरी नोट्स में सहेजा जाता है, और अगला सेशन हाल के नोट्स को फिर से प्रारंभिक संदर्भ में रखता है। रीसेट एक नई लाइव सेशन आईडी निर्दिष्ट करता है, लेकिन पिछले SQLite ट्रांसक्रिप्ट को उसी मुख्य-सेशन कुंजी के अंतर्गत खोजने योग्य रखता है। - जब बातचीत संदर्भ विंडो के पास पहुँचती है, तो Compaction सारांश बनाकर वहीं आगे जारी रहता है — ट्रांसक्रिप्ट इतिहास सेशन स्टोर में बना रहता है।
- सेशन सूचियाँ वर्तमान लाइव बातचीत दिखाती हैं, उसके पीछे की प्रत्येक ऐतिहासिक सेशन आईडी नहीं।
- जब प्रति-एजेंट स्टोर का भौतिक डेटाबेस, WAL और सेशन आर्टिफ़ैक्ट डिस्क बजट (डिफ़ॉल्ट 10 GB) से अधिक हो जाते हैं, तो OpenClaw डेटाबेस की पंक्तियाँ हटाने से पहले सबसे पुराने असंदर्भित इतिहास को एक सत्यापित संपीड़ित आर्काइव में निकालता है। लाइव, रूट किए गए और प्रगति में चल रहे सेशन कभी भी बजट के कारण नहीं हटाए जाते।
जब इसके बजाय पृथक्करण चाहिए
साझा मुख्य सेशन ऐसे एजेंट के लिए सही डिफ़ॉल्ट है जिससे केवल आप बात करते हैं। यदि कई लोग आपके एजेंट को मैसेज कर सकते हैं, तो DMs को अलग करें:
{ session: { dmScope: "per-channel-peer", },}पृथक्करण वाले स्कोप में प्रत्येक प्रेषक को अपना सेशन मिलता है, मुख्य सेशन
से समूहों पर नज़र रखना अक्षम हो जाता है और बातचीत के बीच मेमोरी पुनःस्मरण
डिफ़ॉल्ट रूप से बंद रहता है। एकाधिक DM प्रेषकों का पता लगने पर
openclaw security audit पृथक्करण की अनुशंसा करता है। संपूर्ण स्कोप मैट्रिक्स,
पहचान लिंकिंग और प्रति-रूट ओवरराइड का विवरण सेशन प्रबंधन
और चैनल रूटिंग में दिया गया है।
संबंधित
- सेशन प्रबंधन — रूटिंग, स्कोप, रीसेट
- चैनल रूटिंग — एजेंट और सेशन कैसे चुने जाते हैं
- मेमोरी — टिकाऊ मेमोरी परतें
- बहु-एजेंट — कई अलग-अलग एजेंट चलाना