中文EN

dsh-plugin-veriscope

tools装不上npmMIT

AI 回答质量的发布门禁。两条通道:用原 Python 门禁重放 VeriScope 归档,或仅用 Node 对 Ragas 逐条导出做阈值判定,后者不需要 VeriScope、Python 或 pandas。返回通过/失败/待复核,附出处与可复验回执;支持逐条阈值与精确十进制比较。不重新评测、不调用模型,待复核永不转为通过。

下载量 / Downloads
1,551
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

安装

dsh plugin --profile web add dsh-plugin-veriscope

沙箱测试结果

阶段结果
1 安装✗
2 列装—
3 挂载—
4 启动—
第一条错误
dsh: initialized profile web at /home/node/.dsh/profiles/web

四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。

README

VeriScope 离线门禁重放 · DSH 插件

中文 · English · 日本語 · 한국어

0.6.0 本地候选升级提示:旧回执的当前有效性将进入 REVIEW,历史 PASS/FAIL 不会改写。升级前请备份完整状态目录及原归档,并使用插件外的持久状态目录;包内 .local 可能随重装丢失,单独导出回执不是完整备份。ReceiptV1 重新 replay,ReceiptV2 重新 check,取得新版回执。

已有评分可用 Node 独立阈值门禁;VeriScope 归档仍可调用原 Python Quality Gate。两条路径均返回通过/失败/待复核及可检查的回执。

GitHub · Gitee 手动镜像 · 完整 VeriScope:主仓库/镜像。Issue 和 PR 请提交到 GitHub。

原 replay 路径以 Python 为数值裁判;B2 按策略使用独立的 builtin-threshold-v1 或 builtin-threshold-v2,两条路径口径分开。REVIEW 永不转为 PASS,已确认 FAIL 不被附加异常遮盖。PASS 只说明归档指标通过所绑定门禁,不证明回答事实正确。插件不重新评测、不修改归档、不执行发布或 Git 操作。


下方“原 VeriScope 路径”及其 Python 说明仅适用于 replay。

支持原 VeriScope 归档,以及 B2 的 GateArchiveV1 和指定 Ragas records 布局。不支持的格式明确拒绝,不猜测或换算。

已有评分直接用:B2(0.6.0 本地候选)

已经用 Ragas 得到了评分?导出评分 JSON,写明要检查的指标和阈值,让插件执行门禁并保存回执。无需安装 VeriScope,也不会重新调用模型评分。

只需 Node ≥22.19,在宿主启动前显式设置 VERISCOPE_STATE_DIR 为可写持久目录。没有 settings UI,不读取 .env。B2 不使用 VeriScope/Python 路径。

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

源码可直接试构造样例:

$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
  • 支持 GateArchiveV1 和 Ragas result.to_pandas().to_json(orient="records") 布局;策略显式选择 GatePolicyV1 或 GatePolicyV2,不猜测字段或阈值。
  • 对全部输入记录算等权均值;缺失值不补零、不跳过。完整均值不达标,或已知有效行违反显式逐条阈值,为 FAIL;其余缺证据为 REVIEW,全部完整达标才 PASS。
  • 不把 faithfulness 改成 pos_faithfulness;B2 的 PASS 不等同原门禁,不证明评分或回答事实正确,也不检查导出前被删掉的记录。
  • DSH/MCP 都提供 check;CLI 安装后的命令为 veriscope-check。doctor({engine:"builtin"}) 不探测 Python;status/list 支持两种回执。
  • B2 使用 ReceiptV2,首版只有文本,不接入 bind/complete;DSH 导出支持 JSON/Markdown,B2 暂不支持 share。回执仍无限保留,不自动清理。

均值通过,仍可看到最差一条。 每指标显示最差有效行及未达均值阈值的条数;诊断本身不改裁决。需要逐条拦截时,用 GatePolicyV2 加 row_threshold,沿用该指标的方向和单位。例如构造分数的均值为 0.81、其中一条为 0.41:只查均值可 PASS,显式要求每条 ≥0.5 才 FAIL。V2 使用 JSON 原数字词元作精确十进制比较;V1 原浮点判定保持不变。

规范、策略和导出方式见包内 docs/B2.md、schemas/、examples/builtin/。样例为文档构造,非真实评测。0.6.0 为本地候选,未发布;0.5.0 历史验收保留在 docs/acceptance-b2-v0.5.0.json,不替代本候选的宿主或 Ubuntu 验证。

原 VeriScope 路径:配置后上手

配置好环境后(见下一节),在 DSH 中依次输入:

1. “使用 veriscope_doctor 检查本机环境,告诉我需要修复什么。”

2. “使用 VeriScope 检查 D:\数据\评测结果.json,说明是否通过及原因。”

3. “使用 veriscope_gate_list 列出最近的门禁回执与当前有效性。”

之后还可以说:

检查上次的门禁结果现在是否仍然有效。

体检的“环境就绪”仅表示环境可用,门禁通过需实际重放。聊天能否自动选中工具取决于 DSH 的模型配置;需要时直接写出工具名。

三个常见的小场景:

  • 想发给维护者:“把这次门禁失败整理成可分享的求助摘要。”使用 format: "share" 生成本地 Markdown,先预览、再自行分享;不是回执。
  • 归档打不开:重放会在能确认时给出异常行列或字段位置,帮助定位;不会自动改文件。
  • 昨天通过、今天待复核:状态检查会列出已确认的阈值、版本、输入摘要等变化;无法核实的范围明确保留。

需要约束任务完成时,可以要求绑定本次检查;只有绑定的回执当前有效且为 PASS,才能登记完成。

使用前请配置 VeriScope 与 Python 路径;插件不会重新调用评测模型。

安装与配置

本文对应 0.6.0 本地候选,提供 DSH 插件和独立的 veriscope-mcp 入口。npm 可用版本以包页面为准;MCP 配置与待验范围见下文。在已验证的 DSH CLI 中,需显式指定 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

二次开发可走本地目录安装,与 npm 包名安装分开:

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

以上目录路径须替换为源码实际位置;不要将目录/link 安装结果当成 registry 安装证明。安装成功不等于门禁通过,原 replay 首次使用需配置 VERISCOPE_ROOT 与 VERISCOPE_PYTHON 并运行体检;只用 B2 则仅配置状态根。npm 包不含测试;同包包含 docs/B2.md、格式规范和 B2 样例,其余文档见仓库;npm test 仅供源码开发;node scripts/verify-replay.mjs 也仅在完整源码仓库及其验证材料就绪时可用,不属于安装包能力。完整文档请查看仓库。

0.3.x 历史已验证:Windows、DSH NEXT 2.0.18-next,内部 DSH/tools/skill 0.2.1-alpha.2。Node ≥22.19;其他宿主版本未验证。另需兼容上游及 Python/pandas,固定依赖见 上游说明。插件不附送完整上游或业务归档。

DSH 入口要求 @deepseek-ai/dsh-tools 为 0.2.1-alpha.2,加载前核对版本,加载后检查 defineTool。缺失、不兼容、加载失败分别报 SDK_MISSING、SDK_INCOMPATIBLE、SDK_LOAD_FAILED,不会自动安装或切换版本;这些检查不代替宿主验收。MCP 不加载 DSH SDK。

配置项

没有 settings UI,不自动读取 .env。 路径只读宿主进程环境变量;cordis patch 只接受 completionMode。宿主自己的环境加载策略由宿主决定。

配置 · 入口 · 默认值与要求

veriscopeRoot · VERISCOPE_ROOT · Windows 默认 D:\RAG_Evaluation_Demo;POSIX 必须显式设置

pythonPath · VERISCOPE_PYTHON · 依次探测 .venv/venv:Windows 为 Scripts/python.exe,POSIX 为 bin/python;不回退 PATH

状态根 · VERISCOPE_STATE_DIR · 原 DSH replay 默认 <插件目录>/.local;B2 和所有 MCP 工具必须显式设置持久目录

提醒模式 · cordis patch completionMode · off;只允许 off 或 remind,非法值报错

三个环境变量的显式值须为非空绝对路径,无效值不静默回退。在启动 DSH 的同一终端设置后启动或完全重启宿主:

$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'
# 若从 GitHub 安装,可用此命令替代前文的 npm 安装命令
dsh plugin --profile veriscope-demo add github:4444wjt/dsh-plugin-veriscope

先准备独立 profile 和对应宿主 CLI;安装命令不创建完整宿主配置。插件 bundle 已插入默认条目;在 <DSH_HOME>/profiles/<名称>/cordis.patch.yml 按已有 id 覆盖配置,不要再次 insert:

- id: dsh-plugin-veriscope
  config:
    completionMode: "remind"

off 关闭停止事件提醒,全部工具仍可使用。remind 只提醒未完成的绑定任务,不承诺普通聊天全局阻断。路径不能写入这个 config。

跨宿主 MCP

MCP 仍为五个工具;V2 策略复用 check/status/list,不增加入口。0.5.0 历史实调用与未验范围见 docs/acceptance-b2-v0.5.0.json,不替代本候选验证。以下仅回顾 0.4.0 历史验收。

0.4.0 已在独立 Claude Code/Codex 宿主通过真实工具调用(控制接口,无模型对话),Windows 与 Ubuntu 真实回放均已验证。Claude 错误路径只返回文本,完整结构化交付仍有待验项,详见验收记录。使用绝对 Node 路径启动

…(truncated)

以上内容来自 npm 上的 README,我们只做格式化,不改内容。

版本

npm 上共发布:6,最后更新 2026-10-17

链接

GitHub · Homepage · npm

同类插件