CLI commands

سوابق ممیزی

openclaw audit

دفترکل ممیزیِ صرفاً فراداده‌ای Gateway را برای اجرای عامل‌ها، اقدامات ابزارها و رکوردهای چرخهٔ حیات پیام که به‌صورت اختیاری فعال شده‌اند، جست‌وجو کنید.

دفترکل برای رویدادهای اجرا و ابزار به‌طور پیش‌فرض فعال است. برای توقف ثبت همهٔ رویدادهای جدید، audit.enabled: false را تنظیم و Gateway را راه‌اندازی مجدد کنید. رکوردهای پیام به‌طور جداگانه و به‌صورت پیش‌فرض غیرفعال‌اند؛ برای ثبت آن‌ها، audit.messages را روی direct یا all تنظیم و Gateway را راه‌اندازی مجدد کنید. رکوردهای موجود تا زمان انقضا (30 روز) قابل جست‌وجو باقی می‌مانند.

دفترکل از رونوشت‌های مکالمه جدا است: هویت، ترتیب، منشأ، اقدام، وضعیت و کدهای نرمال‌شدهٔ نتیجه را ثبت می‌کند، اما هرگز محتوا را ذخیره نمی‌کند و شناسه‌های پیام فقط به‌شکل نام‌های مستعار کلیددار و محلیِ نصب ظاهر می‌شوند. تاریخچهٔ ممیزی مالک مدل کامل داده، معناشناسی حریم خصوصی، محدوده‌های ذخیره‌سازی/نگه‌داری و محدودیت‌های پوشش است؛ این صفحه سطح فرمان را پوشش می‌دهد.

bash
openclaw auditopenclaw audit --agent main --status failedopenclaw audit --session "agent:main:main" --after 2026-07-01T00:00:00Zopenclaw audit --run 8c69f72e-8b11-4c54-98d5-1a3dd67450c3openclaw audit --kind tool_action --limit 50 --jsonopenclaw audit --kind message --direction outbound --channel telegram --json

فیلترها

  • --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

CLI از RPC فعالیتِ نسخه‌بندی‌شده پرس‌وجو می‌کند تا یک فرمان، کل دفترکل پیکربندی‌شده را نمایش دهد. خروجی متنی زمان، نوع، جهت، کانال، وضعیت، عامل، اجرا و اقدام را نشان می‌دهد. منشأ مفقود پیام به‌شکل - نمایش داده می‌شود؛ OpenClaw شناسهٔ عامل یا اجرا جعل نمی‌کند. اقدامات ابزار نام ابزار را نیز نشان می‌دهند. خروجی JSON وقتی صفحهٔ دیگری وجود داشته باشد، شامل nextCursor است. برای ادامه، آن مقدار را به --cursor بدهید تا رکوردهایی که هنگام صفحه‌بندی می‌رسند، دوباره مرتب نشوند.

این خروجی‌ها با وجود نبود بدنهٔ پیام‌ها و فیلدهای خام هویت پیام، همچنان فرادادهٔ عملیاتی حساس محسوب می‌شوند. شناسه‌های عامل، نشست و اجرا، زمان‌بندی، کانال‌ها، نتایج و ارجاعات پایدار HMAC می‌توانند فعالیت‌ها را به یکدیگر مرتبط کنند. از آن‌ها با همان کنترل‌های دسترسی و شیوه‌های نگه‌داری سایر رکوردهای اپراتور محافظت کنید.

رویدادهای ثبت‌شده

Gateway جریان‌های چرخهٔ حیات قابل‌اعتماد را به شش اقدام نگاشت می‌کند:

  • agent.run.started
  • agent.run.finished
  • tool.action.started
  • tool.action.finished
  • message.inbound.processed
  • message.outbound.finished

هر رکورد بازگردانده‌شده دارای شناسهٔ پایدار رویداد، توالی دفترکل با افزایش یکنواخت، مُهر زمانی چرخهٔ حیات، کنشگر، اقدام، وضعیت، نشانگر schemaVersion: 1، توالی منبع و redaction: "metadata_only" است. منشأ عامل/نشست/اجرا و فیلدهای مختص رویداد فقط زمانی وجود دارند که منبع قابل‌اعتماد آن‌ها را فراهم کند. رکوردهای پیام عمداً sessionKey و sessionId را حذف می‌کنند، بنابراین فیلترهای --session فقط روی رکوردهای اجرا و ابزار اعمال می‌شوند.

رکوردهای نهایی اجرا و ابزار، موفقیت، شکست، لغو، پایان مهلت و مسدودسازی‌های سیاستی را با وضعیت‌ها و کدهای خطای بسته از هم متمایز می‌کنند. وقتی یک زمان‌اجرای بالادستی نتیجهٔ نهایی معتبری ارائه نمی‌کند، unknown یک نتیجهٔ صریح ناموفق است. شناسه‌های فراخوانی ابزار فقط به‌صورت اثرانگشت‌های پایدار صادر می‌شوند. نام ابزارها باید با قرارداد فشردهٔ نامِ قابل‌مشاهده برای مدل مطابقت داشته باشند؛ سایر مقادیر به unknown تبدیل می‌شوند.

رکوردهای پیام، جهت، کانال، نوع مکالمه، نتیجه و در صورت وجود نوع تحویل، مرحلهٔ شکست، مدت‌زمان، تعداد نتایج، کد نرمال‌شدهٔ دلیل و نام‌های مستعار کلیددار حساب/مکالمه/پیام/مقصد را اضافه می‌کنند. مرز ورودی فعلی پیام‌های پذیرفته‌شده‌ای را پوشش می‌دهد که به توزیع هسته می‌رسند، از جمله نتایج پردازش تکراری و نهایی هسته. مرز خروجی برای هر محتوای پاسخ منطقی اصلی که به تحویل پایدار مشترک می‌رسد، یک ردیف نهایی می‌نویسد؛ قطعه‌بندی و انشعاب آداپتور در resultCount تجمیع می‌شوند. ارسال‌های در صفِ قابل‌تلاش مجدد یا مبهم فقط پس از آن ثبت می‌شوند که تأیید دریافت، انتقال به نامه‌های مرده یا تطبیق، نتیجه را نهایی کند. مسیرهای محلی Plugin و ارسال مستقیم که این مرزهای مشترک را دور می‌زنند، هنوز پوشش داده نشده‌اند؛ نبود یک ردیف ثابت نمی‌کند که هیچ پیامی وجود نداشته است.

دفترکل ممیزی جایگزین رونوشت‌ها، تاریخچهٔ وظایف، تاریخچهٔ اجرای Cron یا گزارش‌ها نمی‌شود. این دفترکل بدون کپی‌کردن محتوای مکالمه در مخزنی دیگر، یک نمایهٔ کوچک میان‌اجرایی برای پرسش‌های اپراتور فراهم می‌کند.

برای ردیف‌های ورودی، durationMs توزیع هسته را اندازه‌گیری می‌کند و resultCount محتواهای نهایی‌شدهٔ ابزار، مسدودسازی و پاسخِ در صف را می‌شمارد. برای ردیف‌های خروجی، durationMs مالکیت تحویل را تا وضعیت نهایی آن (و در نتیجه زمان انتظار در صف) دربر می‌گیرد، درحالی‌که resultCount ارسال‌های فیزیکی شناسایی‌شدهٔ پلتفرم را می‌شمارد. deliveryKind، در صورت وجود، محتوای مؤثر پس از هوک و پس از رندر را توصیف می‌کند؛ ردیف‌های سرکوب‌شده و دارای ابهام ناشی از خرابی، آن را حذف می‌کنند.

RPC در Gateway

audit.activity.list به operator.read نیاز دارد و همان فیلترها را می‌پذیرد. این RPC اتحاد نام‌گذاری‌شدهٔ رویداد فعالیت V1، شامل رکوردهای اجرا، ابزار، پیام ورودی و پیام خروجی را بازمی‌گرداند.

bash
openclaw gateway call audit.activity.list --params '{"channel":"telegram","limit":50}'

نتیجه { "events": AuditActivityEventV1[], "nextCursor"?: string } است. نتایج با جدیدترین مورد آغاز می‌شوند و در هر درخواست به 500 رکورد محدودند.

RPC عرضه‌شدهٔ audit.list برای کلاینت‌های قدیمی‌تر اجرا/ابزار بدون تغییر باقی می‌ماند. وقتی audit.activity.list در یک Gateway قدیمی‌تر در دسترس نباشد، CLI فقط درصورتی دوباره با audit.list تلاش می‌کند که همهٔ فیلترهای درخواستی توسط آن روش قدیمی پشتیبانی شوند. --kind message، --direction و --channel در یک Gateway قدیمی‌تر به‌جای اینکه بی‌سروصدا نادیده گرفته شوند، با پیام ارتقا ناموفق می‌شوند.

مرتبط

Was this useful?
On this page

On this page