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 सक्षम करें:
openclaw plugins enable codexopenclaw plugins enable logbookनिर्धारक स्टार्टअप के लिए एक स्पष्ट विज़न मॉडल कॉन्फ़िगर करें:
{ plugins: { entries: { codex: { enabled: true, }, logbook: { enabled: true, config: { visionModel: "codex/gpt-5.6-sol", }, }, }, },}यदि आप plugins.allow का उपयोग करते हैं, तो codex और logbook दोनों शामिल करें। Plugin कॉन्फ़िगरेशन
बदलने के बाद Gateway पुनः शुरू करें, फिर पंजीकरणों का निरीक्षण करें
और डैशबोर्ड खोलें:
openclaw gateway restartopenclaw plugins inspect logbook --runtime --jsonopenclaw nodes status --connectedopenclaw nodes describe --node <idOrNameOrIp>openclaw dashboardNode विवरण में screen.snapshot या logbook.snapshot शामिल होना चाहिए।
हेडलेस Node केवल Plugin सक्रिय होने के बाद logbook.snapshot को विज्ञापित करते हैं।
यदि कमांड अनुपस्थित है, तो Node समस्या-निवारण देखें।
Logbook टैब केवल सक्षम Plugin और operator.write
Control UI सत्र के लिए दिखाई देता है। स्थिति पंक्ति में बिना किसी त्रुटि के कैप्चर जारी है दिखना चाहिए।
विश्लेषण विंडो बंद होने पर एक टाइमलाइन कार्ड दिखाई देता है, या गतिविधि कैप्चर हो जाने के बाद आप
अभी विश्लेषण करें चुन सकते हैं।
यह कैसे काम करता है
- कैप्चर: प्रत्येक
captureIntervalSeconds(डिफ़ॉल्ट 30s) पर Logbook चुने गए Node की कैप्चर कमांड चलाता है और एक स्केल किया हुआ JPEG फ़्रेम संग्रहीत करता है। लगातार एक जैसे फ़्रेम निष्क्रिय चिह्नित किए जाते हैं और विश्लेषण से बाहर रखे जाते हैं। - अवलोकन: विश्लेषण विंडो (डिफ़ॉल्ट 15 मिनट) बीत जाने पर Plugin अधिकतम 16 सक्रिय फ़्रेमों के नमूने लेकर उन्हें विज़न मॉडल को भेजता है, जो टाइमस्टैम्प वाली गतिविधि टिप्पणियाँ लौटाता है ("VS Code: store.ts संपादित करना, टाइप त्रुटि ठीक करना")। दो मिनट से अधिक का कैप्चर अंतराल या स्थानीय मध्यरात्रि भी वर्तमान विंडो बंद कर देती है।
- संश्लेषण: टिप्पणियों और मौजूदा कार्डों के अंतिम 45 मिनट को शीर्षक, सारांश, श्रेणी, मुख्य ऐप और संक्षिप्त ध्यान-भंग विवरण वाले टाइमलाइन कार्डों (प्रत्येक 10-60 मिनट) में संशोधित किया जाता है।
- छँटाई:
retentionDays(डिफ़ॉल्ट 14) से पुराने फ़्रेम हटा दिए जाते हैं। कार्ड, टिप्पणियाँ और कैश किए गए स्टैंडअप रखे जाते हैं।
दिन की सीमाएँ और टाइमलाइन घड़ियाँ ब्राउज़र के समय क्षेत्र के बजाय Gateway के स्थानीय समय क्षेत्र का उपयोग करती हैं।
फ़्रेम और SQLite टाइमलाइन डेटाबेस
<state-dir>/logbook/ के अंतर्गत रहते हैं।
मॉडल और डेटा प्रवाह
Logbook दो अलग मॉडल रूट का उपयोग करता है:
| चरण | भेजा गया डेटा | मॉडल रूट |
|---|---|---|
| अवलोकन | अधिकतम 16 नमूना JPEG फ़्रेम और उनके कैप्चर समय | visionModel, या संगत उधार ली गई tools.media Codex प्रविष्टि |
| कार्ड संश्लेषण | टाइमस्टैम्प वाली टिप्पणियाँ और हाल के टाइमलाइन कार्ड | Plugin LLM रनटाइम के माध्यम से डिफ़ॉल्ट एजेंट मॉडल |
| स्टैंडअप निर्माण | चुने गए दिन और पिछले दिन के कार्ड | Plugin LLM रनटाइम के माध्यम से डिफ़ॉल्ट एजेंट मॉडल |
| अपने दिन के बारे में पूछें | प्रश्न, चुने गए दिन के कार्ड और हाल की टिप्पणियाँ | Plugin LLM रनटाइम के माध्यम से डिफ़ॉल्ट एजेंट मॉडल |
पूरा SQLite डेटाबेस किसी भी मॉडल को नहीं भेजा जाता। कच्चे स्क्रीनशॉट केवल अवलोकन चरण में जाते हैं; कार्ड संश्लेषण, स्टैंडअप और प्रश्नोत्तर को उनसे निकला टेक्स्ट मिलता है।
कॉन्फ़िगरेशन
{ 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 अवलोकन मॉडल को इस क्रम में निर्धारित करता है:
plugins.entries.logbook.config.visionModeltools.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 टैब मौजूद नहीं है
तीनों गेट जाँचें:
openclaw plugins list --enabledमेंlogbookशामिल है।- Plugin या अनुमति-सूची में बदलाव के बाद Gateway पुनः आरंभ हुआ है।
- Control UI कनेक्शन में
operator.writeहै; केवल-पढ़ने योग्य सत्र को इंटरैक्टिव टैब डिस्क्रिप्टर प्राप्त नहीं होता।
अगर plugins.allow सेट है, तो अनुशंसित कॉन्फ़िगरेशन के लिए उसमें logbook और codex, दोनों शामिल होने चाहिए।
कैप्चर त्रुटि की रिपोर्ट करता है
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की प्रतीक्षा करें या गतिविधि कैप्चर होने के बाद अभी विश्लेषण करें चुनें।- लगातार एक जैसे फ़्रेम निष्क्रियता के प्रमाण हैं और विश्लेषण बैच में शामिल नहीं होते। परीक्षण करने से पहले दिखाई देने वाली स्क्रीन बदलें।
- अगर नवीनतम बैच में त्रुटि दिखाई देती है, तो मॉडल या प्रमाणीकरण की समस्या ठीक करें और अभी विश्लेषण करें चुनें। मॉडल पर बार-बार खर्च से बचने के लिए विफल बैच का दोबारा प्रयास केवल उस स्पष्ट कार्रवाई पर किया जाता है।