CLI commands

सत्र

openclaw sessions

संग्रहीत वार्तालाप सत्रों की सूची दिखाएँ।

सत्र सूचियाँ चैनल/प्रदाता की सक्रियता जाँच नहीं हैं। वे सत्र स्टोर से स्थायी रूप से संग्रहीत वार्तालाप पंक्तियाँ दिखाती हैं। कोई निष्क्रिय Discord, Slack, Telegram या अन्य चैनल नई सत्र पंक्ति बनाए बिना सफलतापूर्वक पुनः कनेक्ट हो सकता है, जब तक कोई संदेश संसाधित न हो। जब आपको लाइव चैनल कनेक्टिविटी चाहिए, तो openclaw channels status --probe, openclaw status --deep या openclaw health --verbose का उपयोग करें।

bash
openclaw sessionsopenclaw sessions --agent workopenclaw sessions --all-agentsopenclaw sessions --active 120openclaw sessions --limit 25openclaw sessions --store ./tmp/sessions.jsonopenclaw sessions --json

फ़्लैग:

फ़्लैग विवरण
--agent <id> एक कॉन्फ़िगर किया गया एजेंट स्टोर (डिफ़ॉल्ट: कॉन्फ़िगर किया गया डिफ़ॉल्ट एजेंट)।
--all-agents सभी कॉन्फ़िगर किए गए एजेंट स्टोर एकत्रित करें।
--store <path> स्पष्ट स्टोर पथ (--agent या --all-agents के साथ संयोजित नहीं किया जा सकता)।
--active <minutes> केवल पिछले N मिनटों में अपडेट हुए सत्र दिखाएँ।
--limit <n|all> आउटपुट की अधिकतम पंक्तियाँ (डिफ़ॉल्ट 100; all पूर्ण आउटपुट पुनर्स्थापित करता है)।
--json मशीन-पठनीय आउटपुट।
--verbose विस्तृत लॉगिंग।

openclaw sessions और Gateway sessions.list RPC डिफ़ॉल्ट रूप से सीमित होते हैं, ताकि बड़े, लंबे समय तक चलने वाले स्टोर CLI प्रक्रिया या Gateway इवेंट लूप पर एकाधिकार न कर सकें। CLI डिफ़ॉल्ट रूप से नवीनतम 100 सत्र लौटाता है; छोटी/बड़ी सीमा के लिए --limit <n> या जानबूझकर पूर्ण स्टोर की आवश्यकता होने पर --limit all दें। जब कॉलर को यह दिखाना हो कि और पंक्तियाँ मौजूद हैं, तो JSON प्रतिक्रियाओं में totalCount, limitApplied और hasMore शामिल होते हैं।

RPC क्लाइंट व्यापक संयुक्त खोज स्रोत बनाए रखने के लिए configuredAgentsOnly: true दे सकते हैं, लेकिन केवल वर्तमान में कॉन्फ़िगरेशन में मौजूद एजेंटों की पंक्तियाँ लौटा सकते हैं। Control UI डिफ़ॉल्ट रूप से इसी मोड का उपयोग करता है, ताकि हटाए गए या केवल डिस्क पर मौजूद एजेंट स्टोर Sessions दृश्य में दोबारा दिखाई न दें।

--all-agents कॉन्फ़िगर किए गए एजेंट स्टोर पढ़ता है। Gateway और ACP सत्र खोज अधिक व्यापक हैं: उनमें कॉन्फ़िगर किए गए एजेंट रूट या टेम्पलेटयुक्त session.store रूट से निर्धारित SQLite स्टोर भी शामिल होते हैं। पुराने चयनकर्ता पथ एजेंट रूट के भीतर निर्धारित होने चाहिए; सिमलिंक और रूट से बाहर के पथ छोड़ दिए जाते हैं।

openclaw sessions --all-agents --json:

json
{  "path": null,  "stores": [    { "agentId": "main", "path": "/home/user/.openclaw/agents/main/sessions/sessions.json" },    { "agentId": "work", "path": "/home/user/.openclaw/agents/work/sessions/sessions.json" }  ],  "allAgents": true,  "count": 2,  "totalCount": 2,  "limitApplied": 100,  "hasMore": false,  "activeMinutes": null,  "sessions": [    { "agentId": "main", "key": "agent:main:main", "model": "openai/gpt-5.6-sol" },    { "agentId": "work", "key": "agent:work:main", "model": "anthropic/claude-sonnet-4-6" }  ]}

ट्रैजेक्टरी प्रगति का अंतिम भाग देखें

bash
openclaw sessions tailopenclaw sessions tail --followopenclaw sessions tail --session-key "agent:main:telegram:direct:123" --tail 25openclaw sessions --agent work tail --followopenclaw sessions --all-agents tail --follow

openclaw sessions tail हाल के रनटाइम ट्रैजेक्टरी इवेंट को संक्षिप्त प्रगति पंक्तियों के रूप में प्रस्तुत करता है। --session-key के बिना, यह पहले चल रहे सत्रों का अंतिम भाग दिखाता है, फिर नवीनतम संग्रहीत सत्र का। --tail <count> नियंत्रित करता है कि फ़ॉलो मोड से पहले कितने मौजूदा इवेंट प्रिंट हों; डिफ़ॉल्ट 80 है और 0 वर्तमान अंत से शुरू करता है। --follow चयनित SQLite-समर्थित सत्र या स्पष्ट पुरानी ट्रैजेक्टरी फ़ाइल की निगरानी जारी रखता है।

प्रगति दृश्य जानबूझकर सीमित जानकारी दिखाता है: प्रॉम्प्ट टेक्स्ट, टूल आर्ग्युमेंट और टूल परिणाम का मुख्य भाग प्रिंट नहीं होता। टूल कॉल {...redacted...} के साथ टूल का नाम दिखाते हैं; टूल परिणाम ok, error या done जैसी स्थिति दिखाते हैं; मॉडल पूर्णता पंक्तियाँ प्रदाता/मॉडल और अंतिम स्थिति दिखाती हैं।

ट्रैजेक्टरी बंडल निर्यात करें

bash
openclaw sessions export-trajectory --session-key "agent:main:telegram:direct:123" --workspace .openclaw sessions export-trajectory --session-key "agent:main:telegram:direct:123" --output bug-123 --json

स्वामी द्वारा निष्पादन अनुरोध स्वीकृत करने के बाद /export-trajectory स्लैश कमांड इसी कमांड पथ का उपयोग करता है। आउटपुट डायरेक्टरी हमेशा चयनित वर्कस्पेस के भीतर .openclaw/trajectory-exports/ में निर्धारित होती है।

क्लीनअप रखरखाव

अगले लेखन चक्र की प्रतीक्षा करने के बजाय रखरखाव अभी चलाएँ:

bash
openclaw sessions cleanup --dry-runopenclaw sessions cleanup --agent work --dry-runopenclaw sessions cleanup --all-agents --dry-runopenclaw sessions cleanup --enforceopenclaw sessions cleanup --enforce --active-key "agent:main:telegram:direct:123"openclaw sessions cleanup --dry-run --fix-dm-scopeopenclaw sessions cleanup --json

openclaw sessions cleanup कॉन्फ़िगरेशन की session.maintenance सेटिंग्स का उपयोग करता है (कॉन्फ़िगरेशन संदर्भ):

  • दायरे संबंधी टिप्पणी: openclaw sessions cleanup सत्र स्टोर, ट्रांसक्रिप्ट, ट्रैजेक्टरी पंक्तियाँ और पुराने ट्रैजेक्टरी साइडकार बनाए रखता है। यह Cron रन इतिहास की छँटाई नहीं करता, जो प्रत्येक जॉब की नवीनतम 2000 पंक्तियाँ स्वतः बनाए रखता है (Cron कॉन्फ़िगरेशन)।
  • क्लीनअप, session.maintenance.pruneAfter से पुराने ऐसे विरासत/अभिलेख ट्रांसक्रिप्ट आर्टिफ़ैक्ट, Compaction चेकपॉइंट और ट्रैजेक्टरी साइडकार भी हटाता है जिनका कोई संदर्भ नहीं है; SQLite सत्र पंक्तियों द्वारा अब भी संदर्भित आर्टिफ़ैक्ट सुरक्षित रखे जाते हैं।
  • क्लीनअप अल्पकालिक Gateway मॉडल-रन प्रोब क्लीनअप को अलग से modelRunPruned के रूप में रिपोर्ट करता है। यह केवल agent:*:explicit:model-run-<uuid> जैसे आकार वाली सख्त स्पष्ट कुंजियों से मेल खाता है। अवधारण अवधि निश्चित 24h है और दबाव-नियंत्रित है: यह पुरानी प्रोब पंक्तियाँ केवल तभी हटाता है, जब सत्र-प्रविष्टि रखरखाव/सीमा दबाव तक पहुँचा जाता है। इसके चलने पर मॉडल-रन क्लीनअप वैश्विक पुरानी प्रविष्टियों के क्लीनअप और सीमा लागू करने से पहले होता है।

फ़्लैग:

फ़्लैग विवरण
--dry-run बिना लिखे पूर्वावलोकन करें कि कितनी प्रविष्टियों की छँटाई होगी या उन पर सीमा लागू होगी। टेक्स्ट मोड में, यह प्रति-सत्र कार्रवाई तालिका (Action, Key, Age, Model, Flags) और सत्र लेबल के अनुसार समूहीकृत सारांश प्रिंट करता है।
--enforce session.maintenance.mode के warn होने पर भी रखरखाव लागू करें।
--fix-missing ऐसी पुरानी प्रविष्टियाँ हटाएँ जिनके अभिलेखित ट्रांसक्रिप्ट आर्टिफ़ैक्ट अनुपलब्ध हैं या केवल हेडर वाले/खाली हैं, भले ही वे सामान्यतः अभी आयु/गणना सीमा से बाहर न हुई हों।
--fix-dm-scope जब session.dmScope, main हो, तो पुराने per-peer, per-channel-peer या per-account-channel-peer रूटिंग द्वारा छोड़ी गई पुरानी पीयर-कुंजी वाली डायरेक्ट-DM पंक्तियाँ निष्क्रिय करें। पहले --dry-run का उपयोग करें; लागू करने पर वे पंक्तियाँ SQLite से हट जाती हैं और उनके पुराने ट्रांसक्रिप्ट आर्टिफ़ैक्ट हटाए गए अभिलेखों के रूप में सुरक्षित रहते हैं।
--active-key <key> किसी विशिष्ट सक्रिय कुंजी को डिस्क-बजट निष्कासन से सुरक्षित रखें। समूह सत्रों और थ्रेड-दायरे वाले चैट सत्रों जैसे स्थायी बाहरी वार्तालाप पॉइंटर भी आयु/गणना/डिस्क-बजट रखरखाव में बनाए रखे जाते हैं।
--agent <id> एक कॉन्फ़िगर किए गए एजेंट स्टोर के लिए क्लीनअप चलाएँ।
--all-agents सभी कॉन्फ़िगर किए गए एजेंट स्टोर के लिए क्लीनअप चलाएँ।
--store <path> किसी विशिष्ट पुराने स्टोर चयनकर्ता पथ पर चलाएँ।
--json JSON सारांश प्रिंट करें। --all-agents के साथ, आउटपुट में प्रत्येक स्टोर का एक सारांश शामिल होता है।

जब Gateway उपलब्ध हो, तो कॉन्फ़िगर किए गए एजेंट स्टोर के लिए गैर-ड्राई-रन क्लीनअप Gateway के माध्यम से भेजा जाता है, ताकि वह रनटाइम ट्रैफ़िक वाले उसी सत्र-स्टोर राइटर का उपयोग करे। किसी पुराने स्टोर चयनकर्ता की स्पष्ट ऑफ़लाइन मरम्मत के लिए --store <path> का उपयोग करें।

openclaw sessions cleanup --all-agents --dry-run --json:

json
{  "allAgents": true,  "mode": "warn",  "dryRun": true,  "stores": [    {      "agentId": "main",      "storePath": "/home/user/.openclaw/agents/main/sessions/sessions.json",      "beforeCount": 120,      "afterCount": 80,      "missing": 0,      "dmScopeRetired": 0,      "pruned": 40,      "capped": 0    },    {      "agentId": "work",      "storePath": "/home/user/.openclaw/agents/work/sessions/sessions.json",      "beforeCount": 18,      "afterCount": 18,      "missing": 0,      "dmScopeRetired": 0,      "pruned": 0,      "capped": 0    }  ]}

सत्र को संक्षिप्त करें

अटके हुए या अत्यधिक बड़े सत्र के लिए संदर्भ बजट पुनः प्राप्त करें। openclaw sessions compact <key>, sessions.compact Gateway RPC का प्रथम-श्रेणी रैपर है और इसके लिए चालू Gateway आवश्यक है।

bash
openclaw sessions compact "agent:main:main"openclaw sessions compact "agent:main:main" --max-lines 200openclaw sessions compact "agent:work:main" --agent work --json
  • --max-lines के बिना, Gateway LLM से ट्रांसक्रिप्ट का सारांश बनवाता है। CLI डिफ़ॉल्ट रूप से क्लाइंट समय-सीमा लागू नहीं करता; कॉन्फ़िगर किए गए Compaction जीवनचक्र का स्वामित्व Gateway के पास होता है।
  • --max-lines <n> के साथ, यह ट्रांसक्रिप्ट को अंतिम n पंक्तियों तक सीमित करता है और पिछले ट्रांसक्रिप्ट को .bak साइडकार के रूप में अभिलेखित करता है।
  • --agent <id>: सत्र का स्वामी एजेंट; global कुंजियों के लिए आवश्यक।
  • --url / --token / --password: Gateway कनेक्शन ओवरराइड।
  • --timeout <ms>: मिलीसेकंड में वैकल्पिक क्लाइंट-साइड RPC समय-सीमा।
  • --json: अपरिष्कृत RPC पेलोड प्रिंट करें।

जब Gateway किसी विफल Compaction की रिपोर्ट करता है या उस तक पहुँचा नहीं जा सकता, तो कमांड गैर-शून्य स्थिति के साथ समाप्त होती है, ताकि Cron और स्क्रिप्ट कभी भी बिना संदेश वाले नो-ऑप को सफलता न समझें।

sessions.compact RPC

openclaw gateway call sessions.compact --params '<json>' निम्नलिखित स्वीकार करता है:

फ़ील्ड प्रकार आवश्यक विवरण
key स्ट्रिंग हाँ Compaction की जाने वाली सेशन कुंजी (उदाहरण के लिए agent:main:main)।
agentId स्ट्रिंग नहीं सेशन का स्वामी एजेंट आईडी (global कुंजियों के लिए)।
maxLines पूर्णांक ≥ 1 नहीं LLM सारांशीकरण के बजाय अंतिम N पंक्तियों तक संक्षिप्त करें।

LLM-सारांशीकरण प्रतिक्रिया का उदाहरण:

json
{  "ok": true,  "key": "agent:main:main",  "compacted": true,  "result": { "tokensBefore": 243868, "tokensAfter": 34941 }}

संक्षिप्तीकरण प्रतिक्रिया का उदाहरण (--max-lines 200):

json
{  "ok": true,  "key": "agent:main:main",  "compacted": true,  "archived": "/home/user/.openclaw/agents/main/sessions/transcripts/<id>.jsonl.bak",  "kept": 200}

संबंधित

Was this useful?
On this page

On this page