deepseek-harness dsh thinging levels 调整 reasoning强度调整
39.6/100
综合分
13
GitHub 星标
9,965
npm 周下载
—/5
用户评分
数据截至 2026/10/31 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-thinking-levelsnpm 源 · dsh-thinking-levels 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · market
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 3 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-thinking-levels @ 4.4.10
✓Node 引擎要求 >=22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/1 07:03:14
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/cosmokit@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-store@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-api-session-controller@deepseek-ai/dsh-client-ui-model-selection给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
界面预览
3 张 · 点击查看大图最近更新
在 GitHub 查看全部 →v4.4.82026-10-27
· 4.4.8 — auto 档真正可用(issue #6)
关联 issue:#6 auto scheduling is dead on DSH 0.2.1-rc.2
· 修复的两个独立缺陷
Bug 1 — 工具采样源断裂。 采样读的是 agent.session.events,而该数组属性只在宿主 0.1.0-rc.8 存在(0.1.2-rc.1 起 0 命中,只剩 eventAt/snapshotEvents/ownEvents/toolHistory/seq)。因此在 engines.dsh 声明的 14 条宿主线里,13 条上采样恒为 [],high / max 结构性不可达 —— auto 自 0.1.2 起就静默恒落 low,不是 rc.2 引入的回归。
修法:注册 Session 投影 tlAutoSchedule,apply 把 tool/call 折进容量 8 的环形,宿主侧 stateOf() O(1) 读取;首次读自动 fold 整条内存日志,恢复 / 分叉会话同样完整。宿主已明令禁止新增 eventAt/snapshotEvents/ownEvents 生产调用,故不回绑旧读法。
Bug 2 — 宿主把插件的输出回灌成下一轮种子。 每轮 request/header 里的 reasoningEffort 会被当作下一轮 agent/request 的种子,而旧实现把任何具体档视为"用户手动选择"直接透传 → 档位在会话首个请求后永久锁死。
修法:同一投影折入 model/selection 事件取会话的显式选择(该事件全仓唯一生产写点即用户选档命令,插件注入永不写入),种子不再参与手动/自动判定。回灌在结构上消失,无需记忆上一轮注入值,resume / fork / 压缩后同样正确。
· 其他
· 档位来源优先级:会话内显式选择 > 插件配置 level > 调度器。
· 日志新增 user= / src=projection|legacy 两个字段,便于运行态取证。
· 0.1.0-rc.8 已知限制:该线注册面无 stateOf(旧平面契约),跳过投影注册并继续走 session.events 老读法 —— 采样照常,但"回灌"修正不生效。
· 验证
· 单测 186 → 215(新增:投影 reducer、能力门控、schema 容错、诱饵夹具、四轮会话回灌仿真)。
· 真实宿主包(@deepseek-ai/dsh-session@0.2.1-rc.3 + dsh-session-projection@0.2.1-rc.3)实跑:session.events === undefined;registry 无报错注册;stateOf 正确 fold。
· 真实进程(dsh headless,两次 shell 工具调用)会话落盘:
header#1 seq=11 reason=initial effort=low ← 首请求,无工具历史
tool seq=19 step=1 name=pwsh
header#2 seq=23 reason=change effort=high ← 采样生效,档位真实上移
· 元数据
· 双清单同串到 4.4.8(4.4.7 只改了 package.json,dsh.plugin.json 停在 4.4.6)。
· engines.dsh 与 peerDependencies 未收窄;运行时行为与 4.4.7 完全一致。
· 安装
dsh plugin --profile add dsh-thinking-levels@4.4.8
v4.3.02026-10-22
· v4.3.0
· 新增
· 价格目录(src/price-catalog.ts):29 个模型条目 × 地区——DeepSeek V4.1-Flash / V4-Flash / V4-Pro 带官方高峰/低谷价对(北京 09-12 与 14-18 为高峰,时间表 2026-08-17 生效);GLM / Kimi / Qwen / Doubao / MiniMax / Ernie 带固定人民币价。每条按每百万 token 给三个档位定价——非缓存输入 / 缓存命中输入 / 输出——并附带 asOf 与来源标注。海外(美元)档位结构上已预留,但故意留空,等官方页面重新核实后再填:不编造数字。
· defaultPricing 设置(cn / global / custom / off,默认 off):目录之外的模型不再按 Flash 费率估算——直接显示为未定价。
· 2026 年国务院节假日/调休校正表(39 行,与 dsh-session-guard 同源):调休上班的周末算工作日,参与高峰判定;法定节假日全天低谷。未知年份退化为自然周末规则。
· 变更
· 投影 stateVersion 1 -> 2:每条用量样本存一份定价回执,在折叠时结算;同一步替换会扣掉记录值(不混算费率,不出现负账);会话/轮次总计按币种分桶。升级后旧检查点丢弃,按当前目录重新折叠——历史总计会变一次;之后改定价只影响后续样本。
· 计费浮层:按币种显示符号(¥ / $,未知币种回退到 ISO 代码),固定价/空档位用如实标签,「priced as 」取自目录标签,混合币种会话按币种分行列出,不再假求和。
· matchedModel / unitPricePerM 弃用(再双写一代)。
· 修复
· settings.describe() 形状归一化:进程内数组 vs RPC {namespaces:[...]} 信封——异常形状现在读作缺失,不再抛进被吞掉的 catch(静默冻结那类故障)。
· 投影注册加了 try/catch 保护:计费单元出错时隐藏计费区,不再毒化整个插件 fiber 或冷会话历史。
---
_发布说明于 2026-10-22 依据 git tag + CHANGELOG 历史回填。_
v4.3.12026-10-22
· v4.3.1
· 已修复
· engines.dsh 和七个 @deepseek-ai/dsh-* 对等依赖都追加了 || 0.2.1-rc.1(精确列出 12 项,不用范围或脱字符),因此宿主兼容性校验现在接受 DSH 0.2.1-rc.1。
· dsh.plugin.json 的 engines.dsh 也带上同样的 12 项枚举——校验只读 package.json,但两份列表不能有出入。
· devDependencies 里的 @deepseek-ai/dsh-client-* 从 0.2.0-rc.1 升到 0.2.1-rc.1;构建和完整测试套件(140 个测试)已针对目标版本线验证通过。
· README 的兼容性说明(en/zh/ja/ko/de/es/fr/it/ru)已同步到这份枚举。本次发布没有行为变更。
---
_2026-10-22 依据 git tag 和 CHANGELOG 记录回填发布说明。_
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成dsh-thinking-levels
为 DeepSeek Harness (dsh) 提供按轮次的思考档位(reasoning_effort)控制:在会话模型选择器中可选 Auto(mask)——由插件按工具调用历史自动在 low / high / max 间调度后提交 API;也可手动固定 off / on / minimal / low / medium / high / xhigh / max,让廉价工具轮次保持廉价,同时绝不让重任务缺少推理。
v0.7.0-beta.1(2026-09-06):短路路线退役。 本版本不再依赖 dsh-llm-openai-completions——自定义网关修复全部改走 dsh 官方 llm-pi-ai compat 面(要求 dsh ≥ v0.1.0-rc.8),短路插件应保持卸载。详见 CHANGELOG。
展开完整文档(README 剩余 1 节)
dsh-thinking-levels
为 DeepSeek Harness (dsh) 提供按轮次的思考档位(reasoning_effort)控制:在会话模型选择器中可选 Auto(mask)——由插件按工具调用历史自动在 low / high / max 间调度后提交 API;也可手动固定 off / on / minimal / low / medium / high / xhigh / max,让廉价工具轮次保持廉价,同时绝不让重任务缺少推理。
v0.7.0-beta.1(2026-09-06):短路路线退役。 本版本不再依赖 dsh-llm-openai-completions——自定义网关修复全部改走 dsh 官方 llm-pi-ai compat 面(要求 dsh ≥ v0.1.0-rc.8),短路插件应保持卸载。详见 CHANGELOG。
- English README
- 中文 README
- 日本語 README
- 한국어 README
- README en français
- Deutsche README
- README in italiano
- README на русском
- README en español
- 安装指南
- English installation guide
- 日本語インストールガイド
- 한국어 설치 안내
- Guide d'installation en français
- Installationsanleitung auf Deutsch
- Guida all'installazione in italiano
- Руководство по установке на русском
- Guía de instalación en español
- 版本更新日志
- 日本語 changelog
- 한국어 changelog
- Changelog en français
- Changelog auf Deutsch
- Changelog in italiano
- Список изменений на русском
- Changelog en español
兼容性说明: 0.6.0 已包含日本語(ja)和한국어(ko)字典及选择项,但当前官方 DSH 只通过 LocaleRuntime 提供 zh 和 en。在原版 DSH 中选择 ja 或 ko 会失败,并提示 locale "<id>" is not registered。需要等待官方 DSH 增加对应 locale ID 后才能正常使用。高级用户可以维护 DSH fork,在 packages/client/locale/src/locale-settings.ts 更新 LOCALE_IDS,在 packages/client/locale/src/client/index.ts 更新 LOCALES 标签,并补齐核心字典和测试,然后重新构建并运行 fork 版本。仅修改本插件无法扩展 DSH 的全局 locale 列表。
版本兼容: 本版本(4.3.x)按 DSH 宿主精确 16 档枚举钉定:0.1.0-rc.8 || 0.1.1-rc.1 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.5-rc.3 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-rc.1 || 0.2.1-rc.2 || 0.2.1-rc.3 || 0.2.1-rc.4 || 0.2.1-rc.5——逐 rc 单列,不用区间/caret;0.2.1 稳定线发布前不声明。自 0.1.7-rc.1 边界起,DSH 移除了命令式设置注册(settings.register / installSettingsSection)与客户端 settingsScope 服务及每插件卡片槽位,运行时调整的配置字段在 schemastery schema 中标 .volatile(),设置表单由宿主按 schema 自动生成(无注册调用、无客户端设置卡片),插件按请求读取实时值(由 loader/volatile-update 驱动)——4.0.x 面向 0.2.0-rc 区段的同一声明式表面;0.1.7-rc.1 至 <0.2.0 的宿主请使用 3.x 线(3.4.3,npm dist-tag dsh-0.1.7),0.1.2–0.1.6 宿主请继续使用插件 3.0.2。
版本范围约定: 每条兼容线都把宿主钉在本线自己的区段内。面向 0.1.x 宿主的线遵循 >=0.1.x-rc.1 <0.1.(x+1)-0(3.1.x:>=0.1.7-rc.1 <0.1.8-0;3.0.x:>=0.1.5-alpha.1 <0.1.6-0;2.0.x:>=0.1.2-alpha.1 <0.1.3-0;1.0.0-beta:>=0.1.0-rc.8 <0.1.2-alpha.1);面向 0.2.x 区段的线遵循 >=0.2.0-rc.1 <0.2.1-0(4.0.x:>=0.2.0-rc.1 <0.2.1-0)。任何线都不声明开放的上限,兼容性解析器因此绝不会把插件线匹配到它并未适配的更新宿主区段。0.4.0–0.6.0 完全没有声明 dsh peer 依赖,属于无兼容性标注版本——不要安装。自 4.2.x 多线时代起,4.x 线改用上述逐 rc 精确枚举钉定宿主,区间公式仅描述历史上的分区段线。
在多步工具链任务中,模型在每一次工具调用前都会重新思考——而这个思考过程占据了绝大部分墙钟时间(一个 50 步的 agent 任务可能在工具之间花费数分钟思考)。dsh-thinking-levels 接入 dsh 每一步都会重新解析的 agent/request waterfall(以 prepend 置于最外层,避免被会话模型选择覆盖),向下一次模型请求注入思考档位。
档位
| 档位 | 含义 | 位置 |
| off | 关闭思考(仅手动选择,自动调度永不选用) | 模型选择器 / 默认档位 |
| on | 开启思考(仅 toggle 型模型):只发 enable_thinking,不发 think effort | 模型选择器 / 默认档位 |
| minimal | 最低档(极轻任务) | 模型选择器 / 默认档位 |
| low | 手动低档,对应简单对话任务(廉价轮次保持廉价) | 模型选择器 / 默认档位 |
| medium | 中档 | 模型选择器 / 默认档位 |
| high | 官方默认档位 | 模型选择器 / 默认档位 |
| xhigh | 特高档 | 模型选择器 / 默认档位 |
| max | 重任务 | 模型选择器 / 默认档位 |
| auto | mask:按最近的工具调用历史逐轮调度,提交 API 前解析为具体档位 | 模型选择器(由插件注入元数据)/ 默认档位 |
线缆档位事实(对照官方 DeepSeek 文档与 dsh llm-deepseek 适配器核实):deepseek-v4-flash / v4-pro 上 low 1:1 生效,medium / xhigh 折叠到 high。适配器只接受 off | low | high | max,其他值抛 UNSUPPORTED_REASONING_EFFORT——auto 是插件的 mask 层,永不直接发送给 API,注入前必然解析为具体线缆档位。on 不是 effort 档位:它只由 toggle 型模型(Qwen3.6 类)广告,且只把 enable_thinking 置 true——不发送 reasoning_effort;effort 能力模型永不广告 on,所以手动选 on 会被剥离。
自定义传输字段映射
对 llm-pi-ai 手工声明的模型,可以把每个档位映射为你网关真正接受的值(借鉴 dsh-thinking-effort):勾选档位并填写线上值,例如 high → ultra。映射存为该模型的 reasoningEfforts 表——Composer 选中 High 时,网关实际收到 ultra。off 留空表示不发送。
该映射的可视化编辑器原先搭载在插件设置卡片上,DSH 0.1.7 迁移已将其移除(对应槽位不复存在)。请改为通过官方「模型」设置面编辑 reasoningEfforts 表——host 侧的检测与注入本就实时读取该配置。
- 官方预设:Off / High / Max(官方 DeepSeek 风格)
- 通用预设:Off / Low / Medium / High
思考强度滑块(逐模型行)
模型面板里的逐行思考强度下拉框已改造为分段滑块:点击模型行的档位 chip(显示当前生效档位或「提供方默认」),该行下方展开全宽滑动条。分段数随模型广告的档位自适应——toggle 型只有两档、官方 off/low/high/max、网关自定义线上值均可;目录带 auto mask 时 auto 恒在最左,其后依次 off/on 与强度递增档,未知线上值排最末。
选择器头的档位 chip(4.4.0 起)显示的是用户意图而非调度器的解析值:意图为 auto 时主标签保持 Auto,本步实际发出的档位降为次级标注(如 → low)。注意:关闭模型界面接管时,官方选择器的 chip 仍显示本步解析值(宿主投影语义,插件不可代改)。
交互对齐 dsh-reasoning-effort 已批准的视觉基线:滑钮拖动时连续跟手、松手吸附提交(每次手势只写一次路由);普通滑钮全主题纯白;两端刻度处滑钮完整可见;键盘 ←/→/Home/End 逐档移动。原「提供方默认」重置保留为滑块行的 ↺ 按钮。
DeepSeek 行(官方路由,或 id/名称含 deepseek 的网关模型)滑钮为鲸鱼娘奔跑立绘:8 帧侧面奔跑 strip,乒乓循环(静止 720ms/单向,拖动中 420ms/单向),prefers-reduced-motion 下冻结;其他模型为普通白色圆钮。
模型界面接管(4.4.0 起)
新增设置项「模型界面接管」(takeoverUi,缺省关闭):关闭时不替换官方模型弹窗——搜索、分组、加载都由宿主原生选择器负责,auto 档位照常经服务端广告出现;官方模型的上下文编辑在设置卡内完成。开启时恢复本插件的 ModelPanel 接管(逐行上下文/档位编辑 + 弹窗搜索)。切换即时生效,无需重载。
立绘为社区鲸鱼娘二创,来源 HanaAyane/dsh-reasoning-effort(assets/chibi-runner-strip.png);用 python tools/whale-mascot.py 可重新生成内联素材。
模型能力守卫(v0.5.0)
插件绝不向未声明推理能力的模型发送 reasoning_effort。自定义 openai-completions 路由(如未配置 reasoningEfforts 的本地 Qwen3.6)通过 ctx.llm.resolveModelInfo 被判定为非推理模型,任何档位(继承的或调度产生的)都会被剥离而不是下发——dsh 的逐请求 UNSUPPORTED_REASONING_EFFORT 拒绝因此不会触发。不支持的字段绝不打进 API。
版本行为:
| dsh 版本 | low 处理 |
| rc.6(老) | 非原生:仅当配置 models 覆盖确认该档位时选择器才显示;注入展示(选择器 + 请求校验放行)后原样透传 |
| rc.7+(新) | 原生:插件既不重写也不重复注入;手动选 low 原样透传 |
auto 调度对支持的模型仍可选出 low——由上面的能力守卫负责让它远离不能接收它的模型。
模型选择器 Auto
会话界面模型选择器(模型旁)现在提供 Auto 档位(由插件注入模型目录元数据,位于线缆档位之后):
| 模型选择器选择 | 行为 |
| Auto | 插件按工具调用历史 + 升降档开关调度,解析成 low / high / max 后提交 API |
| off / on / minimal / low / medium / high / xhigh / max | 尊重手动选择,插件不介入(toggle 型模型上 on 保持 on,绝不升为 effort;effort 能力模型剥离它) |
| 未选择 | 使用插件的默认档位(见下) |
自动调度
中枢为 high(官方默认)。auto 只在 low / high / max 之间调度;永不选 off。
| 最近的工具调用 | 档位 |
| 无(全新提示,纯对话) | low |
| ≥75% 简单工具、小载荷、允许降档 | low |
| 混合 / 重工具 | high |
| 超大载荷、允许升级 | max |
调度策略与 dsh-tool-turbo 同源(同一套简单工具白名单 / 载荷阈值 / 75% 比例规则)。
采样来源(4.4.7+):调度器把 tool/call 事件折入 Session 投影(tlAutoSchedule),因此在 0.1.2-rc.1 起的宿主上都能看到真实工具历史;4.4.7 之前读的 session.events 只在 0.1.0-rc.8 上产出过样本。会话内的显式选档由 model/selection 事件折入,宿主回灌的档位不会被误判为手动选择。已知限制:宿主 0.1.0-rc.8 的投影注册面没有 stateOf(旧平面契约),该线继续走旧的数组读法 —— 调度照常,回灌修正不生效。
安装
完整流程(profile 确认、升级、迁移、验证、排查)见 INSTALL.zh.md。快速开始:
1. 从 npm 把插件装进某个 profile(以 web 为例,任意 profile 均可)(web profile 是 pnpm workspace root,必须带 -w)
dsh plugin --profile web add dsh-thinking-levels -w
GitHub 安装备选:
dsh plugin --profile web add https://github.com/drscrewdriver/dsh-thinking-levels.git -w
本地路径备选(无需网络):
dsh plugin --profile web add /dsh-thinking-levels 的绝对路径/
2. 重启 dsh web(运行中的实例不会热加载新的 bundle 层)
dsh web
注意:dsh 运行环境使用 pnpm 11,新发布的版本会受 minimumReleaseAge 冷却期约束;如安装报 ERR_PNPM_MINIMUM_RELEASE_AGE_VIOLATION,在 ~/.dsh/profiles/web/pnpm-workspace.yaml 的 minimumReleaseAgeExclude 中加入对应版本即可。
手动 link: 注册(dsh plugin add 的备选方式):
~/.dsh/profiles/web/package.json dependencies 增加: "dsh-thinking-levels": "link:<dsh-thinking-levels 的绝对路径>" ~/.dsh/profiles/web/cordis.patch.yml:
- insert:
- id: thinking-levels
name: dsh-thinking-levels
cd ~/.dsh/profiles/web && pnpm install && dsh web
配置
两个配置面共用同一套 schema:
- 装配层 — profile 组合中插件行的 config:(如 cordis.yml): config: level: auto # off | on | minimal | low | medium | high | xhigh | max | auto —— 会话未显式选择时的默认档位 allowDowngrade: true # 允许调度器降到 high 以下 allowUpgrade: false # 禁止调度器升到 max
- 运行时 — 插件的 .volatile() 配置字段(enabled、level、allowDowngrade、allowUpgrade):DSH 0.1.7 按声明的 schema 自动生成「插件」设置表单,提交的改动以实时配置引用送达插件(loader/volatile-update),对下一次模型请求生效,无需重启。(models 仍是配置级字段:请在 profile 组合中编辑。)
按模型的 models 覆盖(键为 provider/model)用于确认自动检测结果,配置者拥有最终决定权:
config:
level: auto
models:
llm-pi-ai/Qwen3.6-35B-A3B: # 非 effort 思考模型(思考开关 + budget) vision: false thinking: true efforts: false # 永不发送 reasoning_effort(请求时剥离) llm-pi-ai/Qwen3.8-27B: # effort 模型(rc.6 时代适配器没有 low)
efforts: [low, high] # 确认 low → 选择器展示 + 透传
对 Qwen 思考开关 + budget,请配置 llm-pi-ai 路由: compat.thinkingFormat: qwen(→ 线缆 enable_thinking + thinking_budget,经 thinkingBudgets),或 qwen-chat-template(→ chat_template_kwargs.enable_thinking)用于 Qwen3.8-27B 这类 effort 模型。
默认值:{ enabled: true, level: 'auto', allowDowngrade: true, allowUpgrade: false, models: {} }。
语义说明:模型选择器选择优先于插件默认档位。选 auto(mask)→ 插件调度;选线缆档位 → 直接生效;未选择 → 使用插件的 level 默认档位。allowDowngrade / allowUpgrade 只约束 auto 调度。
第三方传输层接管(三协议)
设置卡的「第三方接管」开关把一条路由加进 dsh-llm-openai-completions 传输层的 providers 名单。传输层的名字是历史遗留——自 4.4.x 线起它已接管三种线缆协议: openai-completions、openai-responses 与 anthropic。路由被接管后,其模型请求短路走该传输层(多模态真发 + 模态门禁 + 提示词注入),pi-ai 不再参与。
逐档线上值编辑器(reasoningEfforts)自 4.4.4 起协议中立:宿主把该表折成 pi-ai 的 thinkingLevelMap,三种协议都读(Anthropic thinking budget、Responses reasoning effort、 completions reasoning_effort 字符串)。两个 completions 专属 compat 开关(支持 think effort / 思考格式)只在 openai-completions 路由上渲染——其他协议下写入会被宿主整体拒收,故 DOM 中不出现。
toggle 折叠陷阱(4.4.5 已修复)。 思考模型选择器被折成 Off/On 是 openai-completions 专属行为:当一条路由被接管且模型带 reasoningEfforts 表但没有 compat.supportsReasoningEffort: true 时触发。该折叠的存在理由是 pi-ai 拒收七固定档之外的 reasoning_effort 字符串——一个 completions 线缆层面的问题。Responses/Anthropic 路由的档位走原生映射(thinking budget / reasoning-effort 枚举),且 supportsReasoningEffort 根本无法写入,故 4.4.4 及之前把这类路由接管后会误将多档表折成 Off/On。自 4.4.5 起折叠额外要求路由 api 为 openai-completions(或缺省),被接管的 Responses/Anthropic 路由端到端保留完整档位集。
官方 compat 面:短路工具退役(0.7.0-beta.1)
自定义网关(vLLM / LM Studio / 自建 OpenAI 兼容代理)声明思考功能后,本插件自动把修复写入 dsh 官方 llm-pi-ai compat 面(dsh ≥ v0.1.0-rc.8 引入,commit 884f7b9c41)——若仅为 developer 角色 400 修复,dsh-llm-openai-completions 已不再需要、应保持卸载;只有当你明确要用它的三协议接管(见上节)时才安装:
- 扫描 llm-pi-ai.providers,识别「自定义网关 且 任一模型(含 modelOverrides)声明 reasoningEfforts 表」的路由,自动写入:
- 路由级 compat.supportsDeveloperRole: false——系统提示词按 system 角色发送,修复 vLLM / SGLang 的 Unexpected message role 400;
- toggle 型思考模型(思考表存在、行级无 supportsReasoningEffort)自动补模型级 compat.thinkingFormat: 'qwen-chat-template'——pi-ai 发 chat_template_kwargs.enable_thinking(裸 vLLM 忽略顶层 enable_thinking);
- 写入走官方设置通道(读 → 纯变换 → 整段 settings.update('llm-pi-ai', …)),dsh 的 schema 在写入处校验:低于 rc.8 的 dsh 会拒绝并日志告警,绝不静默错配;任何层级的显式值(true/false、已声明格式)永不覆盖;
- 触发时机:插件启动、llm/adapters-updated、llm-pi-ai 的 settings 变化——无需手动改配置;
- 响应侧的内联 <think> 拆分是网关职责:裸 vLLM 请加 --reasoning-parser qwen3(pi-ai 只解析 reasoning_content / reasoning / reasoning_text)。
依赖说明
插件 host 侧不值依赖 @deepseek-ai/dsh-settings——DSH 0.1.7 起不再有任何设置注册:设置表单由宿主按插件声明的 schemastery schema(.volatile() 字段)生成,客户端通过 dsh 运行时提供的 configForms 服务协作。无需在 profile 中手动安装官方包。dependencies 仅 @deepseek-ai/schemastery(随包自动安装)。
开发
npm run lint # eslint(typescript-eslint flat config)
npm run typecheck # tsc --noEmit
npm test # vitest — 65 个测试
测试覆盖:档位策略(手动透传含扩展档位、on 钳制、auto 调度、档位校验、简单工具边界)、模型能力守卫(reasoningEffortSupported、resolveEffortInjection 剥离/透传)、会话事件解析(守卫、窗口截断、畸形记录)、配置 schema(默认值同步、越界拒绝、models 覆盖)、官方 compat 同步(识别、显式值尊重、身份幂等、写入处 schema 校验)。
许可
MIT
计价目录与账单(4.3.0+)
账单逐笔在折入时刻按内置目录(src/price-catalog.ts)计价:29 个模型条目 × 地区。DeepSeek V4.1-Flash / V4-Flash / V4-Pro 采用官方峰谷双行(北京工作日 09:00-12:00、14:00-18:00 为峰;套用 2026 国务院节假日/调休修正表,补班周末按工作日计);智谱 / Kimi / 通义千问 / 豆包 / MiniMax / 文心 为平价人民币档。每条目录含三价目位(每百万 token:非缓存输入 / 缓存命中输入 / 输出)并带复核日期与来源标注;币种随条目原样显示(¥ / $,不做汇率折算)。海外(USD)条目在核实通道到位前刻意留空。
目录外模型走 defaultPricing 设置(cn / global / custom / off,缺省 off):「off」时账单弹层显示"未计价",token 计数照常——不再拿单一型号价静默估算。
语义说明:改价/改策略只影响其后新记的账;升级后首次打开旧会话时,其累计账目会按当前目录一次性重折。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
drscrewdriver/dsh-thinking-levels
deepseek-harness dsh thinging levels 调整 reasoning强度调整
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,025未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,358已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13938 个插件含 PR 收录与…
★ 350已汉化DSH
71.8
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这是你的仓库?认领条目