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.

已验证STDIO仅桌面

概览

Evalsnap 的本地 MCP 服务;无需登录;STDIO。

暂无 AI 概览:以下信息来自注册中心条目和服务本身。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Evalsnap,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

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 null when 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 null when no matched case qualifies
  • Verdict — fail when at least one regression exists, otherwise pass; 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

bash
npx @reneturcios/evalsnap diff --input args.jsonnpx @reneturcios/evalsnap --version

args.json contains the full arguments object:

json
{  "baseline": [    { "case_id": "greeting", "output": "hello", "score": 0.9, "duration_ms": 120 },    { "case_id": "summary", "output": "short text", "score": 0.7 }  ],  "current": [    { "case_id": "greeting", "output": "hello", "score": 0.95, "duration_ms": 110 },    { "case_id": "summary", "output": "short text", "score": 0.6 }  ]}

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

bash
npx -y @reneturcios/evalsnap mcp

MCP client config:

json
{  "mcpServers": {    "evalsnap": {      "command": "npx",      "args": ["-y", "@reneturcios/evalsnap", "mcp"]    }  }}

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?} objects
    • current (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

bash
docker run -i ghcr.io/cloudcorprecords/evalsnapdocker run --rm -v "$PWD:/w" ghcr.io/cloudcorprecords/evalsnap diff --input /w/args.json

Development

bash
npm installnpm run build   # tsc -> dist/npm test        # tsx --test test/*.test.ts (pure local, no network)npm run dev     # run the CLI from source

License

MIT — Copyright (c) 2026 Rene Turcios

来源:README.md,提交 10be255

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.0最新Nov 3, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分