中文EN

dsh-jev-verify

tools已测通过npmMIT

0.8.6 修复了一个会让宿主起不来的依赖问题(宿主运行时包改为 optional peer,永不被安装)。为 DeepSeek Harness 端到端接入 TypeSafe Jev(System One 决策模型)0.8.6。共七个工具:jev_decision(一次并行完成 1-25 个原子判定;noul/choice/score;返回类型化答案与校准置信度;实测中位 266-484 ms;只出判定不写文本)、jev_choose(对 2-10 个候选并行打分——契合度 0-3 与风险——合成综合分并给推荐,只给分不解释)、jev_batch(0.8.6 新增:一次调用对 1-20 条文本

下载量 / Downloads
2,404
依赖体积 / node_modules
1.47 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

安装

dsh plugin --profile web add dsh-jev-verify

沙箱测试结果

阶段结果
1 安装✓
2 列装✓
3 挂载✓
4 启动—

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

README

dsh-jev-verify

把 TypeSafe AI 的 Jev(System One 决策模型)接入 DeepSeek Harness(dsh)的一等公民插件。

Jev 不生成文本:给定 state 与类型化问题,它用一次并行 API 调用返回带校准概率的类型化判定(官方宣称 ~70–500ms;我们实测中位 266–484 ms、p95 825–1468 ms(单轮峰值约 1.5 s,网络拥堵时可达约 5 s))。本插件把它封装成 Agent 工具,附加可选的自动护栏(风险/循环检测)与一个只报本机实测的使用额度面板,并且坚持「验证过的才叫有效」:

工具 · 作用 · 该在什么时候调用

jev_decision · 对 state 一次调用并行提出最多 25 个类型化问题(choice / score / noul),官方宣称 ~70–500 ms,我们实测中位 266–484 ms、p95 825–1468 ms。每个答案都带校准置信度与概率分布;结果同时报告模型、延迟、token 用量与估算成本。 · 你需要快速、可复现的判定而非文本:分类/打标、路由或分诊、优先级/严重度/满意度评分、垃圾/毒性/隐私数据检查、意图或真伪判断、从自由文本抽取结构化标签。相关问题务必合并到一次调用——并行执行不额外增加延迟。

jev_choose · 对 2–10 个候选方案/路线排名:每方案给契合度 score 0–3 与风险 noul,合成 fit/3 × (1−risk);返回有序排名表、推荐项与每方案延迟/成本。 · 岔路口上有多条彼此独立的可行路线、需要一份校准过的量化参考再做最终决策时。Jev 只给分、绝不解释——理由由你自己给出。

jev_batch · 对 1–20 条文本跑同一组 1–5 个判定:每条文本一次真实调用(默认 4 路并发、上限 6),直接返回可粘贴的 markdown 表格,可按某个判定维度排序;内置 sentiment / priority / intent / pii / spam 预设,也可自写 questions(与 jev_decision 同形)。 · 一批工单/评论/日志/反馈要打标、分类、排优先级、过 PII 或垃圾内容,或按同一维度给多条候选排序时——「多条文本 + 同一组判定」的首选,不要逐条手搓 jev_decision。每条文本是独立一次调用,失败行标「失败」并附原文错误,绝不猜测。

jev_verify · 对线上真实 API 以 6 路并发运行冻结的 27 题带标签基准(紧迫度、垃圾、毒性、隐私数据、部门路由、意图、检索类型、优先级、严重度、满意度、护栏判定;0.7.5 实测 27 次调用墙钟 4.96 s(复测 3.999 s),串行需 10.1 s):总体准确率与高置信子集准确率、中位/p95/min/max 延迟、置信校准、token、成本,以及全部误判清单(并单列其中属于高置信误判的)。 · 确认端点健康、对比模型版本、排查回归——不要例行调用:一轮就是 27 次真实 API 调用(约 8.7K input tokens、≈$0.0004)。

jev_guard_status · 自动护栏只读审计:确定性规则与 Jev 兜底分别计数(checks / jevCalls / denied / deterministicDenied / auditCalls)、受护栏工具名、denyThreshold、循环检测计数、本会话剩余预算。 · 确认护栏是否武装、实际触发过几次,或解释某条命令为什么被拦。护栏关闭时会如实说明,而不是报一堆 0。

jev_overview · 本会话 Jev 账本只读快照:最近判定与择案(含置信度)、延迟中位与 p95、问题类型分布、护栏事件、累计 tokens 与成本,以及 Key/护栏/阈值状态。 · 用户问「Jev 做了什么 / 拦了什么 / 花了多少」,或需要不重启会话就核对端点与预算状态时。账本以插件实例生命周期为起点;护栏计数在 jev_guard_status。

jev_usage · 本机实测的 Jev 用量与(可选)本地预算:滚动窗口(今日 / 7 天 / 30 天 / 全部 / 本会话)、调用数、input/output tokens、估算成本、延迟中位与 p95、问题类型与按工具分布、全天用量预测;配合 quota.enabled + quota.enforce 可在调用前硬停。 · 用户问「Jev 用了多少 / 花了多少」,或你想在一批判定前先核对预算时。只读本地状态,不发起 API 调用。TypeSafe 没有余额接口,这里报的是本机实测用量而非供应商余额。

自动护栏模式(可选开启 autoGuard.enabled):在 shell 类工具(bash/pwsh/run_code/terminal)执行前,先跑零成本的确定性层。7 条硬规则直接拦下灾难性、不可逆的操作:文件系统、盘根或目录树的递归删除、磁盘格式化、数据库破坏语句、凭据外泄、被强制推送的 git 历史;3 条软规则(主机重启或关机、未强推的 git 历史重写、恒真条件的 DELETE/UPDATE)交给 Jev 判定(noul 超阈值即拒绝)。硬规则只在可执行位置触发,所以你只是引用或描述一条危险命令时绝不会被硬拦;落在别处的硬模式会降级为交给 Jev 的提示。Jev 不可用时 fail-open 放行并告警,绝不假装检查过。循环守卫对连续相同工具的调用做语义停滞判定,只注入纠偏建议、不阻断。所有判定(确定性与 Jev)都会写进会话账本,可通过 jev_guard_status 审计。

诚实设计,绝不造假:

  • 未配置 TYPESAFE_API_KEY 时,工具与护栏都会用明确的报错说明如何配置;
  • 每次 jev_decision 结果都带回 model、延迟与 token 用量,可审计;
  • jev_verify 拒绝报告任何未经实测的数字;
  • 独立的基准 CLI(bench/bench.mjs)零依赖,任何人可用任意 Key 复现发布的数据。

0.9.0 更新

  • 多后端:判定不再只有 Jev。新增 lib/providers.js,一层适配器同时覆盖两派契约,jev_decision / jev_batch / jev_choose / jev_triage / 护栏全部自动跟随:

后端 id · 覆盖范围 · 置信度语义

systemone · Jev 本体 + 所有 /v1/systemone 兼容实现(Microsoft Decision-1 on Foundry、Cloudflare Clef、AWS Strands Decider、Kev、Telnyx、Upstage Solar Decide、Ollama 0.35+、LLM Gateway) · calibrated

openai-chat · 任意 OpenAI 兼容模型(DeepSeek、Qwen、Moonshot、OpenRouter、LM Studio、vLLM、Ollama /v1) · self-reported

openai-decisions · /decisions 阵营(OpenAI 公测、Perplexity)—— 实验性、容错解析 · self-reported

huggingface · 零样本 NLI 分类(HF Inference API,如 facebook/bart-large-mnli) · nli-score

  • 新增 jev_providers 工具:列出后端、当前默认、级联链与预设;probe=true 会真的给每个后端发一次一问请求,返回真实延迟/答案或真实错误。
  • 新增 provider 参数(单次调用临时指定)与 cascade 配置(主后端失败时按序兜底,结果带 fallbackFrom 如实披露)。
  • 诚实边界:不同后端的 confidence 不是同一种东西,输出里带 confidenceKind 标注;只有 Jev 有已知单价,其它后端的 estimatedCostUs 为 0 并标注「not priced」,绝不套用 Jev 的价格。
  • 重要实测(2026-10-26):TypeSafe 从本网络返回 HTTP 451「Typesafe is not available in your region」,HuggingFace 的两个域名均不可达。这不是插件缺陷,但它让「多后端 + 本地后端」从可选变成了必需——见下文《多后端决策模型》。

0.8.6 更新

  • 修掉一个会让宿主起不来的依赖问题(issue #1):@deepseek-ai/dsh-tools 曾被写成普通 dependencies;在 nodeLinker: hoisted + hoistPattern: ["*"] 的 profile 里,pnpm 会把一份真实副本平铺到 profile 的 node_modules/@deepseek-ai/,dsh 的 tools 条目于是加载这份副本、因缺少 peer 而 import 失败,最终报 1 required plugin did not activate。现在它改为 optional peer(^0.1.5-rc.2)——永不被安装,也就不可能遮蔽宿主;dependencies 里只剩 leaf 库 @deepseek-ai/schemastery。
  • 新增回归闸门 test/manifest.test.mjs:任何宿主运行包一旦回到 dependencies 测试立即失败(用「把 bug 装回去」的方式验证过它真的会红)。全量 38/38。
  • 功能与 0.8.5 完全一致。

0.8.5 更新

「剩余」终于有了诚实的来源:你自报的余额,减去本机实测花费——而不是编造出来的数字。

  • 重启不再清零。 quota.persist 默认改为 true:账本写入 $DSH_HOME/jev-usage.json,宿主没给 DSH_HOME 时回退 ~/.dsh/jev-usage.json(回退缺失正是「重启后累计一直是 0」的根因)。想回到纯内存,设 quota.persist: false。
  • 剩余余额 = 自报 − 本机实测。 TypeSafe 没有任何余额接口(/v1/usage、/v1/quota、/v1/account、/v1/balance、/v1/credits、/v1/billing、/v1/me、/v1/limits、/v1/wallet、连 /v1/openapi.json 都 404;/v1/models 的响应头里也没有任何 quota/credit 字段),所以供应商侧余额无法读取。填了 quota.declaredBalanceUsd(自报余额)与 quota.balanceSince(起始日,如 2026-10-01)后,面板写 剩余 = 自报 $5.00 - 本机实测 $0.000004(2026-10-01 起);不填就明确写「未自报余额」,绝不给一个猜出来的数字。
  • 胶囊 20 秒一刷(原 60 秒):刚跑完一次判定时胶囊看起来还停在 0,像是坏了。
  • 折叠标签优先显示剩余。 自报余额后胶囊折叠态变成 Jev · 剩余 $4.9997 · 今日 3 次;账本落盘时弹层里的「累计(本插件实例)」改称「累计(本机实测)」。
  • 设置卡新增「自报余额」与「自报余额起始日」两项;quota.persist 提示改为「默认开启,重启后累计不归零」。
  • 新增 jev_batch——一次调用给一批文本做同一组判定,直接产出表格。 1–20 条文本 × 1–5 个问题,每条文本一次真实调用(默认 4 路并发、上限 6),返回可粘贴的 markdown 表格;sort=auto|desc|asc|none 可按某个判定维度排序(auto 只在唯一 score 问时降序);内置 sentiment / priority / intent / pii / spam 预设,也可自写 questions(与 jev_decision 同形)。失败的行在表里标「失败」并附原文错误,绝不猜测;每一行单独进账本(kind: "batch"),所以 N 条就是 N 次调用、N 次成本。多条文本同一组判定就用它,不要逐条手搓 jev_decision。
  • 测试:npm test 37/37(新增 test/batch.test.mjs 7 组断言:逐条真实调用与实测成本、score 排序三态、失败行不猜测、全失败即抛错、preset 展开与 context 前缀、11 组参数校验零调用、并发上限;另有 test/usage.test.mjs 余额用例、test/client.test.mjs 胶囊余额渲染用例、test/dashboard.test.mjs 状态页与载荷断言、test/toolview.test.mjs 批量卡片断言)。客户端刷新页面即生效;服务端改动需重启宿主。

0.8.4 更新

面板不再

…(truncated)

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

版本

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

链接

GitHub · Homepage · npm

同类插件