Plugin guides

लॉगबुक Plugin

Logbook Plugin स्क्रीन गतिविधि को एक स्वचालित कार्य जर्नल में बदल देता है। यह युग्मित Node से समय-समय पर स्क्रीन स्नैपशॉट कैप्चर करता है, उन्हें टाइमस्टैम्प वाली टिप्पणियों में सारांशित करता है और Control UI में टाइमलाइन कार्ड बनाता है। यह दैनिक स्टैंडअप नोट्स भी बना सकता है और ट्रैक किए गए दिन के बारे में प्रश्नों के उत्तर दे सकता है।

OpenClaw के स्वामित्व वाली स्थिति Gateway पर <state-dir>/logbook/ के अंतर्गत रहती है, लेकिन मॉडल प्रोसेसिंग आवश्यक रूप से स्थानीय नहीं होती। नमूने के रूप में लिए गए स्क्रीनशॉट कॉन्फ़िगर किए गए विज़न रूट पर जाते हैं; टिप्पणियाँ और टाइमलाइन टेक्स्ट डिफ़ॉल्ट एजेंट मॉडल पर जाते हैं। यदि स्क्रीन सामग्री और उससे निकला गतिविधि टेक्स्ट मशीन पर ही रहना चाहिए, तो दोनों चरणों के लिए स्थानीय मॉडल रूट का उपयोग करें।

Logbook बंडल में शामिल है और डिफ़ॉल्ट रूप से अक्षम रहता है। Plugin को सक्षम करने पर Gateway स्क्रीन कैप्चर के लिए सहमति देता है क्योंकि captureEnabled का डिफ़ॉल्ट मान true है।

शुरू करने से पहले

आपको चाहिए:

  • एक कनेक्ट किया हुआ Node जो screen.snapshot या logbook.snapshot उपलब्ध कराता हो। macOS ऐप Node को Screen Recording अनुमति चाहिए। हेडलेस macOS Node होस्ट (openclaw node host run) को सिस्टम के screencapture टूल द्वारा समर्थित, Plugin से प्रदान की गई logbook.snapshot कमांड मिलती है।
  • बंडल में शामिल Codex Plugin सक्षम और प्रमाणीकृत होना चाहिए। Codex वर्तमान में Logbook के लिए आवश्यक संरचित इमेज-एक्सट्रैक्शन अनुबंध प्रदान करता है। openclaw models auth login --provider openai से साइन इन करें; अन्य प्रमाणीकरण पथों के लिए Codex हार्नेस देखें।
  • एक कार्यशील डिफ़ॉल्ट एजेंट मॉडल। विज़न पास के बाद Logbook कार्ड, स्टैंडअप नोट्स और दिन के प्रश्नोत्तर तैयार करने के लिए इसका उपयोग करता है।

त्वरित शुरुआत

Codex और Logbook Plugin सक्षम करें:

bash
openclaw plugins enable codexopenclaw plugins enable logbook

निर्धारक स्टार्टअप के लिए एक स्पष्ट विज़न मॉडल कॉन्फ़िगर करें:

json5
{  plugins: {    entries: {      codex: {        enabled: true,      },      logbook: {        enabled: true,        config: {          visionModel: "codex/gpt-5.6-sol",        },      },    },  },}

यदि आप plugins.allow का उपयोग करते हैं, तो codex और logbook दोनों शामिल करें। Plugin कॉन्फ़िगरेशन बदलने के बाद Gateway पुनः शुरू करें, फिर पंजीकरणों का निरीक्षण करें और डैशबोर्ड खोलें:

bash
openclaw gateway restartopenclaw plugins inspect logbook --runtime --jsonopenclaw nodes status --connectedopenclaw nodes describe --node <idOrNameOrIp>openclaw dashboard

Node विवरण में screen.snapshot या logbook.snapshot शामिल होना चाहिए। हेडलेस Node केवल Plugin सक्रिय होने के बाद logbook.snapshot को विज्ञापित करते हैं। यदि कमांड अनुपस्थित है, तो Node समस्या-निवारण देखें।

Logbook टैब केवल सक्षम Plugin और operator.write Control UI सत्र के लिए दिखाई देता है। स्थिति पंक्ति में बिना किसी त्रुटि के कैप्चर जारी है दिखना चाहिए। विश्लेषण विंडो बंद होने पर एक टाइमलाइन कार्ड दिखाई देता है, या गतिविधि कैप्चर हो जाने के बाद आप अभी विश्लेषण करें चुन सकते हैं।

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

  1. कैप्चर: प्रत्येक captureIntervalSeconds (डिफ़ॉल्ट 30s) पर Logbook चुने गए Node की कैप्चर कमांड चलाता है और एक स्केल किया हुआ JPEG फ़्रेम संग्रहीत करता है। लगातार एक जैसे फ़्रेम निष्क्रिय चिह्नित किए जाते हैं और विश्लेषण से बाहर रखे जाते हैं।
  2. अवलोकन: विश्लेषण विंडो (डिफ़ॉल्ट 15 मिनट) बीत जाने पर Plugin अधिकतम 16 सक्रिय फ़्रेमों के नमूने लेकर उन्हें विज़न मॉडल को भेजता है, जो टाइमस्टैम्प वाली गतिविधि टिप्पणियाँ लौटाता है ("VS Code: store.ts संपादित करना, टाइप त्रुटि ठीक करना")। दो मिनट से अधिक का कैप्चर अंतराल या स्थानीय मध्यरात्रि भी वर्तमान विंडो बंद कर देती है।
  3. संश्लेषण: टिप्पणियों और मौजूदा कार्डों के अंतिम 45 मिनट को शीर्षक, सारांश, श्रेणी, मुख्य ऐप और संक्षिप्त ध्यान-भंग विवरण वाले टाइमलाइन कार्डों (प्रत्येक 10-60 मिनट) में संशोधित किया जाता है।
  4. छँटाई: retentionDays (डिफ़ॉल्ट 14) से पुराने फ़्रेम हटा दिए जाते हैं। कार्ड, टिप्पणियाँ और कैश किए गए स्टैंडअप रखे जाते हैं।

दिन की सीमाएँ और टाइमलाइन घड़ियाँ ब्राउज़र के समय क्षेत्र के बजाय Gateway के स्थानीय समय क्षेत्र का उपयोग करती हैं। फ़्रेम और SQLite टाइमलाइन डेटाबेस <state-dir>/logbook/ के अंतर्गत रहते हैं।

मॉडल और डेटा प्रवाह

Logbook दो अलग मॉडल रूट का उपयोग करता है:

चरण भेजा गया डेटा मॉडल रूट
अवलोकन अधिकतम 16 नमूना JPEG फ़्रेम और उनके कैप्चर समय visionModel, या संगत उधार ली गई tools.media Codex प्रविष्टि
कार्ड संश्लेषण टाइमस्टैम्प वाली टिप्पणियाँ और हाल के टाइमलाइन कार्ड Plugin LLM रनटाइम के माध्यम से डिफ़ॉल्ट एजेंट मॉडल
स्टैंडअप निर्माण चुने गए दिन और पिछले दिन के कार्ड Plugin LLM रनटाइम के माध्यम से डिफ़ॉल्ट एजेंट मॉडल
अपने दिन के बारे में पूछें प्रश्न, चुने गए दिन के कार्ड और हाल की टिप्पणियाँ Plugin LLM रनटाइम के माध्यम से डिफ़ॉल्ट एजेंट मॉडल

पूरा SQLite डेटाबेस किसी भी मॉडल को नहीं भेजा जाता। कच्चे स्क्रीनशॉट केवल अवलोकन चरण में जाते हैं; कार्ड संश्लेषण, स्टैंडअप और प्रश्नोत्तर को उनसे निकला टेक्स्ट मिलता है।

कॉन्फ़िगरेशन

json5
{  plugins: {    entries: {      codex: {        enabled: true,      },      logbook: {        enabled: true,        config: {          captureEnabled: true,          captureIntervalSeconds: 30,          analysisIntervalMinutes: 15,          nodeId: "my-mac",          screenIndex: 0,          maxWidth: 1440,          visionModel: "codex/gpt-5.6-sol",          retentionDays: 14,        },      },    },  },}

सभी Logbook कॉन्फ़िगरेशन कुंजियाँ वैकल्पिक हैं। संख्यात्मक मानों को पूर्णांकों में राउंड किया जाता है और समर्थित सीमा में सीमित किया जाता है।

कुंजी डिफ़ॉल्ट सीमा या मान व्यवहार
captureEnabled true बूलियन नए स्नैपशॉट के लिए स्थायी मुख्य स्विच; false होने पर टाइमलाइन उपलब्ध रहती है
captureIntervalSeconds 30 5-600 कैप्चर प्रयासों के बीच विलंब
analysisIntervalMinutes 15 3-120 लक्षित अवलोकन विंडो; अंतराल और मध्यरात्रि इसे पहले बंद कर सकते हैं
nodeId सेट नहीं Node आईडी या प्रदर्शन नाम कैप्चर को एक कनेक्ट किए गए Node पर स्थिर करता है; मिलान केस-असंवेदी है
screenIndex 0 0-16 शून्य-आधारित डिस्प्ले इंडेक्स
maxWidth 1440 480-3840 अनुरोधित कैप्चर आकार सीमा; हेडलेस macOS इसे सबसे बड़े आयाम पर लागू करता है
visionModel सेट नहीं provider/model स्पष्ट संरचित रूट; विकृत संदर्भ विश्लेषण रोकते हैं, असमर्थित प्रदाता बैच विफल करते हैं
retentionDays 14 1-365 पुराने फ़्रेम हटाता है; कार्ड, टिप्पणियाँ और स्टैंडअप बने रहते हैं

nodeId के बिना, Logbook पहले screen.snapshot उपलब्ध कराने वाले कनेक्ट किए गए ऐप Node को प्राथमिकता देता है, फिर logbook.snapshot उपलब्ध कराने वाले हेडलेस Node पर फ़ॉलबैक करता है। अनपिन किए गए सेटअप में विफल Node अन्य योग्य Node के पीछे चला जाता है। डैशबोर्ड का पॉज़ टॉगल केवल सत्र के लिए है और Gateway पुनः शुरू होने पर रीसेट हो जाता है; स्थायी रूप से रोकने के लिए captureEnabled: false का उपयोग करें।

विज़न मॉडल चयन

Logbook अवलोकन मॉडल को इस क्रम में निर्धारित करता है:

  1. plugins.entries.logbook.config.visionModel
  2. tools.media.models के अंतर्गत पहली इमेज-सक्षम Codex प्रविष्टि

अन्य मीडिया प्रदाताओं को छोड़ दिया जाता है क्योंकि वे वर्तमान में Logbook के लिए आवश्यक संरचित एक्सट्रैक्शन अनुबंध उपलब्ध नहीं कराते। tools.media.image.enabled: false सेट करने से उधार लिए गए मीडिया डिफ़ॉल्ट अक्षम हो जाते हैं, लेकिन स्पष्ट Logbook visionModel फिर भी लागू होता है।

डैशबोर्ड टैब

  • टाइमलाइन: प्रत्येक गतिविधि के लिए विस्तृत किए जा सकने वाले कार्ड, जिनमें श्रेणी के रंग, मुख्य ऐप, ध्यान-भंग चिप और स्नैपशॉट कीफ़्रेम होते हैं।
  • दिन का संक्षिप्त अवलोकन: फ़ोकस अनुपात, श्रेणी विभाजन, शीर्ष ऐप।
  • दैनिक स्टैंडअप: कल और आज की जानकारी को पेस्ट करने के लिए तैयार अपडेट में बदलता है।
  • अपने दिन के बारे में पूछें: ट्रैक की गई टाइमलाइन से प्राकृतिक भाषा के प्रश्नों के उत्तर ("मैंने Gateway PR की समीक्षा कब की थी?")।
  • अभी विश्लेषण करें: विश्लेषण अंतराल की प्रतीक्षा करने के बजाय वर्तमान कैप्चर विंडो तुरंत बंद करता है।

Gateway विधियाँ

Logbook ये Gateway RPC विधियाँ पंजीकृत करता है:

विधि पैरामीटर दायरा परिणाम
logbook.status कोई नहीं operator.read कैप्चर, विश्लेषण, मॉडल, Node, Gateway दिवस और Gateway समय क्षेत्र की स्थिति
logbook.days कोई नहीं operator.read टाइमलाइन-कार्ड संख्या और कार्ड समय सीमाओं वाले दिन
logbook.timeline { day?: "YYYY-MM-DD" } operator.read व्युत्पन्न कार्ड और दिन के आँकड़े; डिफ़ॉल्ट रूप से Gateway का वर्तमान दिन
logbook.frames { startMs, endMs } operator.write अनुरोधित युग-मिलीसेकंड सीमा में फ़्रेम मेटाडेटा
logbook.frame { frameId } operator.write base64 के रूप में एक कच्चा JPEG फ़्रेम
logbook.standup { day?, refresh? } operator.write किसी दिन के लिए कैश किया गया या पुनः बनाया गया स्टैंडअप टेक्स्ट
logbook.ask { day?, question } operator.write किसी दिन के लिए टाइमलाइन-आधारित उत्तर
logbook.capture.set { paused } operator.write केवल-सत्र पॉज़ स्थिति और अपडेट की गई स्थिति
logbook.analyze.now कोई नहीं operator.write लंबित विश्लेषण शुरू करता है या उसके शुरू न हो पाने का कारण लौटाता है

रीड विधियाँ परिचालन स्थिति या व्युत्पन्न टेक्स्ट लौटाती हैं। कच्चे स्क्रीनशॉट पिक्सेल, मॉडल-व्यय वाली कार्रवाइयों और रनटाइम परिवर्तनों के लिए operator.write आवश्यक है। Control UI टैब को भी operator.write चाहिए क्योंकि यह इन कार्रवाइयों और कच्चे फ़्रेम पूर्वावलोकनों को उपलब्ध कराता है; केवल-पठन क्लाइंट फिर भी व्युत्पन्न-टेक्स्ट विधियों को सीधे कॉल कर सकता है।

गोपनीयता संबंधी नोट्स

  • स्नैपशॉट में स्क्रीन पर दिखाई देने वाली कोई भी चीज़, जिसमें सीक्रेट भी शामिल हैं, हो सकती है। फ़्रेम कॉन्फ़िगर किए गए अवलोकन मॉडल के लिए नमूना इनपुट के रूप में भेजे जाने के अलावा कभी भी मशीन से बाहर नहीं जाते।
  • कार्ड संश्लेषण, स्टैंडअप निर्माण या प्रश्नोत्तर के दौरान अवलोकन, हाल के कार्ड और प्रश्न डिफ़ॉल्ट एजेंट मॉडल के माध्यम से मशीन से बाहर जा सकते हैं। दोनों मॉडल रूट पर प्रदाता की डेटा-प्रबंधन नीति लागू करें।
  • जब आपको पूरी तरह स्थानीय पाइपलाइन की आवश्यकता हो, तो संरचित अवलोकन मॉडल और डिफ़ॉल्ट एजेंट मॉडल, दोनों के लिए स्थानीय रूट का उपयोग करें।
  • फ़्रेम, टाइमलाइन डेटाबेस और अस्थायी कैप्चर केवल स्वामी के लिए फ़ाइल अनुमतियों के साथ लिखे जाते हैं।
  • screen.snapshot को gateway.nodes.commands.deny में जोड़ना स्क्रीन-कैप्चर किल स्विच है: यह ऐप-नोड कैप्चर और Logbook के अपने logbook.snapshot कमांड, दोनों को अवरुद्ध करता है।
  • tools.media.image.enabled: false सेट करने से Logbook विश्लेषण के लिए मीडिया इमेज मॉडल का उपयोग भी बंद कर देता है; तब केवल Plugin कॉन्फ़िगरेशन में स्पष्ट रूप से दिया गया visionModel उपयोग किया जाता है।

समस्या निवारण

Logbook टैब मौजूद नहीं है

तीनों गेट जाँचें:

  1. openclaw plugins list --enabled में logbook शामिल है।
  2. Plugin या अनुमति-सूची में बदलाव के बाद Gateway पुनः आरंभ हुआ है।
  3. Control UI कनेक्शन में operator.write है; केवल-पढ़ने योग्य सत्र को इंटरैक्टिव टैब डिस्क्रिप्टर प्राप्त नहीं होता।

अगर plugins.allow सेट है, तो अनुशंसित कॉन्फ़िगरेशन के लिए उसमें logbook और codex, दोनों शामिल होने चाहिए।

कैप्चर त्रुटि की रिपोर्ट करता है

bash
openclaw nodes status --connectedopenclaw nodes describe --node <idOrNameOrIp>openclaw logs --follow
  • पुष्टि करें कि नोड screen.snapshot या logbook.snapshot उपलब्ध कराता है।
  • कैप्चर करने वाले Mac पर Screen Recording की अनुमति दें।
  • अगर nodeId कॉन्फ़िगर किया गया है, तो पुष्टि करें कि यह नोड आईडी या डिस्प्ले नाम से मेल खाता है।
  • जाँचें कि gateway.nodes.commands.deny में screen.snapshot शामिल नहीं है।

लगातार तीन विफलताओं के बाद, Logbook दस कैप्चर टिक तक प्रतीक्षा करता है और फिर दोबारा प्रयास करता है। बिना पिन किया गया सेटअप किसी अन्य योग्य नोड पर जा सकता है।

कैप्चर सफल हैं, लेकिन कोई कार्ड दिखाई नहीं देता

  • मॉडल अनुपलब्ध स्थिति का अर्थ है कि कोई संगत संरचित विज़न रूट नहीं मिला। Codex Plugin सक्षम करके प्रमाणित करें या मान्य स्पष्ट visionModel सेट करें। मॉडल अनुपलब्ध रहने तक कैप्चर किए गए फ़्रेम लंबित रहते हैं और कॉन्फ़िगरेशन ठीक होने के बाद उनका विश्लेषण किया जा सकता है।
  • analysisIntervalMinutes की प्रतीक्षा करें या गतिविधि कैप्चर होने के बाद अभी विश्लेषण करें चुनें।
  • लगातार एक जैसे फ़्रेम निष्क्रियता के प्रमाण हैं और विश्लेषण बैच में शामिल नहीं होते। परीक्षण करने से पहले दिखाई देने वाली स्क्रीन बदलें।
  • अगर नवीनतम बैच में त्रुटि दिखाई देती है, तो मॉडल या प्रमाणीकरण की समस्या ठीक करें और अभी विश्लेषण करें चुनें। मॉडल पर बार-बार खर्च से बचने के लिए विफल बैच का दोबारा प्रयास केवल उस स्पष्ट कार्रवाई पर किया जाता है।

संबंधित

Was this useful?
On this page

On this page