Skip to main content
你想把一次运行的结果交给同事复核,或者归档一份基线留着以后对比。NiceEval 的所有运行结果都在一个文件里:项目里的 .niceeval/record.sqlite,这就是 Record。

Record 里有什么

Run、运行中的汇总、已发布的 Attempt,以及它们的附件和内容,都保存在这个文件里。缓存、凭据和用户级服务状态不在里面。 Run 一创建就能被查到。Attempt 跑完并发布后,就能被读取,不必等所在的 Run 结束。已发布的 Attempt 不会再被修改。query、show 和 view 都只读已发布的结果。

把结果交给别人

运行完整结束后,直接复制这个文件:
只复制 record.sqlite 本身。不要复制旁边的 WAL、checkpoint 或 staging 文件,复制后也不要修改里面的 SQLite 内容。 拿到别人的文件后,用 --record 指向它:
view 只读当前项目的 .niceeval/record.sqlite,不接受 --record。

读取外部文件前会先校验

query 和 show 把 --record 指定的文件当作不可信输入。只有格式版本完全匹配、SQLite 完整性检查通过、内部数据一致时,命令才会读取。校验不通过时,命令直接报错,不会迁移、修补或只读一部分。 文件被拒绝时,先确认它是运行结束后复制的完整单文件,复制期间没有别的进程在写。具体错误和下一步见排查失败的评估结果。 Record 可能包含敏感的业务内容,例如对话原文和文件改动。分享前由你负责权限、脱敏和保留期限。

Record 不负责什么

Record 只保存结果,不做统计、比较或页面。NiceEval 内置的固定查询读取已发布的结果,再把完整的查询结果交给 query、show 或 view。外部代码拿不到数据库连接、读取对象或 SQL 能力。 选择哪种查看方式见 CLI。