DeepSeek Harness 思考强度策略插件

前言

在 DeepSeek Harness(DSH)中,思考强度不是任意运行时开关,而是严格的模型能力声明(reasoningEfforts)。官方目录中的模型(如 DeepSeek Reasoner、OpenAI o1/o3)自带该声明,在 DSH 的模型选择器中会直接显示二级菜单「Reasoning Effort >」。但第三方或自定义模型(如 StepFun 的 step-5-preview、智谱的 glm-5.3,或代理网关)在 DSH 的自定义模型设置界面中不暴露 reasoningEfforts 字段,导致 DSH 将其当作纯文本模型处理,隐藏了思考强度选择器。若强行发送参数,上游网关会返回 UNSUPPORTED_REASONING_EFFORT 错误。

dsh-think-intensity 是一个 DSH 思考强度策略插件,通过在已声明模型中补充 reasoningEfforts 声明,让 DSH 原生显示「Reasoning Effort >」菜单。插件由 fengzhiyushui 维护,当前版本为 0.1.0,采用 MIT 许可证。

插件定位

  • 名称:dsh-think-intensity
  • 维护者:fengzhiyushui
  • 分类:模型推理
  • 仓库:https://github.com/fengzhiyushui/dsh-think-intensity
  • 简介:在模型已有档位之上决定每次请求用哪一档思考强度,支持可观测、可回滚

核心功能

  1. 原生菜单激活:通过补充 reasoningEfforts 声明,让 DSH 在模型选择器中显示「Reasoning Effort >」二级菜单。插件不使用浮层或自定义滑块,而是完全使用 DSH 官方原生 UI 组件。
  2. 明确选择优先级:当用户在 UI 中手动选择某一档时,插件 100% 保持该选择,不做覆盖。
  3. 默认策略注入:当用户未手动选择时,插件根据配置注入默认档位。支持全局默认档位(defaultLevel)、子代理会话专用档位(subagentLevel)以及按任务目的映射(purposeLevels)。
  4. 自愈回退机制:在会话中自动记录被上游网关拒绝的档位,并在后续请求中避免重试,防止无限循环。
  5. 可逆与隔离:安装与卸载不会留下残留覆盖,卸载后配置回归 DSH 原生行为。

安装与启用

插件依赖 DSH 版本 >=0.1.7-rc.1 且 <0.3.0,Node.js 版本 >=22.19.0 或 >=24。推荐通过 npm 安装。

  1. 安装插件

桌面应用安装:

dsh plugin --profile desktop add dsh-think-intensity

Web 应用安装:

dsh plugin --profile web add dsh-think-intensity
  1. 通过 GitHub Release 标签安装(锁定版本)
dsh plugin --profile desktop add github:fengzhiyushui/dsh-think-intensity#v0.1.0
  1. 通过本地目录安装
dsh plugin --profile desktop add /path/to/dsh-think-intensity
  1. 卸载插件
dsh plugin --profile desktop remove dsh-think-intensity

# 验证卸载干净
dsh --profile desktop --dump-config

典型用法

  1. 配置文件路径

DSH 在各操作系统下将配置补丁存储在对应配置文件中:

OS Desktop App (desktop profile) Web App (web profile)
Windows %USERPROFILE%\.dsh\profiles\desktop\cordis.patch.yml %USERPROFILE%\.dsh\profiles\web\cordis.patch.yml
macOS ~/.dsh/profiles/desktop/cordis.patch.yml ~/.dsh/profiles/web/cordis.patch.yml
Linux ~/.dsh/profiles/desktop/cordis.patch.yml ~/.dsh/profiles/web/cordis.patch.yml
  1. 基础配置示例

在对应配置文件中添加 think-intensity 插件配置:

- id: think-intensity
  config:
    defaultLevel: high        # 未手动选择时的全局默认档位;空 = 不干预
    subagentLevel: max        # 子代理会话的专用档位;空 = 回退到 defaultLevel
    providers: []             # 白名单路由;空 = 所有路由
    purposeLevels:            # 按内部任务目的映射档位
      compaction: low         # 内存压缩时降低思考强度以节省 token
      session-title: off      # 会话标题生成时不开启思考
    backfillEnabled: true     # 自动回填缺失的 reasoningEfforts 声明(默认为 dry-run)
  1. 手动声明 reasoningEfforts(不使用自动回填)

如果不想启用自动回填,也可在 cordis.patch.yml 中手动为模型添加 reasoningEfforts 字段:

- id: llm-pi-ai
  name: "@deepseek-ai/dsh-llm-pi-ai"
  config:
    providers:
      stepfun:
        models:
          - id: step-5-preview
            name: step-5-preview
            contextWindow: 1024000
            reasoningEfforts:
              off: null       # off 表示不发送任何思考参数
              low: low
              medium: medium
              high: high
              max: max

重启 DSH 后,模型选择器中的「Reasoning Effort >」菜单将立即生效。

适用场景与注意

  • 适用场景:需要为第三方或自定义模型统一管理思考强度档位、希望避免手动拼接 reasoningEfforts 声明,或在子代理、特定任务(如会话标题生成、内存压缩)中差异化控制思考强度的场景。
  • 注意事项:
  • 插件以当前 DSH 进程权限运行,安装前应检查仓库源码与许可证(MIT)。
  • 升级 DSH 时需确认版本范围(>=0.1.7-rc.1 <0.3.0)与插件兼容性。
  • 配置项中 defaultLevel 与 subagentLevel 可为空,此时插件不会干预,仅依赖 DSH 原生行为。
  • 插件通过 cordis.patch.yml 修改配置,修改后建议重启 DSH 以确保生效。

结尾

dsh-think-intensity 提供了一套可观测、可回滚的思考强度管理方案,在不改变 DSH 原生 UI 交互的前提下,为第三方模型补全能力声明。如需查看更多细节或贡献代码,可访问插件目录页或 GitHub 仓库。

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

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

小夜