DeepSeek Harness 插件

dsh-adaptive-reasoning

Capability-aware reasoning effort slider for the DeepSeek Harness web model selector.(英文原文)

跳到安装方式

来源信息

GitHub 仓库
zhuifengqug/dsh-adaptive-reasoning
最近更新
2026年8月22日
分类
工具与能力
GitHub stars
0
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-21

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/zhuifengqug/dsh-adaptive-reasoning
插件名:dsh-adaptive-reasoning
作者:zhuifengqug

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器4 个文件
README.zh.md来源说明 · 只读预览
README 语言

dsh-adaptive-reasoning

English · 中文

面向 DeepSeek Harness Web GUI 的、基于模型能力的推理档位滑块。

插件保留 DSH 官方的模型选择器与 /model 命令不动。点击选择器里的 推理等级 / Reasoning effort 行会弹出无障碍的滑块面板:面板读取当前模型在 Host 上的确切推理元数据,并通过常规的 session.selectModel RPC 把选择写回。

安装(两种方式)

从 npm 安装:

dsh plugin --profile web add dsh-adaptive-reasoning

从 GitHub 安装(可锁定到已发布 tag 以获得可复现性):

dsh plugin --profile web add github:zhuifengqug/dsh-adaptive-reasoning#v2.0.0

安装完成后重启 dsh web。详细说明、卸载与可选的 models.dev 补全见下文。

功能

  • 只使用当前模型公布的 reasoning.efforts,不会自造一套全局档位表。
  • 支持稀疏、非连续、以及供应商自定义的档位(如 off/high/max 或适配器自定义标识)。
  • 无极拖动:0–100 连续拖动,实时写入 reasoningEffort(16ms 节流,拖动中不堆积请求)。
  • 松手吸附:松开 / 失焦 / 键盘结束时吸附到最近档位,并补发一次确认写入。
  • WebGL 火焰:三通道 WebGL2 火焰模拟(点燃 → 模糊 → 合成),火焰前锋跟随滑块值;轨道平时是冷却灰烬,拖过某一档位才「点燃」。
  • 档位余烬配色:每个推理档位燃烧出自己的颜色,从灰烬灰渐变到燃烧红。
  • 像素风界面:4px 像素化火焰、锯齿硬边框、分段能量格,以及 Press Start 2P / Zpix 像素字体(带系统字体回退)。
  • WebGL2 不可用或系统开启减少动画时,回退到静态能量格。
  • 使用 DSH 语义设计 token,并尊重 prefers-reduced-motion
  • 不改变官方模型选择、加载失败、无障碍行为与 /model 命令。

一键自动补全

当你在一个「未声明 reasoningEfforts」的模型上打开档位面板时,面板会显示提示和「自动补全」按钮。点击后请 Host 为该供应商所有「缺少档位」的模型填一份保守声明,然后重载面板,滑块随即出现。

来源优先级遵循模式 C:目录可达时,命中且唯一定位到 models.dev 的记录优先;否则按家族启发式判断(deepseek/qwen/glm/claude/grokoff/low/high/maxgpt/gemini/minimax/step/kimi/moonshot/mimo/mistral/… → off/low/medium/high;图像模型跳过)。已声明档位的模型绝不改动。

按钮是一次显式的、逐次点击的用户操作,因此不受任何配置开关控制;它写入的就是你在 llm-pi-ai 设置里(持久化到 settings.yaml)会手写的那份 reasoningEfforts 字段。它通过宿主命令 /adaptive-reasoning-declare <provider> 派发——你也可以直接运行该命令,为整个供应商回填。

可选的 models.dev 启动补全

某些手填的 llm-pi-ai 模型没有声明 reasoningEfforts,因此 DSH 正确地不展示任何档位 UI。本插件可以在启动时可选地从 models.dev 补全这些缺失的声明。

该行为默认关闭,因为目录记录并不能证明某个私有网关接受相同的推理协议。

启用时,Host 半区会:

  • 抓取 https://models.dev/api.json 并缓存在系统临时目录;
  • 只更新没有 reasoningEfforts 字段的模型;
  • 只接受精确或唯一归一化的模型 id 匹配;
  • 从不为未知或歧义模型提供家族启发式回退(那份回退只存在于上面显式的「自动补全」按钮之后);
  • 把推断出的条目写入 llm-pi-ai 设置段,DSH 在使用前会校验它们。

在 profile 的 cordis.patch.yml 里覆盖该条目以启用:

- replace:
    - id: adaptive-reasoning
      name: dsh-adaptive-reasoning
      config:
        enrichFromModelsDev: true
        cacheHours: 24

cacheHours 必须是正数。目录不可用只会让本次运行的补全失效,不会阻止 DSH 启动。

安装

包是纯 JavaScript、没有 prepare 脚本,因此从 git 安装无需任何 pnpm 构建授权。直接从 GitHub 安装:

dsh plugin --profile web add github:zhuifengqug/dsh-adaptive-reasoning

# 锁定到已发布版本以获得可复现性(推荐):
dsh plugin --profile web add github:zhuifengqug/dsh-adaptive-reasoning#v2.0.0

# 验证 bundle 补丁已参与 Web profile:
dsh --profile web --dump-config

你也可以改从本地 checkout 安装——在其所在目录执行 dsh plugin --profile web add ./dsh-adaptive-reasoning

安装完成后重启 dsh web。客户端插件的热更新只在 DSH checkout 的 pnpm run dev:web 监听器已重建其 bundle 时生效;这个独立 bundle 否则只能在 Web 进程下次启动时加载。

卸载:

dsh plugin --profile web remove dsh-adaptive-reasoning

设计说明

Host 是权威。UI 不解释某个档位的协议拼写、不把 off 映射成别的值、也不静默裁剪不支持的选项。只展示 session.models 为确切路由公布的值,是否让提交值成为会话下一次请求配置,由 Host 决定。

浏览器集成刻意把官方选择器的档位行作为入口,而不是占用那个单实例的 conversation.input.model 席位。这样不会替换 DSH 官方选择器,并保留其模型目录、重试、本地化与错误界面。

故障排查

自定义中继拒绝带 role: developer 的请求

pi-ai 只要模型启用推理、且判定端点支持该角色,就会用 OpenAI 的 developer 角色发送系统提示。对未知/自定义中继 URL,该自动检测默认判定为「支持」,而很多 OpenAI 兼容中继只接受 system——于是请求报错,形如 developer is not one of ['system', 'assistant', 'user', 'tool', 'function']

llm-pi-ai 的配置层(截至 0.1.0-rc.7)不暴露 pi-ai 的 supportsDeveloperRole 开关,因此必须把补丁打进已安装的 bundle。若你的部署碰到此问题,请对 <dsh-install>/node_modules/@deepseek-ai/dsh-llm-pi-ai/lib/index.js 做同样的手术式修补(先备份,任何 dsh 升级后再重打),然后按路由设置:

compat:
  supportsDeveloperRole: false

确实接受 developer 角色的中继可保持默认,或设为 true

文件

dsh-adaptive-reasoning/
├── index.js            # Host 半区与可选的 models.dev 补全
├── lib/client.js       # 浏览器半区与滑块面板
├── cordis.patch.yml    # Web profile bundle 补丁
├── package.json
└── README.md

许可

MIT