Skip to main content

openclaw audit

查詢閘道的僅中繼資料稽核分類帳,以取得代理程式執行、工具動作及 選擇啟用的訊息生命週期記錄。 執行與工具事件的分類帳預設為啟用。設定 audit.enabled: false 並重新啟動 閘道,即可停止所有新的事件記錄。訊息記錄則預設為停用; 將 audit.messages 設為 directall,並重新啟動閘道以 記錄這些事件。現有記錄在到期前仍可查詢(30 天)。 分類帳與對話逐字記錄分開:它會記錄身分、順序、來源、動作、狀態及 正規化結果代碼,但絕不儲存內容;訊息識別碼也只會以安裝環境本機的 具金鑰假名形式出現。稽核歷程 定義完整的資料模型、 隱私語意、儲存/保留界限及涵蓋範圍限制;本頁說明命令介面。

篩選條件

  • --agent <id>:完全相符的代理程式 ID
  • --session <key>:完全相符的工作階段金鑰
  • --run <id>:完全相符的執行 ID
  • --kind <kind>agent_runtool_actionmessage
  • --status <status>startedsucceededfailedcancelledtimed_outblockedunknown
  • --direction <direction>:訊息方向,inboundoutbound
  • --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.started
  • agent.run.finished
  • tool.action.started
  • tool.action.finished
  • message.inbound.processed
  • message.outbound.finished
每筆傳回的記錄都有穩定的事件 ID、單調遞增的分類帳 序號、生命週期時間戳記、動作者、動作、狀態、 schemaVersion: 1 標記、來源序號及 redaction: "metadata_only"。 只有受信任來源提供代理程式/工作階段/執行來源資訊及事件特有欄位時, 這些資料才會存在。訊息記錄刻意省略 sessionKeysessionId,因此 --session 篩選條件僅適用於執行與工具記錄。 終止的執行與工具記錄會透過封閉狀態與錯誤代碼,區分成功、失敗、取消、 逾時及政策封鎖。當上游執行階段未公開具權威性的終止結果時, unknown 是明確的非成功結果。工具呼叫 ID 僅會匯出為穩定的 指紋。工具名稱必須符合精簡且面向模型的名稱 合約;其他值會變成 unknown 訊息記錄會加入方向、頻道、對話種類、結果,以及選用的傳遞種類、 失敗階段、持續時間、結果數量、正規化原因代碼,和具金鑰的 帳號/對話/訊息/目標假名。目前的輸入邊界涵蓋抵達核心分派的已接受 訊息,包括核心重複處理與終止處理結果。輸出 邊界會針對抵達共用持久傳遞流程的每個原始邏輯回覆承載內容,寫入一筆 終止資料列;分塊與轉接器扇出會彙總於 resultCount。可重試或結果不明確的佇列傳送,只有在 確認、寄送至無法處理佇列或協調程序使結果成為終止狀態後才會記錄。 繞過這些共用邊界的外掛本機與直接傳送路徑目前尚未涵蓋; 缺少資料列並不能證明訊息從未存在。 稽核分類帳不會取代逐字記錄、任務歷程、排程執行歷程或 日誌。它提供小型的跨執行索引,讓操作員能查詢相關問題,而不必將 對話內容複製到另一個儲存區。 對輸入資料列而言,durationMs 會測量核心分派,而 resultCount 會計算 已完成的佇列工具、封鎖及回覆承載內容數量。對輸出資料列而言, durationMs 包含傳遞擁有權直到其終止為止(因此也包含 佇列等待時間),而 resultCount 會計算已識別的實體平台 傳送次數。若有 deliveryKind,它會描述鉤子處理後、 轉譯後的有效承載內容;遭抑制及當機結果不明確的資料列會省略此欄位。

閘道 RPC

audit.activity.list 需要 operator.read,並接受相同的篩選條件。它會 傳回具名的 V1 活動事件聯集,包括執行、工具、輸入訊息 及輸出訊息記錄。
結果為 { "events": AuditActivityEventV1[], "nextCursor"?: string }。 結果會以最新優先排序,每個要求最多 500 筆記錄。 已發布的 audit.list RPC 對較舊的執行/工具用戶端維持不變。當 較舊的閘道無法使用 audit.activity.list 時,只有在舊版方法支援所有 要求的篩選條件時,命令列介面才會重試 audit.list。在較舊的閘道上, --kind message--direction--channel 會失敗並顯示升級訊息, 而不會遭到無聲捨棄。

相關內容