dsh-default-reasoning-efforts

DSH PLUGIN模型与账号接入

仓库 junjundesk/dsh-default-reasoning-efforts

模型与账号接入 L4 · 沙盒安装通过 安全审查:低风险 可信度:银 可安装插件
安装这个插件

给 DeepSeek Harness 里所有未声明 reasoningEfforts 的模型自动补上 high / xhigh / max 三档的 Host 插件:零运行时依赖、无构建步骤、幂等,写入走 configEditor 正常路径并刻意放在 HMR 事务之外。

一句话选型结论

按资料字段整理

dsh-default-reasoning-efforts 是模型与账号接入类的 DSH 可安装插件,验证等级 L4 · 沙盒安装通过,安全审查为低风险,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类模型与账号接入 收录类型可安装插件 验证等级L4 · 沙盒安装通过 安全审查低风险
验证等级 L4 L4 · 沙盒安装通过
GitHub 星标 0 复刻 0 · 未关闭 issue 0
最近更新 2026-10-16 创建于 2026-10-16
README 8.0 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:junjundesk/dsh-default-reasoning-efforts
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

模型与账号接入
字段来自项目仓库与公开索引,中文说明由本站标注

上游标签

deepseek-harnessdshdsh-pluginreasoning-effort

验证等级与安全审查

L4 · 沙盒安装通过
自动化流程结论,不是人工审核
验证等级L4 · 沙盒安装通过安装命令在隔离沙盒内真实执行成功,无依赖错误
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度银综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L4:在沙盒里真实装过,依赖能装上,不是纸面声明。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在模型与账号接入场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-default-reasoning-efforts当前 L4 · 沙盒安装通过 低风险 0 未标注 有
archify L4 · 沙盒安装通过 低风险 8.0 万 未标注 有
DeepSeek-Reasonix L4 · 沙盒安装通过 低风险 3.6 万 未标注 有
nocobase L3 · 安装规范通过 低风险 2.5 万 0.1.1-rc.2 无
learn-harness-engineering L4 · 沙盒安装通过 低风险 2.0 万 未标注 有
dsh-our-free-model 未做沙盒验证 未标注 8,064 未标注 无

仓库档案

模型与账号接入
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方junjundesk仓库 dsh-default-reasoning-efforts · 默认分支 main
分类模型与账号接入ai
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言未标注仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 0 / 0收录时的数值,非实时
创建 / 更新2026-10-16 · 2026-10-16最后推送 2026-10-16
本站收录2026-10-30首次进入本站目录的时间

README 全文

8.0 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-default-reasoning-efforts

给 DeepSeek Harness(DSH)用的 Host 插件:
所有没有声明推理等级的模型,自动获得 high / xhigh / max 三档。

配套 dsh-codex-effort-slider 用:
滑条能不能滑到某档,取决于模型有没有那一档;本插件负责把缺的档位补上。

为什么必须改配置(而不是在界面上"造"三档)

档位不是 UI 变出来的,是 Host 侧 LLM 适配器报出来的模型能力:

profile 配置 reasoningEfforts
→ dsh-llm-pi-ai: resolveModelReasoning() → pi-ai thinkingLevelMap
→ getSupportedThinkingLevels() → reasoningInfo() → ctx.llm.resolveModelInfo()
→ 模型目录(浏览器)→ 官方菜单「推理等级」那一行 / 滑条刻度

配置里没写 reasoningEfforts 的模型,解析结果是 reasoning: false
(手写声明的模型不在 pi-ai 内置目录里,没有可继承的能力)。后果是双重的:

  1. 模型目录里没有档位 → 官方菜单连「推理等级」那一行都不渲染 → 滑条无处可挂;
  2. 就算客户端硬塞一个档位,dsh-llm 在 resolveCallWithInfo() 里也会以
    UNSUPPORTED_REASONING_EFFORT 直接拒掉这次请求。

所以唯一端到端成立的做法是把档位写进 provider 配置,让适配器自己认。

它做什么

apply() 里做一次幂等、可重入的配置补齐:

  1. 等目标 entry(默认 @deepseek-ai/dsh-llm-pi-ai)出现在 configEditor 里(退避重试约 30 秒);
  2. 读它的有效配置,找出 providers..models[] 里所有 reasoningEfforts 未声明的模型;
  3. 用官方 ctx.configEditor.edit() 写回 profile patch
    (走 Loader 正常路径:校验 → 原子写 → 失败回滚;YAML 注释保留);
  4. ctx.emit('llm/adapters-updated') —— 已连接的浏览器会立刻重拉模型目录,不用刷新页面。

幂等:没有任何要补的模型时,一个字节都不写,也不会触发重载循环
(档位已经等于目标档位的模型会被跳过,所以第二次运行是彻底的 no-op)。

热装即可生效(不用等重启):写配置这一步被刻意放在 HMR 事务之外执行。
原因是实测踩到的坑 —— configEditor.edit() 内部是 hmr.runExclusive(),而
runExclusive 一旦发现自己已经处在一次 HMR 事务里就直接拒绝
(HMR transactions cannot be nested);插件热装/热启用时 apply() 恰好跑在
这样一次事务里,而且 hmr 用的是 AsyncLocalStorage,上下文会顺着 setTimeout
一路传下去 —— 所以"晚一点再写"根本逃不出去(第一版插件就是这么静默失败的)。
现在照官方 hmr.watchConfig 的做法用 AsyncLocalStorage.exit() 把写入放到事务外,
拿不到就退回普通调用;写入被拒时还会退避重试(约 37 秒),绝不静默吞掉。

默认规则

模型状态 默认行为
没写 reasoningEfforts 补上 {high: high, xhigh: xhigh, max: max}
写了 reasoningEfforts: false 不动(显式声明"这个模型没有推理",视为用户的明确选择)
写了别的档位表 不动
写了但恰好就是这三档 不动(保证幂等)

可选配置

$DSH_HOME/dsh-default-reasoning-efforts/config.json(不存在就用内置默认值,改完下次检查即生效):

{
"enabled": true,
"levels": { "high": "high", "xhigh": "xhigh", "max": "max" },
"targets": ["@deepseek-ai/dsh-llm-pi-ai"],
"providers": [],
"includeDeclared": false,
"dryRun": false
}
键 含义
enabled false = 完全不动手(插件照常加载,只跳过补齐)
levels 要补的档位表:键只能是 pi-ai 的七档名 off/minimal/low/medium/high/xhigh/max,值是线上拼写(off 允许 null = 不发送该参数)
targets 要管的 entry 包名(默认只动 pi-ai 适配器;别的适配器 schema 不同,别乱加)
providers provider route 白名单([] = 全部)
includeDeclared true = 连已声明(含 false)的模型也覆盖成 levels
dryRun true = 只在日志里说会改什么,不写文件
pollSeconds 兜底自检间隔(秒,默认 30,0 = 关掉)。见下

新加的模型什么时候会被补上

时机 会不会补
每次 DSH 启动 一定。启动那次检查会扫全部模型,缺档位的一个不落
运行中在设置页新增模型 会,最多 pollSeconds(默认 30 秒)内
运行中手改 cordis.patch.yml 文件 要等下次启动(实测:这个环境里 HMR 的配置监视没把文件改动送进运行中的 Loader;反正下次启动会补)
插件被禁用(enabled: false) 不补

为什么要有 pollSeconds 这个自检:宿主确实会发 llm/adapters-updated /
settings/document-updated / hmr/reload 这几个事件(插件都订阅了),
但"事件有没有送达"不在本插件的控制范围内 —— 与其把正确性押在上面,
不如按固定间隔自己看一眼:有活就干,没活就是一次纯读的 no-op。
30 秒一次的读取成本可以忽略,换来的是"新加的模型一定会被补上"这个确定性。

配置非法时会退回内置默认值并在日志里说明原因(不静默)。

回执:它到底做了什么

每次检查的结论会写到 $DSH_HOME/dsh-default-reasoning-efforts/status.json
(只在结果变化时写,不是每次事件都动磁盘):

{
"at": "2026-10-14T01:41:46.342Z",
"pid": 23388,
"enabled": true,
"targets": ["@deepseek-ai/dsh-llm-pi-ai"],
"levels": { "high": "high", "xhigh": "xhigh", "max": "max" },
"status": "patched",
"matchedEntries": ["llm-pi-ai"],
"changedModels": [{ "provider": "local", "model": "step-5-preview", "levels": { "high": "high", "xhigh": "xhigh", "max": "max" } }],
"wrote": true,
"error": null
}

status 取值:patched(补了)/ no-change(没活可干)/ dry-run / waiting-entry
(目标 entry 还没出现)/ read-failed / write-failed / crashed / disabled。
排障第一步就是看这个文件 —— 它比宿主日志好找,也比"猜插件跑没跑"可靠。

安装

# 面板:设置 → 插件 → 添加插件 → 填仓库地址或本目录绝对路径
# 或命令行(非 desktop profile):
dsh plugin --profile web add github:junjundesk/dsh-default-reasoning-efforts
# 本地开发时直接链本目录:
dsh plugin --profile web add link:"<本目录的绝对路径>"

零运行时依赖、无构建步骤(只用 node 内置模块),解开就能装。

测试

node test/plan.test.mjs      # 43 项断言:档位规范化 / 配置规范化 / 补齐规划 / HMR 事务逃逸 / 端到端接线

测试里有一份假 configEditor:edit() 会把新配置落到 entry 上,所以"第二次运行必须
一个字节都不写"这件事是被真断言守着的,而不是靠肉眼。其中一项是回归测试:用真的
AsyncLocalStorage 模拟 hmr 的事务上下文,并让 edit() 在事务内直接抛
HMR transactions cannot be nested —— 它复现了第一版插件的真实故障,也守着修复不被改回去。

已知边界

  • 只改 providers.*.models[].reasoningEfforts 这一个字段,其它字段原样保留。
  • 补的是声明,不是"让模型真的会思考":端点是否接受 xhigh/max 由上游决定,
    与你在同一个 provider 里给别的模型写的那套拼写保持一致。
  • targets 默认只含 pi-ai 适配器。别的适配器(如官方 DeepSeek)有自己的固定档位表,
    强行补档位可能让请求被上游拒掉。
  • 卸载/关掉后,已经写进 profile patch 的 reasoningEfforts 不会自动删掉
    (那是你的配置,插件不替你回滚)——想恢复就把那几行删掉。

许可

MIT。

常见问题

6 问
答案由本站依据条目字段整理,不引用上游原文
dsh-default-reasoning-efforts 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:junjundesk/dsh-default-reasoning-efforts` 即可。

dsh-default-reasoning-efforts 的验证等级是什么意思?

L4 · 沙盒安装通过。安装命令在隔离沙盒内真实执行成功,无依赖错误

dsh-default-reasoning-efforts 安全吗?

低风险。

dsh-default-reasoning-efforts 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-default-reasoning-efforts 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

模型与账号接入
按星标排序,可作替代方案

archify

archify

从仓库或系统描述生成经过校验的自包含交互式架构图、流程图、时序图、数据流图和生命周期图。

L4 · 沙盒安装通过 8.0 万 星

nocobase

nocobase

L3 · 安装规范通过 2.5 万 星

dsh-our-free-model

dsh-our-free-model

为 DeepSeek Harness 挂载免登录、免 API Key 的免费前沿模型通道,装完即用,并附用量看板与 OpenAI 兼容本地转

未标注验证等级 8,064 星

dsh-purge

dsh-purge

dsh-purge 是一款 DeepSeek Harness 设置插件,可修改默认副本、权限策略和工具限制,并添加规则卡片以分组应用补丁,支

L5 · 运行验证通过 4,573 星

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。