openclaw audit
एजेंट रन, टूल कार्रवाइयों और ऑप्ट-इन संदेश जीवनचक्र रिकॉर्ड के लिए Gateway की केवल-मेटाडेटा ऑडिट लेजर से क्वेरी करें।
लेजर रन और टूल ईवेंट के लिए डिफ़ॉल्ट रूप से चालू होती है। सभी नए ईवेंट रिकॉर्ड रोकने के लिए
audit.enabled: false सेट करें और
Gateway को पुनः आरंभ करें। संदेश रिकॉर्ड अलग से डिफ़ॉल्ट रूप से अक्षम होते हैं;
उन्हें रिकॉर्ड करने के लिए audit.messages को direct या all पर सेट करें और Gateway को पुनः आरंभ करें। मौजूदा रिकॉर्ड की समय-सीमा समाप्त होने तक (30 दिन) उनसे क्वेरी की जा सकती है।
लेजर वार्तालाप ट्रांसक्रिप्ट से अलग है: यह पहचान, क्रम, उद्गम, कार्रवाई, स्थिति और सामान्यीकृत परिणाम कोड रिकॉर्ड करती है, लेकिन सामग्री कभी संग्रहीत नहीं करती, और संदेश पहचानकर्ता केवल इंस्टॉलेशन-स्थानीय कुंजीबद्ध छद्मनामों के रूप में दिखाई देते हैं। ऑडिट इतिहास संपूर्ण डेटा मॉडल, गोपनीयता अर्थ-विज्ञान, भंडारण/प्रतिधारण सीमाओं और कवरेज सीमाओं का निर्धारण करता है; यह पृष्ठ कमांड सतह को कवर करता है।
फ़िल्टर
--agent <id>: सटीक एजेंट आईडी--session <key>: सटीक सत्र कुंजी--run <id>: सटीक रन आईडी--kind <kind>:agent_run,tool_action, याmessage--status <status>:started,succeeded,failed,cancelled,timed_out,blocked, याunknown--direction <direction>: संदेश की दिशा,inboundयाoutbound--channel <channel>: सटीक संदेश चैनल--after <timestamp>/--before <timestamp>: समावेशी ISO टाइमस्टैम्प या Unix मिलीसेकंड--limit <count>: 1 से 500 तक पृष्ठ आकार; डिफ़ॉल्ट100--cursor <sequence>: पिछली नवीनतम-प्रथम क्वेरी जारी रखें--json: सीमाबद्ध पृष्ठ को JSON के रूप में प्रिंट करें
- के रूप में रेंडर होता है; OpenClaw एजेंट या रन आईडी गढ़ता नहीं है। टूल कार्रवाइयाँ टूल का नाम भी दिखाती हैं। कोई अन्य पृष्ठ मौजूद होने पर JSON आउटपुट में nextCursor शामिल होता है। पृष्ठांकन के दौरान आने वाले रिकॉर्ड का क्रम बदले बिना जारी रखने के लिए वह मान --cursor को दें।
संदेश का मुख्य भाग और अपरिष्कृत संदेश पहचान फ़ील्ड अनुपस्थित होने के बावजूद, ये निर्यात संवेदनशील परिचालन मेटाडेटा बने रहते हैं। एजेंट, सत्र और रन आईडी, समय, चैनल, परिणाम और स्थिर HMAC संदर्भ गतिविधि को सहसंबद्ध कर सकते हैं। इन्हें अन्य ऑपरेटर रिकॉर्ड के समान अभिगम नियंत्रणों और प्रतिधारण प्रक्रियाओं से सुरक्षित रखें।
रिकॉर्ड किए गए ईवेंट
Gateway विश्वसनीय जीवनचक्र स्ट्रीम को छह कार्रवाइयों में प्रक्षेपित करता है:agent.run.startedagent.run.finishedtool.action.startedtool.action.finishedmessage.inbound.processedmessage.outbound.finished
schemaVersion: 1 चिह्नक, स्रोत अनुक्रम और redaction: "metadata_only" होता है।
एजेंट/सत्र/रन उद्गम और ईवेंट-विशिष्ट फ़ील्ड केवल तभी मौजूद होते हैं, जब विश्वसनीय स्रोत उन्हें प्रदान करता है। संदेश रिकॉर्ड जानबूझकर
sessionKey और sessionId छोड़ देते हैं, इसलिए --session फ़िल्टर केवल रन और टूल रिकॉर्ड पर लागू होते हैं।
टर्मिनल रन और टूल रिकॉर्ड बंद स्थिति और त्रुटि कोड के साथ सफलता, विफलता, रद्दीकरण, टाइमआउट और नीति अवरोधों में अंतर करते हैं। जब कोई अपस्ट्रीम रनटाइम आधिकारिक टर्मिनल परिणाम उजागर नहीं करता, तब unknown एक स्पष्ट गैर-सफल परिणाम होता है। टूल कॉल आईडी केवल स्थिर फ़िंगरप्रिंट के रूप में निर्यात की जाती हैं। टूल नामों को संक्षिप्त मॉडल-सामना नाम अनुबंध से मेल खाना आवश्यक है; अन्य मान unknown बन जाते हैं।
संदेश रिकॉर्ड दिशा, चैनल, वार्तालाप प्रकार, परिणाम और वैकल्पिक वितरण प्रकार, विफलता चरण, अवधि, परिणाम संख्या, सामान्यीकृत कारण कोड और कुंजीबद्ध खाता/वार्तालाप/संदेश/लक्ष्य छद्मनाम जोड़ते हैं। वर्तमान इनबाउंड सीमा उन स्वीकृत संदेशों को कवर करती है जो कोर डिस्पैच तक पहुँचते हैं, जिनमें कोर डुप्लिकेट और टर्मिनल प्रोसेसिंग परिणाम शामिल हैं। आउटबाउंड सीमा प्रत्येक मूल तार्किक उत्तर पेलोड के लिए एक टर्मिनल पंक्ति लिखती है जो साझा टिकाऊ वितरण तक पहुँचता है; खंडन और अडैप्टर फ़ैन-आउट को
resultCount में समेकित किया जाता है। कतारबद्ध पुनः प्रयास योग्य या अस्पष्ट प्रेषण केवल तभी रिकॉर्ड किए जाते हैं, जब अभिस्वीकृति, डेड लेटर या समाधान परिणाम को टर्मिनल बनाता है। इन साझा सीमाओं को बायपास करने वाले Plugin-स्थानीय और प्रत्यक्ष-प्रेषण पथ अभी कवर नहीं किए गए हैं; किसी पंक्ति की अनुपस्थिति यह प्रमाणित नहीं करती कि कोई संदेश मौजूद नहीं था।
ऑडिट लेजर ट्रांसक्रिप्ट, कार्य इतिहास, Cron रन इतिहास या लॉग को प्रतिस्थापित नहीं करती। यह वार्तालाप सामग्री को किसी अन्य स्टोर में कॉपी किए बिना ऑपरेटर के प्रश्नों के लिए एक छोटा क्रॉस-रन इंडेक्स प्रदान करती है।
इनबाउंड पंक्तियों के लिए, durationMs कोर डिस्पैच मापता है और resultCount अंतिम रूप दिए गए कतारबद्ध टूल, ब्लॉक और उत्तर पेलोड की गणना करता है। आउटबाउंड पंक्तियों के लिए,
durationMs अपने टर्मिनल तक वितरण स्वामित्व (और इसलिए कतारबद्ध प्रतीक्षा समय) शामिल करता है, जबकि resultCount पहचाने गए भौतिक प्लेटफ़ॉर्म प्रेषणों की गणना करता है। मौजूद होने पर deliveryKind प्रभावी पोस्ट-हुक, पोस्ट-रेंडर पेलोड का वर्णन करता है; दबाई गई और क्रैश-अस्पष्ट पंक्तियाँ इसे छोड़ देती हैं।
Gateway RPC
audit.activity.list के लिए operator.read आवश्यक है और यह समान फ़िल्टर स्वीकार करता है। यह नामित V1 गतिविधि ईवेंट यूनियन लौटाता है, जिसमें रन, टूल, इनबाउंड-संदेश और आउटबाउंड-संदेश रिकॉर्ड शामिल हैं।
{ "events": AuditActivityEventV1[], "nextCursor"?: string } है।
परिणाम नवीनतम-प्रथम होते हैं और प्रत्येक अनुरोध पर 500 रिकॉर्ड तक सीमित होते हैं।
पुराने रन/टूल क्लाइंट के लिए जारी किया गया audit.list RPC अपरिवर्तित रहता है। जब किसी पुराने Gateway पर
audit.activity.list अनुपलब्ध होता है, तब CLI केवल तभी
audit.list का पुनः प्रयास करती है, जब अनुरोधित प्रत्येक फ़िल्टर उस लीगेसी विधि द्वारा समर्थित हो। किसी पुराने Gateway पर --kind message,
--direction और --channel को चुपचाप छोड़ने के बजाय अपग्रेड संदेश के साथ विफल किया जाता है।