DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Relay Reasoning — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
R

dsh-relay-reasoning

Relay Reasoning

让 DSH 支持中转站的推理等级:为每个模型提供关/低/中/高/max 五档可选,适配任意 OpenAI 兼容中转站。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:wuwan911-cell/dsh-relay-reasoning#2f275ffacdb6c083783216a4af65a66dafc7e78b
README兼容性版本

兼容性与来源证明

Relay Reasoning 以 dsh-relay-reasoning 发布,当前版本为 2.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/10/19

版本

2.1.0stable
2026/10/19
2.0.0stable
2026/10/18

相关插件

正在加载相关插件…

最新版
2.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
any
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/19
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 models-usage 分类下经过校验的插件。

Whale Widgetdsh-whale-widgetDSH Web 界面右下角的 DeepSeek 余额小鲸鱼挂件:余额/今日已用/峰谷定价、自定义泡泡点击序列(文本/余额/今日/峰谷/图片/随机语句与并列加权选择)、逐行样式与字体、悬浮快捷编辑、音效与每轮消耗、自定义角色/动图/音效、吸附与翻转自定义Usage@linxin666/dsh-usage用于 dsh Web GUI 的使用统计插件:检测各提供商的余额和编程套餐配额,并实时记录令牌使用情况;侧边栏 Settings 行上方显示紧凑的价格概览卡片Client Ui Model Capabilities@linxin666/dsh-client-ui-model-capabilities为自定义 pi-ai 提供商声明每个模型的能力(图像输入和推理力度),可直接在 Models 设置卡片中编辑;写入官方 llm-pi-ai 设置命名空间,不更改 DSH 源代码。Cost Meterdsh-cost-meterDeepSeek Harness 会话费用统计插件:本会话成本、当日费用、历史记录与官方价格同步,支持多厂商多模型价格计费(内置 170+ 模型 ID 价格目录与自动匹配)、主流 Coding Plan 订阅额度查询与显示(14 家,含 WorkBuddy 官方积分、OpenDesign 工作区查询、含小米 MiMo Token Plan 控制台 Cookie 查询、SCNet Token Plan 本地 Credits 计量与火山方舟 Volcano Ark Coding Plan AK/SK 签名查询

README

dsh-relay-reasoning

English | 中文

Real reasoning levels — off / low / medium / high / max — on every model of your OpenAI-compatible relay, right in the DSH model picker.

The problem

Relays such as a self-hosted gateway fronting many models accept the reasoning_effort request parameter, but DSH offers no reasoning control for them. The reason is structural: @deepseek-ai/dsh-llm-pi-ai only publishes selectable levels for a model whose reasoningEfforts field declares them, so a route configured by hand shows nothing.

Declaring those levels by hand means repeating seven lines for every model — and re-doing it whenever the model list changes.

What this plugin does

It writes reasoningEfforts into the llm-pi-ai profile entry for every model on the configured providers, and the picker immediately offers those levels. No restart, and no editing of your model list.

It keeps up with your configuration. The first pass runs at activation, and every later profile configuration reload — adding a relay or a model from the settings UI, editing a route — runs it again and fills in whatever is missing. A relay you connect while DSH is running gets its levels without a restart.

Why these five levels

pi-ai understands seven levels, but a relay does not distinguish all of them. Measured over three prompts and two passes on one relay route, median reasoning tokens per level:

Levelmedian reasoning tokens
off0
minimal108
low122
medium155
high142
xhigh125
max359

max is roughly double every other level, so it is a genuinely stronger tier and is included by default.

The five middle levels (minimal through xhigh) land within each other's noise on this route, so publishing them would only duplicate choices. They stay out by default but can be requested through levels if a route of yours does distinguish them.

If your relay turns out to ignore max, drop it with levels: [off, low, medium, high] so the picker does not offer a level that does nothing.

Install

From the DSH workshop (Settings → Workshop → Plugins), or directly:

plugin_manager install_bundle → dsh-relay-reasoning

Development builds can also be installed from a checkout:

plugin_manager install_bundle → <path to this repository>

Configuration

The plugin row takes an optional config:

- insert:
    - id: relay-reasoning
      name: dsh-relay-reasoning
      config:
        target: llm-pi-ai                 # profile entry id to configure
        providers: []                     # empty = every provider on that entry
        levels: [off, low, medium, high, max]  # published levels, ascending
        force: false                      # true = rewrite once at activation even if already correct
        debugLog: ""                      # optional file path for diagnostics

providers: [] means the plugin covers every provider on the entry, so adding a new relay needs no plugin change.

levels defaults to off, low, medium, high, max. Narrow it if your relay ignores a level:

levels: [off, low, medium, high]

Any subset of off, minimal, low, medium, high, xhigh, max is accepted; names are published in ascending order and unknown names are dropped.

Idempotent

A pass writes nothing when every model already declares exactly the configured levels; it inspects and stops. Updating the package, and the configuration reload caused by the plugin's own write, therefore never churn your configuration, and any leftover declaration from a manual setup is detected and rewritten.

Changing levels does rewrite the affected models, because their current declaration no longer matches.

force: true is honoured at activation only — it rewrites once, including declarations that are already correct. Later reloads ignore it, because honouring it every time would rewrite the same declaration and reload in a loop.

How it works

Three details are worth knowing if you read the source.

It does not override the llm-pi-ai row. A Cordis loader patch replaces a row's config wholesale rather than merging it, so a patch that added reasoningEfforts would erase baseURL, the credential reference, and the whole model list. The plugin instead calls settings.mutate() with path-scoped operations, touching only providers.<name>.models[i].reasoningEfforts.

It writes outside the transaction. The HMR config editor refuses to nest transactions, and its guard reads an AsyncLocalStorage store that survives awaits and timers, so deferring is not enough. The plugin runs the write through hmr.executing.exit() — the same mechanism dsh-hmr uses when wiring a config watcher from inside a transaction.

It listens to app-boot/config-reload. Every successful profile reload emits that event — including a relay added from the settings UI. The plugin inspects once shortly afterwards; a reload caused by its own write only finds everything already correct and stops, so there is no loop, and a burst of events collapses into one inspection.

Compatibility

  • Requires DSH >=0.2.1-rc.1.
  • No runtime dependencies: only node:fs and Host-provided services.
  • Works with any OpenAI-compatible route declared on the llm-pi-ai entry, not just one relay.

License

MIT