audit
查看 harness 真实执行:token 去向及未能遵守的指令。
用法
navori audit [--session <id>] [--days <n>] [--since <date>] [--until <date>] [--all-repos] [--include-human-content] [--snapshot <name>] [--compare <snapshot>] [--json]
参数
--session <id> 按 id、前缀或 latest 选择一个会话。 --days <n> 仅选择最近 N 天标记的会话。 --since <YYYY-MM-DD> 起始日期。 --until <YYYY-MM-DD> 截止日期。 --json JSON 报告输出到 stdout,不写文件。 --out <dir> 覆盖输出目录。 --all-repos 汇总所有已审计仓库的区间报告,并显示各仓库覆盖率。 --include-human-content 仅本次调用把人类内容加入私有报告,不能与 --collect 组合。 --disarm 取消待生效的 --arm,不启动任何会话。 --snapshot <name> 将区间指标固定为审计根目录内的版本化快照;格式 2 按宿主、运行方式、模型和工作分组。不覆盖现有快照,不能与 --json 组合。 --copy-to <path> 复制快照到相对于 git 根目录的此路径,不覆盖。 --compare <snapshot> 逐指标与快照比较,仅描述结果;分组一致时标 matched,不宣称改进。可与 --json 组合且不写文件。 --start <id> 将会话标为已审计,供钩子流程使用。 --arm 准备 audit-mode:仓库中已打开会话在下一消息激活,可在会话内用 ! navori audit --arm;否则下个新会话激活。钩子自行执行 --start,仅作用一次;--disarm 可取消。 --stop <id> 封存会话日志并生成报告。 --collect 在 127.0.0.1:4318 运行 OTel 接收器直至停止。它是第三来源,记录宿主权限批准与活跃技能;输出地址、目录和需在审计会话终端导出的变量。 --cwd <dir> 待审计仓库,默认当前目录。 示例
启用 audit-mode
$ navori audit --start 8f3c1d2e └ audit-mode active ~/.navori/audits/demo/session-8f3c1d2e.log
无已标记会话
$ navori audit └ No sessions marked with audit-mode for 'demo'. Activate it with 'navori audit --start <session-id>'.
单会话报告
$ navori audit --session latest ◇ demo · 2026-09-01 → 2026-09-01 ─╮ │ 1 sessions · 19 agents │ │ billable 2.3M tok │ │ startup 346k tok │ │ findings 1 high · 3 warn │ └ Report ~/.navori/audits/demo/sessions/2026-09-01-8f3c1d2e/report.md
注意事项
- 逐会话主动启用,未提前 --start 就没有日志,navori 不观察活动。
- 两个来源互不替代:钩子事件日志记录 harness 行为,Claude Code 会话记录是 token 用量唯一来源。
- Markdown 和 JSON 报告保存在 ~/.navori/audits/<repo>/,旁边留存会话日志副本。
- 记录器较晚启动时钩子计数不完整,orchestrator 卡片说明限制及实际观察比例。
- 宿主未暴露数据标为不可用,不记作 0。报告含任务结果(review、receipt、dispatch)和按各自分母分组的建议,不合成总分。
- 每项指标声明从哪个版本或来源开始可用,并提供逐任务效率。未声明参数被拒绝,退出 2。
- 限制:receipt review 动词从 0.11.3 提供,最低值与上限未校准,--compare 噪声带未测量,逐任务 token 归因仅覆盖 implementer。