justhalfbit/dsh-plugin-jev-effort-selector

DeepSeek Harness (DSH) 推理等级自动选择插件:由 Jev System One 模型判断每条消息值多少思考量,按模型声明的等级自动推导档位,上下文信封让「继续」这类追问继承话题深度,低置信度向上取,任何失败都静默沿用原等级。 | Jev-driven reasoning effort per message: per-model ladders derived from what each model advertises, a fixed-size context envelope so follow-ups inherit topic depth, ties break upward, silent fallback on every failure path.

Project Overview项目介绍

dsh-plugin-jev-effort-selector is a DSH-native reasoning-effort selector plugin built exclusively for DeepSeek Harness, with no other supported agent or platform. It is installed via dsh plugin --profile web add github:justhalfbit/dsh-plugin-jev-effort-selector, the same bundle is reused across DSH 0.1.5 and 0.1.7 with web being the dsh web profile name to be swapped when running TUI or headless profiles, and the bundle ships a host half that hooks agent/pre-step and agent/request plus a client half that declares platform: "web" and renders the input-chip marker.

On the first model call of each turn the plugin asks Jev System One, a small classification-only model from typesafe.ai, for two answers: which reasoning effort this message deserves and whether it continues the previous task. That packet is roughly 500 to 800 tokens, lasts one or two seconds, and feeds a single hard rule — never drop below the previous turn when the prior work is unfinished and this message continues it — otherwise the plugin literally rewrites LlmCallConfig.reasoningEffort and caches it for retries in the same turn, while every subsequent step or retry reuses the cached value without re-asking Jev.

Dependency-wise it needs DSH plus pnpm on PATH, has zero build steps, and no allowBuilds configuration; pricing is negligible because Jev is not a conversational model, default levels map each provider/model to its own declared off/medium/high triplet, confidence threshold defaults to 0.6, timeout is 5000 ms, and every failure mode — missing key, network error, malformed reply, unsupported level — falls back silently to the caller's already resolved effort. The first-run step is opening the settings page (Plugin card on 0.1.5, the dsh-plugin-jev-effort-selector detail page on 0.1.7), entering the Jev API URL and key, after which the JEV_API_KEY credential lives in DSH's credential service (interface, env, or ~/.dsh/.env) and the license is MIT.

dsh-plugin-jev-effort-selector 是为 DeepSeek Harness(DSH)专门打造的推理等级自动选择插件,安装方式为 dsh plugin --profile web add github:justhalfbit/dsh-plugin-jev-effort-selector,重启对应 profile 生效;它同时兼容 DSH 0.1.5 与 0.1.7 两个大版本,安装命令末尾的 web 是 dsh web 对应的 profile,使用其它 profile 时换成对应名字即可。

插件在每轮首次模型调用前向 Jev System One(一个专注分类、不做生成的小模型)发起一次轻量查询,由 Jev 给出本轮应使用的推理档位与是否为追问延伸两个判断,插件据此改写本轮的 reasoningEffort;典型流程是在设置页填入 Jev API 地址与密钥后,日常对话无需任何额外操作,输入框右侧的芯片会以「Jev · High · 87%」形式实时显示判定结果,并可通过点击临时关闭当前会话。

依赖方面,安装仅需 DSH 已就位且 pnpm 在 PATH 上,无构建步骤也无需 allowBuilds;Jev 单次判断约 500–800 token、耗时一两秒,失败时静默降级,不影响原推理等级,配置文件位置随 DSH 版本不同(0.1.5 在 ~/.dsh/settings.yaml,0.1.7 起在 profile 的 cordis.patch.yml);许可证为 MIT,API 密钥走 DSH 凭据服务,永不外发,但首次运行必须先在设置卡片中填好 apiUrl 与 apiKey,否则芯片会显示「未配置 Jev API 地址」且不会调用 Jev。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 warning1 项注意
  • Only 7 stars - very few users, little community feedback星标只有 7,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add github:justhalfbit/dsh-plugin-jev-effort-selector

把 justhalfbit/dsh-plugin-jev-effort-selector 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-plugin-jev-effort-selector

中文 | English · 设计细节

让 Jev System One 模型替你决定每条消息该用多深的推理。

DeepSeek Harness (DSH) 的推理等级只能手动切换:聊天问候浪费了 high,复杂重构又忘了从 low 调上来。这个插件在每轮首次模型调用前问一次 Jev——一个专做分类、不做生成的小模型——由它判断这条消息值多少思考量,然后改写这次调用的推理等级。

Jev 不是对话模型,单次判断约 500–800 token、一两秒,成本可以忽略。

你好                                    → Jev Off 100%
帮我把这段代码改成异步                    → Jev Medium 99%
设计一个支持百万并发的分布式消息队列        → Jev High 100%

判断结果显示在输入框右侧,紧挨模型选择器。

想知道每一处为什么这样做——什么落盘、信封为何是这个形状、那条规则怎么来的、哪些方案被否掉了——见 设计细节。

特性

  • 🎚️ 按模型推导档位:读取每个模型自己声明的推理等级,取最低档 / medium / high;不支持关闭思考的模型永远拿不到 off,max、xhigh 也不会被自动用掉
  • 🧭 上下文信封:把上一轮的事实讲给 Jev——用了什么等级、用户说了什么、助手说到哪、干了多少活、有没有干完。约 500–800 token,不发对话历史
  • 🔁 一次问两件事:这条消息该用几档,以及它是不是在延续上一个任务。后者是「几点了」和「继续」的分水岭——两句一样短,只有一句要继承正在干的活的深度
  • ⚓ 只有一条硬规则:活没干完(上一轮非正常结束,或待办里还有没完成的项)且这条消息在延续它,就不低于上一轮。其余一切听 Jev 的——复杂重构后问「几点了」照样直接到 off
  • 🎯 一轮一决策:一轮里的每一步、每一次失败重试都用同一个等级,Jev 每轮只问一次
  • ✋ 尊重手动选择:你在选择器里改了等级或换了模型,这一轮 Jev 不插手
  • 🧩 不管子代理:Jev 只替你发的消息选档。子代理的等级由主代理指定或沿用主对话,Jev 不参与,也不多花一次调用
  • 💾 重启不失忆:信封的记忆来自会话日志,不靠插件内存。重启、闲置回收之后,「继续」照样知道上一轮在做什么
  • ⬆️ 低置信度向上取:概率低于阈值时在最可能的两档里选更高的——多想只费几个 token,少想可能直接答错
  • 🛡️ 失败静默降级:缺密钥、网络不通、超时、返回异常、等级不被支持,任何一种都沿用调用方已解析出的等级,不报错、不阻塞
  • ⚙️ 配置由 DSH 保存:设置界面与配置文件双入口,改动热生效,插件不自带存储(DSH 0.1.5 存在 settings.yaml,0.1.7 起存在 profile 的 cordis.patch.yml)
  • 🔁 新旧 DSH 通用:同一个版本同时支持 DSH 0.1.5 与 0.1.7
  • 🏷️ 芯片说人话:Jev · High · 87%,悬停看原因。它只活在进程里——重启后消失,下一轮决策后再出现,和它描述的那个决定同寿
  • 🔘 本会话开关:点芯片可以只关掉这个会话的 Jev,不影响别的会话;重启后回到全局设置
  • 🔀 天然会话隔离:决策、开关、投影全部按会话 id 键控,切换会话不串值;插件不往会话日志写任何东西
  • 🎛️ 档位可自定义:设置卡片里「按模型设置档位」逐个勾选(也可直接写 levels),2~5 档任意,提示文案随档位数自动适配

安装

前置:已安装 DSH 且 pnpm 在 PATH 上。

# 从 GitHub 安装(本插件零构建步骤,无需 allowBuilds 配置)
dsh plugin --profile web add github:justhalfbit/dsh-plugin-jev-effort-selector

# 重启 dsh web 生效

web 是 dsh web(浏览器界面)对应的 profile 名;用其他 profile(如 tui)时把 web 换成对应名字即可。 dsh plugin add 会自动把包写入 profile 依赖并追加到 dsh.profile.bundles,无需手工编辑。

重启后打开设置页,填 API 地址和 API 密钥即可。设置页的位置随 DSH 版本不同:

  • DSH 0.1.5:设置 → 插件 → 插件配置,列表第一张「Jev 推理选择」卡片,点开编辑;
  • DSH 0.1.7 起:侧栏 插件 → 已安装里的 dsh-plugin-jev-effort-selector,详情页里直接就是表单。

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev dsh-toolfold 下一个 Next dsh-plugin-market →