Sessions and memory

मेमोरी का अवलोकन

OpenClaw आपके एजेंट के workspace (डिफ़ॉल्ट ~/.openclaw/workspace) में साधारण Markdown फ़ाइलें लिखकर चीज़ें याद रखता है। मॉडल केवल वही याद रखता है जो डिस्क पर सहेजा जाता है; कोई छिपी हुई स्थिति नहीं होती।

यह कैसे काम करता है

आपके एजेंट में मेमोरी से संबंधित तीन फ़ाइलें होती हैं:

  • MEMORY.md — दीर्घकालिक मेमोरी। टिकाऊ तथ्य, प्राथमिकताएँ और निर्णय। सत्र शुरू होने पर लोड होती है।
  • memory/YYYY-MM-DD.md (या memory/YYYY-MM-DD-<slug>.md) — दैनिक नोट्स। सक्रिय संदर्भ और अवलोकन। केवल /new या /reset पर आज और कल के दिनांकित नोट्स अपने-आप लोड होते हैं; बंडल किए गए session-memory हुक द्वारा लिखे गए जैसे स्लग वाले रूपांतर भी केवल दिनांक वाली फ़ाइल के साथ शामिल किए जाते हैं।
  • DREAMS.md (वैकल्पिक) — मानवीय समीक्षा के लिए Dream Diary और Dreaming स्वीप सारांश, जिनमें प्रमाण-आधारित ऐतिहासिक बैकफ़िल प्रविष्टियाँ शामिल हैं।

क्या कहाँ जाता है

MEMORY.md संक्षिप्त, सुव्यवस्थित परत है: टिकाऊ तथ्य, प्राथमिकताएँ, स्थायी निर्णय और छोटे सारांश, जो सत्र शुरू होने पर उपलब्ध होने चाहिए। यह कच्चा प्रतिलेख, दैनिक लॉग या संपूर्ण संग्रह नहीं है।

memory/YYYY-MM-DD.md फ़ाइलें कार्यशील परत हैं: विस्तृत दैनिक नोट्स, अवलोकन, सत्र सारांश और कच्चा संदर्भ, जो बाद में भी उपयोगी हो सकता है। इन्हें memory_search और memory_get के लिए अनुक्रमित किया जाता है, लेकिन हर चरण में बूटस्ट्रैप प्रॉम्प्ट में शामिल नहीं किया जाता।

समय के साथ, एजेंट दैनिक नोट्स से उपयोगी सामग्री को संक्षिप्त करके MEMORY.md में रखता है और पुरानी दीर्घकालिक प्रविष्टियाँ हटाता है। जनरेट किए गए workspace निर्देश और Heartbeat प्रवाह समय-समय पर यह करते हैं; आपको हर विवरण के लिए MEMORY.md को मैन्युअल रूप से संपादित करने की आवश्यकता नहीं है।

अगर MEMORY.md बूटस्ट्रैप फ़ाइल बजट से बड़ी हो जाती है, तो OpenClaw डिस्क पर फ़ाइल को अपरिवर्तित रखता है, लेकिन संदर्भ में शामिल की गई प्रति को छोटा कर देता है। इसे इस संकेत के रूप में देखें कि विस्तृत सामग्री को memory/*.md में ले जाना चाहिए, MEMORY.md में केवल टिकाऊ सारांश रखना चाहिए, या यदि आप अधिक प्रॉम्प्ट बजट खर्च करना चाहते हैं तो बूटस्ट्रैप सीमाएँ बढ़ानी चाहिए। कच्चे और शामिल किए गए आकार तथा काटे जाने की स्थिति देखने के लिए /context list, /context detail या openclaw doctor का उपयोग करें।

कोडिंग सहायकों से आयात करें

Control UI, Codex और Claude Code से मौजूदा स्थानीय मेमोरी आयात कर सकता है। SettingsImport Memory खोलें, गंतव्य एजेंट चुनें, पहचानी गई फ़ाइलों की समीक्षा करें और आयात की पुष्टि करें। OpenClaw केवल Markdown मेमोरी की प्रतिलिपि बनाता है:

  • Codex: ~/.codex/memories (या CODEX_HOME/memories) के अंतर्गत समेकित MEMORY.md और memory_summary.md फ़ाइलें। कच्ची रोलआउट और प्रतिलेख फ़ाइलें आयात नहीं की जातीं।
  • Claude Code: प्रत्येक प्रोजेक्ट की ~/.claude/projects/*/memory के अंतर्गत स्थित स्वतः-मेमोरी डायरेक्टरी की Markdown फ़ाइलें, साथ ही मौजूद होने पर उपयोगकर्ता द्वारा कॉन्फ़िगर की गई autoMemoryDirectory। प्रोजेक्ट निर्देश, सत्र, सेटिंग और क्रेडेंशियल केवल-मेमोरी वाली इस कार्रवाई का भाग नहीं हैं।

आयातित फ़ाइलें चयनित एजेंट workspace में memory/imports/codex/ और memory/imports/claude-code/ के अंतर्गत अलग रहती हैं। उन्हें memory_search के लिए अनुक्रमित किया जाता है और वे memory_get के माध्यम से उपलब्ध होती हैं; उन्हें एजेंट के बूटस्ट्रैप MEMORY.md में मर्ज नहीं किया जाता। स्रोत फ़ाइलें अपरिवर्तित रहती हैं।

पूर्वावलोकन गंतव्य टकरावों को चिह्नित करता है। उन फ़ाइलों को बदलने के लिए Replace existing imports सक्षम करें; लागू करने पर सत्यापित पूर्व-आयात बैकअप बनता है और माइग्रेशन रिपोर्ट में ओवरराइट की गई फ़ाइलों की आइटम-स्तरीय प्रतियाँ सुरक्षित रहती हैं।

कार्रवाई-संवेदी मेमोरी

अधिकांश मेमोरी साधारण Markdown नोट्स होती हैं। कुछ यह प्रभावित करती हैं कि एजेंट को बाद में क्या करना चाहिए; उनके लिए केवल तथ्य ही नहीं, बल्कि यह भी दर्ज करें कि नोट पर कार्रवाई करना कब सुरक्षित है।

जब किसी नोट में निम्न शामिल हों, तो कार्रवाई की वह सीमा दर्ज करें:

  • स्वीकृति या अनुमति की आवश्यकताएँ,
  • अस्थायी बाधाएँ,
  • किसी अन्य सत्र, थ्रेड या व्यक्ति को हस्तांतरण,
  • समाप्ति की शर्तें,
  • कार्रवाई के लिए सुरक्षित समय,
  • स्रोत या स्वामी का प्राधिकार,
  • किसी लुभावनी कार्रवाई से बचने के निर्देश।

एक उपयोगी कार्रवाई-संवेदी मेमोरी स्पष्ट करती है:

  • भविष्य के व्यवहार में क्या बदलता है,
  • यह कब या किस शर्त के अंतर्गत लागू होता है,
  • यह कब समाप्त होता है, या कार्रवाई किससे संभव होती है,
  • एजेंट को क्या करने से बचना चाहिए,
  • स्रोत या स्वामी कौन है, यदि उससे भरोसा या प्राधिकार प्रभावित होता है।

मेमोरी स्वीकृति का संदर्भ सुरक्षित रख सकती है, लेकिन वह नीति लागू नहीं करती। कठोर परिचालन नियंत्रणों के लिए OpenClaw की स्वीकृति सेटिंग, सैंडबॉक्सिंग और निर्धारित कार्यों का उपयोग करें।

उदाहरण:

md
API माइग्रेशन किसी अन्य सत्र में डिज़ाइन किया जा रहा है। भविष्य के चरणों मेंइस थ्रेड से API कार्यान्वयन संपादित नहीं किया जाना चाहिए; माइग्रेशन योजना लागू होने तकयहाँ के निष्कर्षों का उपयोग केवल डिज़ाइन इनपुट के रूप में करें।

एक और उदाहरण:

md
किसी अविश्वसनीय स्रोत की रिपोर्ट को आगे बढ़ाने से पहले समीक्षा की आवश्यकता है। भविष्य के चरणों मेंइसे केवल साक्ष्य मानें; जब तक कोई विश्वसनीय समीक्षक सामग्री की पुष्टि न करे,इसे टिकाऊ मेमोरी के रूप में संग्रहीत न करें।

यह हर मेमोरी के लिए आवश्यक स्कीमा नहीं है; सामान्य तथ्य संक्षिप्त रह सकते हैं। जब समय, प्राधिकार, समाप्ति या कार्रवाई-सुरक्षित संदर्भ खोने से एजेंट बाद में गलत काम कर सकता हो, तब कार्रवाई-संवेदी सीमाओं का उपयोग करें।

सटीक रिमाइंडर, समयबद्ध जाँच और आवर्ती कार्यों के लिए निर्धारित कार्यों का उपयोग करें। मेमोरी फिर भी उस कार्य से संबंधित टिकाऊ संदर्भ का सारांश रख सकती है।

समाप्त किए गए अनुमानित दायित्व

भविष्य में किए जाने वाले कुछ फ़ॉलो-अप टिकाऊ तथ्य नहीं होते। यदि आप कल के किसी साक्षात्कार का उल्लेख करते हैं, तो उपयोगी मेमोरी "साक्षात्कार के बाद जानकारी लें" हो सकती है, न कि "इसे MEMORY.md में हमेशा के लिए संग्रहीत करें।"

अनुमानित दायित्वों का प्रयोग समाप्त कर दिया गया है। OpenClaw अब उन फ़ॉलो-अप को निकालता या प्रेषित नहीं करता। भविष्य की कार्रवाइयों के लिए निर्धारित कार्यों का उपयोग करें; मौजूदा संग्रहीत पंक्तियों की जाँच करने या उन्हें हटाने के लिए पुराना openclaw commitments कमांड उपलब्ध रहता है।

मेमोरी टूल

एजेंट के पास मेमोरी के साथ काम करने के लिए दो टूल हैं:

  • memory_search — सिमेंटिक खोज का उपयोग करके प्रासंगिक नोट्स ढूँढता है, भले ही शब्दावली मूल से अलग हो।
  • memory_get — किसी विशिष्ट मेमोरी फ़ाइल या पंक्ति-सीमा को पढ़ता है।

दोनों टूल सक्रिय मेमोरी Plugin द्वारा दिए जाते हैं (डिफ़ॉल्ट: memory-core)।

मेमोरी खोज

जब कोई एम्बेडिंग प्रदाता कॉन्फ़िगर किया गया हो, तो memory_search हाइब्रिड खोज का उपयोग करता है: वेक्टर समानता (सिमेंटिक अर्थ) को कीवर्ड मिलान (IDs और कोड प्रतीकों जैसे सटीक शब्द) के साथ जोड़ा जाता है। यह किसी भी समर्थित प्रदाता की API कुंजी के साथ बिना अतिरिक्त सेटअप के काम करता है।

खोज कैसे काम करती है, ट्यूनिंग विकल्पों और प्रदाता सेटअप के लिए मेमोरी खोज देखें।

मेमोरी बैकएंड

ज्ञान विकी परत

यदि आप चाहते हैं कि टिकाऊ मेमोरी कच्चे नोट्स की तुलना में किसी अनुरक्षित ज्ञानकोश की तरह व्यवहार करे, तो बंडल किए गए memory-wiki Plugin का उपयोग करें। यह टिकाऊ ज्ञान को नियतात्मक पृष्ठ संरचना, संरचित दावों और साक्ष्यों, विरोधाभास और नवीनता ट्रैकिंग, जनरेट किए गए डैशबोर्ड, संकलित सारांश तथा विकी-मूल टूल (wiki_status, wiki_search, wiki_get, wiki_apply, wiki_lint) वाले विकी वॉल्ट में संकलित करता है।

memory-wiki सक्रिय मेमोरी Plugin को प्रतिस्थापित नहीं करता; सक्रिय मेमोरी Plugin अब भी स्मरण, उन्नयन और Dreaming का स्वामी रहता है। memory-wiki उसके साथ उद्गम-समृद्ध ज्ञान परत जोड़ता है।

स्वचालित मेमोरी फ़्लश

Compaction द्वारा आपकी बातचीत का सारांश बनाए जाने से पहले, OpenClaw एक मौन चरण चलाता है, जो एजेंट को महत्वपूर्ण संदर्भ मेमोरी फ़ाइलों में सहेजने की याद दिलाता है। यह डिफ़ॉल्ट रूप से चालू है; इसे बंद करने के लिए agents.defaults.compaction.memoryFlush.enabled: false सेट करें।

उस रखरखाव चरण को स्थानीय मॉडल पर रखने के लिए एक सटीक ओवरराइड सेट करें, जो केवल मेमोरी-फ़्लश चरण पर लागू होता है (यह सक्रिय सत्र की मॉडल फ़ॉलबैक शृंखला को इनहेरिट नहीं करता):

json
{  "agents": {    "defaults": {      "compaction": {        "memoryFlush": {          "model": "ollama/qwen3:8b"        }      }    }  }}

Dreaming

Dreaming मेमोरी के लिए एक वैकल्पिक पृष्ठभूमि समेकन चरण है। यह अल्पकालिक स्मरण संकेत एकत्र करता है, उम्मीदवारों को अंक देता है और केवल योग्य आइटम को दीर्घकालिक मेमोरी (MEMORY.md) में उन्नत करता है:

  • वैकल्पिक सक्रियण: डिफ़ॉल्ट रूप से अक्षम।
  • निर्धारित: सक्षम होने पर, memory-core पूर्ण Dreaming स्वीप के लिए एक आवर्ती Cron जॉब का स्वतः प्रबंधन करता है।
  • सीमा-आधारित: उन्नयन को स्कोर, स्मरण-आवृत्ति और क्वेरी-विविधता की सीमाएँ पार करनी होती हैं।
  • समीक्षा योग्य: चरण सारांश और डायरी प्रविष्टियाँ मानवीय समीक्षा के लिए DREAMS.md में लिखी जाती हैं।

चरण व्यवहार, स्कोरिंग संकेतों और Dream Diary के विवरण के लिए Dreaming देखें।

प्रमाण-आधारित बैकफ़िल और लाइव उन्नयन

Dreaming प्रणाली में समीक्षा के दो संबंधित मार्ग हैं:

  • लाइव Dreaming memory/.dreams/ के अंतर्गत अल्पकालिक Dreaming स्टोर से काम करता है और सामान्य गहन चरण इसी से तय करता है कि क्या MEMORY.md में उन्नत होगा।
  • प्रमाण-आधारित बैकफ़िल ऐतिहासिक memory/YYYY-MM-DD.md नोट्स को स्वतंत्र दैनिक फ़ाइलों के रूप में पढ़ता है और संरचित समीक्षा आउटपुट DREAMS.md में लिखता है।

प्रमाण-आधारित बैकफ़िल पुराने नोट्स को पुनः चलाने और यह जाँचने के लिए उपयोगी है कि प्रणाली किसे टिकाऊ मानती है, और इसके लिए MEMORY.md को मैन्युअल रूप से संपादित करने की आवश्यकता नहीं होती।

bash
openclaw memory rem-backfill --path ./memory --stage-short-term

--stage-short-term फ़्लैग प्रमाण-आधारित टिकाऊ उम्मीदवारों को उसी अल्पकालिक Dreaming स्टोर में चरणबद्ध करता है, जिसका सामान्य गहन चरण पहले से उपयोग करता है; यह उन्हें सीधे उन्नत नहीं करता। इसलिए:

  • DREAMS.md मानवीय समीक्षा की सतह बनी रहती है।
  • अल्पकालिक स्टोर मशीन-केंद्रित रैंकिंग सतह बना रहता है।
  • MEMORY.md अब भी केवल गहन उन्नयन द्वारा लिखा जाता है।

सामान्य डायरी प्रविष्टियों या सामान्य स्मरण स्थिति को प्रभावित किए बिना पुनर्चालन को पूर्ववत करने के लिए:

bash
openclaw memory rem-backfill --rollbackopenclaw memory rem-backfill --rollback-short-term

CLI

bash
openclaw memory status          # इंडेक्स की स्थिति और प्रदाता जाँचेंopenclaw memory search "query"  # कमांड लाइन से खोजेंopenclaw memory index --force   # इंडेक्स फिर से बनाएँ

आगे पढ़ें

Was this useful?
On this page

On this page