
Evalsnap
io.github.CloudCorpRecords由 GitHub 账号 CloudCorpRecords 发布v0.1.0更新于 Nov 3, 2026
智能体与工具输出的快照差异:变更的用例、分数回退、通过/失败判定。
AI 翻译由 AI 模型根据下方的原文描述翻译,可能有误。
原文描述
Snapshot diff for agent and tool outputs: changed cases, score regressions, pass/fail verdict.
概览
Evalsnap 的本地 MCP 服务;无需登录;STDIO。
暂无 AI 概览:以下信息来自注册中心条目和服务本身。
安装
在 SourceWeft 中
- 打开 控制台中的 Evalsnap,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
evalsnap
You re-ran your agent and the answers look slightly different —
but did anything actually get worse? evalsnap takes two
snapshots of case outputs, a baseline run and a current run,
matches them by case_id, and tells you exactly what moved:
- Matched, added, removed — cases present on both sides, cases that only exist in the current run, and cases that disappeared from the baseline, each list sorted by id
- Per-case results — for every matched case: whether the
output is unchanged or changed under exact string equality,
the score delta and the duration delta (each
nullwhen either side did not record that measurement), and a regression flag that is set only when the score went down - Regressions and improvements — the sorted list of regressed case ids and the count of cases whose score rose
- Average scores — each side averaged over the matched
cases that carry a score on both sides, so the comparison
covers the same set on both sides; both averages are
nullwhen no matched case qualifies - Verdict —
failwhen at least one regression exists, otherwisepass; added and removed cases are reported but never fail the verdict on their own
Deltas and averages are rounded to four decimal places. The computation is pure and local: no network, no configuration, nothing read beyond the snapshots you pass in. Invalid input — an empty snapshot, a case without an id or output, a duplicate id inside one side, a non-numeric score, a negative duration — is rejected with an error naming the offending path and side, and no partial diff is produced.
CLI
args.json contains the full arguments object:
score and duration_ms are optional per entry. The diff
is printed as JSON.
Exit codes: 0 on success, 1 on a runtime error (including
an unreadable or invalid input file, or invalid input), 2
on a usage error.
MCP server
MCP client config:
Tools
-
diff_snapshots— Diff two eval snapshots matched by case_id.baseline(array, required, at least one) — entries as{case_id, output, score?, duration_ms?}objectscurrent(array, required, at least one) — same entry shape
Returns
{total_baseline, total_current, matched, unchanged, changed, added, removed, case_results, regressions, improved_count, baseline_avg_score, current_avg_score, verdict}.
Docker
Development
License
MIT — Copyright (c) 2026 Rene Turcios
来源:README.md,提交 10be255
工具
0版本历史
1- v0.1.0最新Nov 3, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分