dsh-better-reasoning-effort-fish:在官方「模型」页编辑思考强度与输入模态

前言

DeepSeek Harness(DSH)通过 llm-pi-ai 适配器,本身支持为每个模型声明 reasoningEfforts(思考强度)和 input(输入模态)。官方「模型」页的编辑卡却刻意不暴露这两个字段。结果是:第三方模型在 Composer 里往往没有思考档位选择器,手工添加的模型容易被当成纯文本;想补全能力只能去改 settings.yaml。

dsh-better-reasoning-effort-fish 是社区插件 dsh-better-reasoning-effort(原作者 HaoyueQin,上游基线 v0.5.2)的个人 Fork,维护者为 Fish-under-sea。它在官方模型编辑卡内注入 UI,并带一键自动适配。相对上游,本 Fork 让出官方模型能力面板的 settings.models.provider-card 席位,以便与 dsh-web 的模型能力插件共存。

这是什么

npm 包名:dsh-better-reasoning-effort-fish(当前资料中版本 0.5.8)。许可证 MIT(版权归原作者,本仓库 LICENSE 未改)。分类属于 DSH 生态中的模型推理方向。

插件类型为 client + host(Web 客户端注入 + host 侧自动填充等逻辑)。它不改变 DSH 核心,只在官方「模型」页 DOM 上锚定注入,并与卡片自身的保存/取消行为对齐。

核心功能

下面介绍资料中已明确列出的能力。

官方页内编辑

展开某条模型行后,在官方容量字段下方会出现「选项」编辑块,包括:

  • 思考强度:勾选档位(off / minimal / low / medium / high / xhigh / max),并可填写线上取值(例如 Composer 选 High 时网关收到自定义字符串)。
  • 输入模态:勾选图片输入等,声明模型接受的模态。
  • 端点兼容(协议兼容时出现):在 openai-completions 上配置思考预算字段 / vLLM 优先级;在 openai-responses 上配置 max_output_tokens 的处理方式。

改动进入待写入状态,点卡片 保存 一并落盘;取消 或刷新则与卡片其他字段一起丢弃。

三种勾选意图:

  1. 全不勾 + 保存 → 取消声明(回到继承)。
  2. 只勾 off + 保存 → 禁用推理。
  3. 勾选具体档位 → 写入声明。

自动适配与自动填充

  • 自动适配:一键填入推荐档位、线上取值与模态;内置知识库(资料写明 15 家厂商 65 个条目)、线协议推断、同源 /models 探测,建议带置信度标注。
  • 自动填充:启动时补齐未声明模型的推荐声明;会话中新增模型也会补写。可通过配置关闭(见下文 autofill、modalityAutofill)。

Composer 与默认值

  • 官方模型菜单弹出体可替换为上游风格的思考强度滑块(拖动 / 键盘,乐观提交、被拒回滚),右下角触发钮保持原样。
  • 模型行上可设默认思考强度,写入设置文档,新会话打开该模型即使用。

请求头与 User-Agent

在提供商卡片内可编辑官方 headers 字段(掩码显示、路径合并),并按 origin 精确接管 fetch 层的 user-agent;同源 /models 探测一并覆盖。

防御式注入

注入锚定官方「模型」页 DOM。官方升级改变结构时,注入会暂停,官方页本身不受影响。

本 Fork 相对上游的改动

上游在提供商卡片上占用 settings.models.provider-card 席位注册请求头编辑器。该席位为 keyed slot:同一 (key, priority) 只能有一个条目。@linxin666/dsh-client-ui-model-capabilities(dsh-web 模型能力面板)与上游使用相同的 llm-pi-ai key 与默认优先级,并存时会导致模型能力面板静默消失。

本 Fork 将请求头编辑器改挂到卡片自身的编辑器容器,不再注册该席位,模型能力面板可正常显示;请求头编辑仍在卡片内。插件 id、host 路由前缀与包名已与上游分开,理论上可同 profile 并存,但资料建议只装一个,避免两套 UI 同时改同一份设置。

安装与启用

环境要求(来自 README badge 与 package 说明):

  • DeepSeek Harness >= 0.1.5-alpha.1(资料写明当前对照 0.2.0-rc.2 编译与门禁)。
  • Node ^22.19.0 || >=24。

从 npm 安装(推荐):

# 桌面版
dsh plugin --profile desktop add dsh-better-reasoning-effort-fish

# Web 版
dsh plugin --profile web add dsh-better-reasoning-effort-fish

DSH 内置 pnpm 的 minimum-release-age 为 24 小时:版本发布一天内的安装可能解析到「足够旧的最新版」。若要立刻安装指定版本,可写包名加版本,例如:

dsh plugin --profile web add dsh-better-reasoning-effort-fish@0.5.8

也可从 GitHub Release 的 tarball 安装(跳过 registry 与发布冷静期,升级时替换 URL 中的版本号):

dsh plugin --profile web add \
  https://github.com/Fish-under-sea/dsh-better-reasoning-effort-fish/releases/download/v<version>/dsh-better-reasoning-effort-fish-<version>.tgz

安装后重启 DSH 并强制刷新浏览器。

若曾使用 HanaAyane 的 dsh-reasoning-effort,资料建议先移除,避免 Composer 同一席位出现两个档位控件:

dsh plugin --profile web remove dsh-reasoning-effort

典型用法

经过上面的安装步骤后,可按下面流程配置第三方模型。

  1. 在官方「模型」页配置第三方供应商(API Key 等)。
  2. 展开目标模型行,在注入的编辑块中:
    - 勾选思考档位并填写线上取值(如需要);
    - 在「输入模态」区勾选图片输入等;
    - 需要时可点「自动适配」参考推荐值,再按需微调官方输入框;
    - 点卡片 保存 落盘。
  3. 需要自定义网关行为时,查看「端点兼容」分区并按协议类型开关相应项。
  4. 展开提供商卡片,在请求头区域编辑 user-agent 等(随卡片保存)。

声明完成后,该模型在 Composer 中应出现思考强度选择;声明了图片输入的模型可按 DSH 能力传附件。

可选配置

在 settings.yaml 的插件 config 块中可写:

配置键 默认值 说明
autofill true 启动时自动填充未声明模型的推荐声明
modalityAutofill true 自动填充是否连带输入模态
probeTimeoutMs 15000 /models 探测超时(毫秒)
bootRetryDelaysMs [1000, 2000, 4000, 8000, 16000, 30000] 启动自动填充失败后的重试延迟
defaultGuard true 无档位调用落厂商默认档,而非发送 thinking: disabled

示例:

- insert:
    - id: dsh-better-reasoning-effort-fish
      name: dsh-better-reasoning-effort-fish
      config:
        autofill: true
        modalityAutofill: true
        probeTimeoutMs: 15000
        bootRetryDelaysMs: [1000, 2000, 4000, 8000, 16000, 30000]
        defaultGuard: true

适用场景与注意

适合谁:在 DSH 里大量使用第三方 OpenAI 兼容网关或自建中转,需要在 UI 里声明思考档位与视觉模态,又不想长期手写 YAML 的开发者。

权限与安全:插件以当前 DSH 进程权限运行,会读写设置文档;安装前应阅读仓库源码与 MIT 许可证。资料明确:headers 中的凭据在磁盘上不脱敏(只读视图掩码,设置文件仍明文),请与 API Key 同等对待。

已知限制(摘要):

  • 注入依赖官方「模型」页 DOM,官方大改后需等待插件适配。
  • 自动适配探测仅应答回环与 IP 字面量 host,不跟随重定向。
  • reasoningEfforts 为声明性建议,端点实际行为以提供商文档为准。
  • 模态词汇跟随 pi-ai 核心(当前 text / image)。
  • 请求头区域依赖官方卡片编辑器容器结构;本 Fork 为共存让出席位,官方若改结构,请求头区域可能暂时不出现,但不破坏官方页。
  • 同一时间只应有一个 user-agent 改写器;插件会提示已知同类冲突。

社区插件目录(SkillHub)与 DeepSeek / 幻方无官方从属关系;星标等统计以目录页为准(线索中为 0)。

链接

本插件把 reasoningEfforts 与 input 从 YAML 搬回官方模型编辑卡,并针对 dsh-web 生态做了席位冲突修复;若你的 profile 里同时装模型能力类插件,优先评估本 Fork 是否更符合共存需求。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye