my-dsh-plugin/thinking-level-override 预览 preview

my-dsh-plugin/thinking-level-override

Plugin插件 Native原生 ⭐ 2 Apache-2.0 Prompts & Skills提示词与技能

自主覆盖与调整第三方模型的思考等级,修复工具内置预设缺失或不匹配的问题。

Project Overview项目介绍

This is a native plugin built exclusively for DeepSeek Harness (DSH) that resolves issues with missing or mismatched reasoning effort presets for third-party LLM models added to DSH via adapter catalogs. When a requested thinking level does not match what a model can actually serve, DSH normally fails the request before it reaches the LLM provider with an UNSUPPORTED_REASONING_EFFORT error. This plugin intercepts the request configuration before validation, rewrites the reasoning effort per user-defined rules, and repairs invalid requests instead of letting them fail. It registers as the outermost listener on the agent/request waterfall, so its override takes priority over any later changes from other listeners like model selection tools.

Users can configure the plugin in two ways, which can even be combined if needed. The simplest way is to use the DSH web GUI settings page, no YAML editing required: just open Settings → Thinking levels, check the actual supported levels for each model, and save, and the plugin automatically writes the correct configuration to your settings.yaml file. The more flexible approach is to write custom YAML rules that force, remap, or default reasoning levels per provider and model, using glob patterns to match whole model families at once. Rules update automatically after saving changes to settings.yaml, no restart is required for changes to take effect.

The plugin requires a working DSH installation to run, and offers multiple install methods depending on your use case. Developers working from source can install from a local directory or a git repository, and DSH Desktop users can run a one-line curl install script in a standard terminal to get set up in one step. The plugin only governs conversation requests sent through the agent/request waterfall, including subagent requests, and does not affect direct calls to ctx.llm.stream() with custom configurations. It cannot add reasoning capabilities that an adapter does not already declare, and only the first matching rule applies for any request. It is released under the permissive open source Apache 2.0 license.

这是一个专门为 DeepSeek Harness 开发的原生插件,作用是修复第三方模型推理深度预设缺失或不匹配的问题。当第三方模型通过适配器目录接入DSH时,经常会出现预设推理深度和实际能力不匹配的情况,会导致请求在送达模型提供商之前就因为不支持的推理努力错误失败。该插件会在请求配置验证前拦截请求,按用户定义的规则重写推理深度,避免请求失败。

用户可以通过两种方式使用本插件,两种方式还可以组合使用。一种是无需修改配置文件,直接在DSH的网页图形界面设置页面,为每个模型勾选实际支持的推理深度,插件会自动写入配置文件。另一种是直接在配置文件中编写规则,按提供商、模型强制指定、重映射或设置默认推理深度,修复不支持的推理深度请求。

本插件仅要求用户已安装DeepSeek Harness,支持从本地目录、Git仓库安装,桌面版DSH还提供一键安装脚本,执行一次即可完成安装。插件仅管控通过代理循环agent/request分发的对话请求,不会影响直接调用ctx.llm.stream()的请求,也不能添加适配器未声明的推理能力,所有规则第一条匹配生效,不合并重叠规则。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 warning1 项注意
  • Only 2 stars - very few users, little community feedback星标只有 2,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add github:my-dsh-plugin/thinking-level-override

把 my-dsh-plugin/thinking-level-override 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

thinking-level-override

English | 中文

A DeepSeek Harness plugin that fixes missing or mismatched thinking-level presets of third-party models: it overrides and adjusts the reasoning effort on every request, and lets you choose exactly which thinking levels each model offers.

Third-party models reach the harness through adapter catalogs whose reasoning presets do not always match reality: a selector offers a level the exact model cannot serve, a session inherits an effort across a model switch, or a deployment simply wants one level for a whole route. Left alone, such a request fails UNSUPPORTED_REASONING_EFFORT before it reaches the provider. This plugin intercepts the request configuration, rewrites the reasoning effort according to your rules, and repairs unserviceable levels instead of letting the request fail.

Quick start

You can use the plugin two ways — they can be combined:

A. Pick the offered levels on the Web settings page (no YAML). Open the Web GUI → Settings → Thinking levels (right below Models). For each model, check the levels it can actually serve, then Save. The conversation's model-selection dialog now offers exactly those levels — choosing the actual level still happens in the dialog. This writes each model's reasoningEfforts under llm-pi-ai in settings.yaml for you.

B. Write override rules in YAML. Rules force, default, or remap levels per provider/model, and repair levels a model cannot serve:

thinking-level-override:
  rules:
    # The kimi-k2 family on openrouter misreports its preset: always use high.
    - provider: openrouter
      models: ['kimi-k2*']
      effort: high
    # acme-gateway uses a different vocabulary: rename the levels, default to medium.
    - provider: acme-gateway
      map:
        max: high
        xhigh: high
      default: medium
    # legacy-gw cannot serve inherited efforts: drop them instead of failing.
    - provider: legacy-gw
      onUnsupported: drop

Rules are live: writes to settings.yaml are picked up by the next request, no restart.

How it works

The plugin listens to the agent/request waterfall — the documented interception point for the frozen call configuration — and transforms the resolved LlmCallConfig before the LLM seam validates it against the exact model capability. It registers with prepend, so the override is the outermost listener and has the last word over later listeners such as model selection. The loop logs the rewritten configuration through its normal request/header path, so every override stays durable and reconstructable from the session log.

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev dsh-testkit 下一个 Next dsh-valley-meter →