dsh-plugin-veriscope:离线门禁重放与已有评分阈值判定

前言

在 RAG 或问答链路里,评测脚本往往已经产出逐条分数或 VeriScope 归档,但「能不能对外发布」仍常靠人工翻表、口头约定阈值。条件一变,昨天的「通过」今天是否仍成立,也缺少可复验的留痕。DeepSeek Harness(DSH)把能力拆成可安装的插件;下面介绍维护者 4444wjt 发布的 dsh-plugin-veriscope(社区分类 admin-security),它只做发布门禁:消费已有评测结果,给出通过/失败/待复核,并绑定策略与环境生成可复查的回执,不重新评分、不调用模型。

这是什么

VeriScope 门禁重放 · DSH 插件(npm 包名 dsh-plugin-veriscope,当前资料对应 0.6.0)。两条通道并行:

  1. 原 VeriScope 路径(replay):在配置好上游 Python 环境后,重放归档并调用原门禁逻辑。
  2. B2 内置判定(check):仅用 Node 对已有逐条评分做阈值判定,支持 GateArchiveV1 与 Ragas records 布局;不需要安装 VeriScope、Python 或 pandas。

裁决为三态:通过(PASS)/失败(FAIL)/待复核(REVIEW)。待复核不会自动转为通过;已确认的失败不会被附加异常掩盖。回执绑定输入、策略、判定器与环境;条件变化时,旧结论会标记为失效而非静默沿用。

除 DSH 插件形态外,同一仓库还提供 MCP server 与 CLI(veriscope-check),便于 Claude Code、Codex 或无宿主 CI 接入;DSH 侧额外提供绑定任务、批量重放、导出等能力,细节以仓库文档为准。

核心功能

不评分、只门禁

插件明确不重新评测、不调用模型,只读取你已有的归档或评分 JSON,按策略做阈值与完整性判定,并写入状态目录中的回执。

B2:已有 Ragas 等评分直接过门禁

若已用 Ragas 等得到评分,可导出 JSON,指定指标与阈值,由 veriscope_gate_check 执行判定并保存 ReceiptV2。对全部输入记录做等权均值;缺失值不补零、不跳过。均值不达标、或违反显式逐条阈值时为 FAIL;缺证据为 REVIEW;全部完整达标才 PASS。策略需显式选择 GatePolicyV1 或 GatePolicyV2(含 row_threshold 时可拦截「均值过、单条极差」的情况)。

原路径:VeriScope 归档重放

支持原 VeriScope 归档,以及 B2 的 GateArchiveV1 和指定 Ragas records 布局;不支持的格式会明确拒绝。重放通过 veriscope_gate_replay 等工具完成,生成 ReceiptV1;环境就绪需 veriscope_doctor 体检,体检通过不等于门禁通过,仍需实际重放。

回执与有效性

可用 veriscope_gate_status 只读检查某次回执在当前策略、版本、输入摘要下是否仍有效;veriscope_gate_list 列出近期回执。需要约束任务完成时,可使用绑定相关工具:仅当绑定的回执当前有效且为 PASS 时,才登记完成(具体参数见仓库工具表)。

DSH 工具概览

资料中列出的九个工具包括:veriscope_gate_check、veriscope_doctor、veriscope_gate_replay、veriscope_gate_status、veriscope_gate_list、veriscope_gate_batch、veriscope_gate_export、veriscope_gate_bind 等。MCP 侧为五个工具子集,不提供 bind/complete 与 DSH 原生结果卡;所有 MCP 工具均要求显式设置合法的 VERISCOPE_STATE_DIR。

安装与启用

要求 Node ≥ 22.19。DSH 入口依赖 @deepseek-ai/dsh-tools 0.2.1-alpha.2(加载前会校验版本)。没有 settings UI,不自动读取 .env;路径均来自宿主进程环境变量。

在已准备好的 profile 下安装(资料示例 profile 名为 veriscope-demo):

dsh plugin --profile veriscope-demo add dsh-plugin-veriscope
dsh plugin --profile veriscope-demo list dsh-plugin-veriscope --depth 0

卸载:

dsh plugin --profile veriscope-demo remove dsh-plugin-veriscope

二次开发可用本地目录安装(路径替换为源码实际位置):

dsh plugin --profile veriscope-demo add 'D:\your-workspace\dsh-plugin-veriscope'

从 GitHub 安装时,资料给出的替代方式为(需先配置环境变量,见下节):

dsh plugin --profile veriscope-demo add github:4444wjt/dsh-plugin-veriscope

可选:在 <DSH_HOME>/profiles/<名称>/cordis.patch.yml 中按已有 id 覆盖 completionMode(仅 off 或 remind),用于未完成绑定任务的提醒,不承诺全局阻断聊天。

配置要点

在启动 DSH 的同一终端设置非空绝对路径后重启宿主:

环境变量 用途
VERISCOPE_ROOT 原 replay:VeriScope 仓库根;Windows 默认 D:\RAG_Evaluation_Demo,POSIX 须显式设置
VERISCOPE_PYTHON 原 replay:Python 可执行文件;探测 .venv/venv,不回退 PATH
VERISCOPE_STATE_DIR 回执与导出状态根;B2 与 MCP 必须显式设为可写持久目录;包内 .local 可能随重装丢失

仅使用 B2 时,只需配置 VERISCOPE_STATE_DIR。原 replay 首次使用还需 VERISCOPE_ROOT 与 VERISCOPE_PYTHON,并运行体检。

示例(PowerShell):

$env:VERISCOPE_ROOT = 'D:\your-workspace\VeriScope'
$env:VERISCOPE_PYTHON = 'D:\your-workspace\VeriScope\venv\Scripts\python.exe'
$env:VERISCOPE_STATE_DIR = 'D:\your-data\veriscope-state'

升级提示(0.4.0 起):旧回执的当前有效性可能进入 REVIEW;升级前请备份完整状态目录及原归档,单独导出回执不是完整备份。

典型用法

仅 Node:本地试跑 B2

在设置状态目录后,可用包内脚本对照内置样例:

$env:VERISCOPE_STATE_DIR = 'D:\your-data\veriscope-state'
node scripts/check.mjs --archive examples/builtin/ragas-records.json --policy examples/builtin/policy.json --format ragas-records-v1 --json

CLI 安装后等价命令为 veriscope-check(参数见仓库)。

在 DSH 对话中驱动工具

配置好环境后,可按 README 建议依次让模型调用:

  1. 使用 veriscope_doctor 检查本机环境,说明需修复项。
  2. 使用 VeriScope 相关工具检查指定评测结果路径,说明是否通过及原因(replay 或 check 视你的数据形态而定)。
  3. 使用 veriscope_gate_list 列出最近门禁回执与当前有效性。

亦可要求检查「上次的门禁结果现在是否仍然有效」。聊天是否自动选中工具取决于 DSH 模型配置;需要时可直接写出工具名。B2 示例意图:

使用 veriscope_gate_check 检查 D:\data\scores.json,策略为 D:\data\policy.json,格式为 ragas-records-v1,告诉我是否通过和原因。

失败时可使用 veriscope_gate_export 的 share 格式生成本地 Markdown 求助摘要(先预览再自行分享,不是回执本身)。

规范、策略字段与样例见包内 docs/B2.md、schemas/、examples/builtin/(样例为文档构造,非真实评测)。

适用场景与注意

适合:已有 VeriScope 或 Ragas 等评测产出,需要在发布前做可复验的门禁;希望在 DSH 会话里用工具链留回执、查有效性、导出报告;或在 CI/MCP 宿主做同等判定。

注意:

  • 插件以当前 dsh 进程权限运行,安装前请自行审阅 GitHub 源码 与 MIT 许可证(见 package.json)。
  • B2 的 PASS 不等同原 Python 门禁,不证明评分或回答事实正确,也不检查导出前被删掉的记录。
  • 安装成功不等于门禁通过;MCP/CLI 与 DSH 能力范围不同,验收范围以仓库 docs/acceptance-*.json 为准。
  • 社区目录 SkillHub 插件页 为独立站点,与 DeepSeek/幻方无官方从属关系。

结尾

dsh-plugin-veriscope 把「评测已有、发布未定」收口为可留痕的三态门禁:要么重放 VeriScope,要么在纯 Node 下对已有评分做策略判定。需要安装命令、环境变量与工具列表时,以仓库 README 与 docs/B2.md 为准。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜