CLI commands
稽核記錄
openclaw audit
查詢閘道的僅中繼資料稽核分類帳,以取得代理程式執行、工具動作及 選擇啟用的訊息生命週期記錄。
執行與工具事件的分類帳預設為啟用。設定
audit.enabled: false 並重新啟動
閘道,即可停止所有新的事件記錄。訊息記錄則預設為停用;
將 audit.messages 設為 direct 或 all,並重新啟動閘道以
記錄這些事件。現有記錄在到期前仍可查詢(30 天)。
分類帳與對話逐字記錄分開:它會記錄身分、順序、來源、動作、狀態及 正規化結果代碼,但絕不儲存內容;訊息識別碼也只會以安裝環境本機的 具金鑰假名形式出現。稽核歷程 定義完整的資料模型、 隱私語意、儲存/保留界限及涵蓋範圍限制;本頁說明命令介面。
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>:完全相符的代理程式 ID--session <key>:完全相符的工作階段金鑰--run <id>:完全相符的執行 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 列印有界限的頁面
命令列介面會查詢具版本的活動 RPC,因此一個命令即可顯示完整的
已設定分類帳。文字輸出會顯示時間、種類、方向、頻道、狀態、
代理程式、執行及動作。缺少訊息來源資訊時會顯示為 -;OpenClaw
不會虛構代理程式或執行 ID。工具動作也會顯示工具名稱。JSON
輸出會在還有下一頁時包含 nextCursor。將該值傳給
--cursor,即可在分頁期間不重新排序新抵達記錄的情況下繼續查詢。
即使不含訊息本文與原始訊息身分欄位,這些匯出內容仍屬敏感的操作 中繼資料。代理程式、工作階段與執行 ID、時間、頻道、結果及穩定的 HMAC 參照可用於關聯活動。請使用與其他操作員記錄相同的存取控制與 保留作法來保護這些資料。
記錄的事件
閘道會將受信任的生命週期串流投影為六種動作:
agent.run.startedagent.run.finishedtool.action.startedtool.action.finishedmessage.inbound.processedmessage.outbound.finished
每筆傳回的記錄都有穩定的事件 ID、單調遞增的分類帳
序號、生命週期時間戳記、動作者、動作、狀態、
schemaVersion: 1 標記、來源序號及 redaction: "metadata_only"。
只有受信任來源提供代理程式/工作階段/執行來源資訊及事件特有欄位時,
這些資料才會存在。訊息記錄刻意省略
sessionKey 與 sessionId,因此 --session 篩選條件僅適用於執行與工具記錄。
終止的執行與工具記錄會透過封閉狀態與錯誤代碼,區分成功、失敗、取消、
逾時及政策封鎖。當上游執行階段未公開具權威性的終止結果時,
unknown 是明確的非成功結果。工具呼叫 ID 僅會匯出為穩定的
指紋。工具名稱必須符合精簡且面向模型的名稱
合約;其他值會變成 unknown。
訊息記錄會加入方向、頻道、對話種類、結果,以及選用的傳遞種類、
失敗階段、持續時間、結果數量、正規化原因代碼,和具金鑰的
帳號/對話/訊息/目標假名。目前的輸入邊界涵蓋抵達核心分派的已接受
訊息,包括核心重複處理與終止處理結果。輸出
邊界會針對抵達共用持久傳遞流程的每個原始邏輯回覆承載內容,寫入一筆
終止資料列;分塊與轉接器扇出會彙總於
resultCount。可重試或結果不明確的佇列傳送,只有在
確認、寄送至無法處理佇列或協調程序使結果成為終止狀態後才會記錄。
繞過這些共用邊界的外掛本機與直接傳送路徑目前尚未涵蓋;
缺少資料列並不能證明訊息從未存在。
稽核分類帳不會取代逐字記錄、任務歷程、排程執行歷程或 日誌。它提供小型的跨執行索引,讓操作員能查詢相關問題,而不必將 對話內容複製到另一個儲存區。
對輸入資料列而言,durationMs 會測量核心分派,而 resultCount 會計算
已完成的佇列工具、封鎖及回覆承載內容數量。對輸出資料列而言,
durationMs 包含傳遞擁有權直到其終止為止(因此也包含
佇列等待時間),而 resultCount 會計算已識別的實體平台
傳送次數。若有 deliveryKind,它會描述鉤子處理後、
轉譯後的有效承載內容;遭抑制及當機結果不明確的資料列會省略此欄位。
閘道 RPC
audit.activity.list 需要 operator.read,並接受相同的篩選條件。它會
傳回具名的 V1 活動事件聯集,包括執行、工具、輸入訊息
及輸出訊息記錄。
openclaw gateway call audit.activity.list --params '{"channel":"telegram","limit":50}'結果為 { "events": AuditActivityEventV1[], "nextCursor"?: string }。
結果會以最新優先排序,每個要求最多 500 筆記錄。
已發布的 audit.list RPC 對較舊的執行/工具用戶端維持不變。當
較舊的閘道無法使用 audit.activity.list 時,只有在舊版方法支援所有
要求的篩選條件時,命令列介面才會重試 audit.list。在較舊的閘道上,
--kind message、--direction 及 --channel 會失敗並顯示升級訊息,
而不會遭到無聲捨棄。