用途
gate-oc-audit 是面向 AI 编码代理活动的防篡改审计追踪插件,以 OpenClaw 插件形式运行。它把每个会话、每次工具调用以及提示交换记录到本地 SQLite 数据库,并采用 SHA-256 哈希链完整性,使你可以验证事件在事后没有被修改或删除。
主要能力
- 事件记录:自动记录审计事件,涵盖会话、工具调用以及 prompt.input、prompt.response、agent.end 等提示与代理生命周期事件(后三类需开启相应 opt-in)。
- 完整性校验:提供 SMT 证明验证与 Digital Evidence(DE)检查点一致性检查,
openclaw audit verify在全部证明和检查点有效时退出码为 0,任一验证失败则为 1。证明验证同时检查内部一致性(兄弟节点哈希可归约到声明的根)与根合法性,自洽但根未知的证明会被拒绝。 - 状态查看:
openclaw audit status输出存储(数据库大小与上限、事件数、最早事件、下次清理)、完整性(序列头、SMT 树与根、最后检查点、会话钩子状态)、DE 锚定、文件监控、清单、最近安全扫描等信息,支持--json输出单行机器可读快照。 - 活动报告:
openclaw audit report生成每日或每周活动摘要,覆盖 Activity、Cron schedule、Top tools、LLM spend、Outbound messaging、Anomalies、Integrity 等部分,可输出人类文本、单行 JSON 或自包含 HTML 文档。内置异常检测器包括 R5a 重复外发(同一内容哈希在窗口内发送到同一渠道与接收者)和 R5b 首次出现工具(窗口内出现但前序回看窗口未出现的工具名)。 - 开销统计:
openclaw audit spend按 provider、model、day 或 session 聚合 prompt.response 元数据中的 token 与费用信息,支持时间窗口与分组方式配置。 - 事件导出:支持按格式 json/csv 及时间、类型、类别、会话等条件导出,输出通过序列游标按固定批次流式返回,避免导出期间保留策略清理造成的行遗漏。每行携带覆盖其序列的 DE 锚定引用(无则为 null)。
- Cron 汇总:
openclaw audit report cron <job-id>以每次 cron 执行为一行(最新在前)投影审计轨迹,将 cron.executed 与其匹配的 agent.end 配对,并归属同一会话在两个时间戳之间的工具、LLM 与外发消息活动;支持--last N(默认 20,最大 1000)限制行数,超出时输出 truncated: true。 - HTTP 端点与 SPA:每个 SPA 路由都有
/plugins/audit/api/下的 HTTP 端点支撑,线路上 JSON 与 CLI--json输出逐字节一致,便于仪表盘固定 schema。
使用方式
安装后插件会在代理运行时自动开始记录审计事件。推荐使用安装向导配置:向导会把 gate-oc-audit 加入 plugins.allow,启用 hooks.allowConversationAccess 以捕获 prompt.input / prompt.response / agent.end 事件,可选收集 Digital Evidence API key 与 org/tenant UUID 并调整锚定阈值,最后运行 openclaw audit status 确认轨迹已生效。也可以手动配置,关键两项需要操作者策略 opt-in:把 gate-oc-audit 加入 plugins.allow,以及设置 allowConversationAccess。安装后可用 openclaw audit status 快速确认记录状态;--json 可管道给 jq。所有命令通过 SQLite WAL 只读打开审计数据库,不会与运行中的网关产生锁竞争。
适用场景
适用于需要对 AI 编码代理行为进行可验证审计、完整性证明、活动摘要、开销统计或事件导出的操作者与团队。
限制
- 需要 openclaw >= 2026.4.24 作为 peer dependency,Node.js ≥ 22.13(使用内置 node:sqlite 模块)。
- 不设置 allowConversationAccess 时,prompt.input、prompt.response、agent.end 三类重要事件不会出现在审计轨迹中。
- 报告、导出等 HTTP 端点默认依赖回环绑定;在非回环绑定时返回 403,除非设置 allowExportOnNonLoopback: true,或设置 requireGatewayAuth: true 由网关认证每个请求。
- redactPromptText 与 redactToolArgs 不覆盖 tool.result 内容;若同时开启二者并执行
audit export --include-content,提示与消息正文会被哈希,但工具输出仍原样输出。 - 活跃系统中,树从根 R1 推进到 R2 后,若检查点未捕获 R1,则在树推进与下一次检查点之间存在短暂窗口,其间新生成的证明无法验证。
- 关于收费、价格、平台支持范围等其他细节,资料中暂未提供。