🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

自定义推理等级 534119219/dsh-custom-provider-reasoning

DeepSeek 客户端
53411921964 天前有提交已提供中文文档扫描:未发现敏感能力兼容 / 相关生态

为自定义提供方模型补齐可选的思考强度并真实发往线上

31.1/100
综合分
4
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/534119219/dsh-custom-provider-reasoning.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
生态插件
可安装,未声明 dsh 能力
装得上吗
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 64 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-custom-provider-reasoning(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/12 04:19:07

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 自定义模型可选推理等级
  • 经原厂适配器发往线上

dsh 插件:让自定义服务商(pi-ai 手写路由)的所有模型都能选择思考强度(推理等级),选择经原厂适配器真正发往线上。

README

由 DeepSeek 最新模型翻译生成
dsh-custom-provider-reasoning dsh 宿主插件:让自定义提供方(GUI「添加自定义提供方」创建的、pi-ai 目录之外的手写路由)的所有模型,都能在 composer 的模型选择器里选择思考强度(推理等级),并且选择会真正发往线上。 问题背景 - composer 的模型选择器只在适配器为该确切模型公布了 reasoning 元数据时才显示推理等级行; - dsh-llm-pi-ai 只会从 llm-pi-ai 设置分节里模型条目的 reasoningEfforts 声明物化这份元数据; - 而设置 UI 刻意不写这个字段(推理强度是按模型的能力,提供方级控件无法表达)。 结果就是:内置提供方(如 DeepSeek)可选思考强度,自定义提供方的模型一律「当前模型未提供推理等级」。
展开完整文档(README 剩余 1 节)
dsh-custom-provider-reasoning

dsh 宿主插件:让自定义提供方(GUI「添加自定义提供方」创建的、pi-ai 目录之外的手写路由)的所有模型,都能在 composer 的模型选择器里选择思考强度(推理等级),并且选择会真正发往线上。

问题背景

- composer 的模型选择器只在适配器为该确切模型公布了 reasoning 元数据时才显示推理等级行;
- dsh-llm-pi-ai 只会从 llm-pi-ai 设置分节里模型条目的 reasoningEfforts 声明物化这份元数据;
- 而设置 UI 刻意不写这个字段(推理强度是按模型的能力,提供方级控件无法表达)。

结果就是:内置提供方(如 DeepSeek)可选思考强度,自定义提供方的模型一律「当前模型未提供推理等级」。

插件做什么

在支持的原厂配置缝上补齐缺口:每当 llm-pi-ai 设置变化或适配器目录发布时,插件自动为每个合格模型条目写入 reasoningEfforts(默认 off / low / medium / high / xhigh / max,wire 拼写与等级同名——OpenAI 兼容端点标准词汇),并补齐缺失的 maxTokens(默认 384000)与 contextWindow(默认 1000000)——因为手写路由在 pi-ai 目录里没有对应条目,不补的话 dsh 会回落到 32768 的保守输出上限,DeepSeek V4 这类思考模型光推理输出就会顶满截断。

插件还感知协议类型,自动管理路由级 compat:

- openai-completions:模型 id 含 deepseek 的路由自动补 compat.thinkingFormat: deepseek(用 DeepSeek 的 thinking 参数方言,而不是 OpenAI 的 reasoning_effort)。
- 所有 declared 自定义路由在 openai-completions 下自动补 compat.supportsDeveloperRole: false——因为 pi-ai 对未知端点默认判定支持 developer 角色,会把系统提示发成 role: "developer",而 new-api/one-api 系网关不认这个角色,直接返回 400。
- openai-responses / anthropic-messages:自动剥离 completions 专属的 thinkingFormat / supportsReasoningEffort,避免切换协议时残留无效开关导致校验报错。

于是你可以在三种接口(openai-completions / openai-responses / anthropic-messages)之间自由切换,不用手动增删 compat。reasoningEfforts 是协议无关的:三种协议都把它物化成 reasoning + thinkingLevelMap,只是线上拼写不同(completions 发 thinking/reasoning_effort,responses 发 reasoning: {effort},anthropic 发 thinking: {type, effort/budget})。

下游一切照旧走原厂链路:session.models / llm.models 目录 RPC、请求期校验(resolveCallConfig)、以及线上翻译(pi-ai 对 OpenAI 兼容端点发送 reasoning_effort: low|medium|high)。

合格规则

| 场景 | 是否注入 |
| 自定义路由(declared)上的模型,无 reasoningEfforts | ✅ 注入 |
| 目录路由上、pi-ai 目录未收录的模型(scope: all) | ✅ 注入 |
| 已有 reasoningEfforts 的模型(手调字典或显式 false) | ❌ 不覆盖 reasoningEfforts,但仍补缺失的 maxTokens/contextWindow |
| 缺 maxTokens 的模型 | ✅ 补 maxTokens(默认 384000,可配) |
| 缺 contextWindow 的模型 | ✅ 补 contextWindow(默认 1000000,可配) |
| pi-ai 目录已收录的模型(目录自带推理元数据) | ❌ 交给目录 |

\* 三个字段独立判断:reasoningEfforts 手写值始终权威,maxTokens/contextWindow 只在字段缺失时才补,已有值永不被覆盖。

\* 唯一例外:恰好等于内置默认字典(off/low/medium/high/xhigh/max)的 reasoningEfforts 只可能是插件自己写的,因此会在配置的 levels 变化时被自动刷新为新配置——这样在 patch 里调高 levels 能覆盖到插件已经处理过的提供方,而用户手写的配置始终权威。

注入是幂等的:模型一旦被覆盖就不再写入,不会与设置 UI 打架,也不会循环。

安装

把本目录加入 web profile(~/.dsh/profiles/web):

// package.json
{
"dependencies": {
"dsh-custom-provider-reasoning": "github:534119219/dsh-custom-provider-reasoning"
},
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"dsh-custom-provider-reasoning" // 追加到列表末尾 ] } } }

然后在 profile 目录执行:

pnpm install

重启 dsh web。启动后插件会自动把 reasoningEfforts 写入 ~/.dsh/settings.yaml 的自定义路由模型条目(例如):

llm-pi-ai:
providers:
scnet:
models:
- id: DeepSeek-V4-Pro
reasoningEfforts:yaml
off:
low: low
medium: medium
high: high

之后打开 composer 模型选择器,选择该模型即可看到推理等级(Default / Off / Low / Medium / High)。

配置

插件支持配置(放在 profile 的 cordis.patch.yml 对应行或插件设置页): yaml
- id: dsh-custom-provider-reasoning
name: 'dsh-custom-provider-reasoning'
config:
enabled: true # 总开关,默认 true scope: declared # declared(默认,只处理自定义路由)| all(额外覆盖目录路由上目录未收录的模型) verify: false # 发布后逐个 resolveModelInfo 并记录推理元数据(诊断用) maxTokens: 384000 # 缺 maxTokens 的模型补这个值;设 false 则不补 contextWindow: 1000000 # 缺 contextWindow 的模型补这个值;设 false 则不补 thinkingFormat: false # 默认 false 不写 thinkingFormat;确需 DeepSeek 方言时改成 deepseek defaultEffort: max # 路由级默认推理等级(profile.reasoning):路由未声明时写入,已有值不覆盖;设 false 则不管 supportsDeveloperRole: false # 自动为 declared 路由补 compat.supportsDeveloperRole;false=补 false(new-api 网关安全),true=补 true levels: off: # 留空 = 支持但不发送任何内容(端点用自己的默认) low: low medium: medium high: high xhigh: xhigh max: max

levels 的键必须是 pi-ai 的思考等级(off / minimal / low / medium / high / xhigh / max),值是对应线上拼写;除 off 外都必须是非空字符串。至少要有 off 之外的等级,否则插件拒绝启动(避免把路由配置弄成不可服务)。

maxTokens / contextWindow 只在对应字段缺失时回填,已手写的值永不被覆盖;默认值 384000 / 1000000 对齐 DeepSeek V4 官方规格。若你的自定义提供方是其他模型(上限更低),可在此调低;设 false 则完全不碰该字段。

thinkingFormat 控制路由级 compat.thinkingFormat 的管理:默认 false(不写 thinkingFormat,因为 dsh 对每次写入都做可用性校验,残留的 thinkingFormat 会让「切协议」这一写入本身先被拒绝,插件来不及清理);非 openai-completions 协议下始终自动剥离 completions 专属的 thinkingFormat / supportsReasoningEffort。只有端点确实需要 DeepSeek 的 thinking 参数时,才把它设成 deepseek(或 qwen/together 等)。

defaultEffort 管理路由级默认推理等级(profile.reasoning → 模型的 defaultEffort):默认 max,即新自定义提供方的模型在未显式选等级时使用 Max、选择器预选 Max(且不再显示「Default」选项)。只在路由未声明时写入,已有值永不被覆盖;设 false 关闭该管理。

supportsDeveloperRole 控制 compat.supportsDeveloperRole 的自动回填:默认 false,即对 declared 路由在 openai-completions 下自动补 supportsDeveloperRole: false(让系统提示走 system 角色,new-api/one-api 网关安全);设 true 则补 true(适用于真正支持 OpenAI developer 角色的端点)。只在字段缺失时写入,已手写的值永不被覆盖。

Anthropic Messages 获取模型补丁

当前 dsh-llm-pi-ai 的“获取可用模型”默认只读取 openai-completions / openai-responses 的 /models,因此 anthropic-messages 会提示必须手填模型。本仓库附带一个幂等补丁脚本,为其增加 Anthropic 风格 /v1/models 支持,同时保持 OpenAI 路径不变: bash
npm run patch:anthropic-discovery

脚本会自动探测 profile Junction / 全局 dsh 安装路径,也可显式传入目标文件: bash
node scripts/patch-anthropic-model-discovery.mjs "C:\\path\\to\\@deepseek-ai\\dsh-llm-pi-ai\\lib\\index.js"

行为:

- anthropic-messages 加入可发现协议;
- baseURL 不以 /v1 结尾时探测 /v1/models,已以 /v1 结尾时探测 /models;
- Anthropic 探测同时发送 Authorization: Bearer 与 x-api-key;
- 每次写入前生成 .bak-anthropic-discovery-* 备份;重复执行为安全 no-op;若上游代码结构变化则拒绝修改。

补丁改的是已安装的 dsh 核心包,不是本插件运行逻辑。pnpm install / dsh 升级可能覆盖它,覆盖后重新运行脚本并重启 dsh(或热重载 dsh-llm-pi-ai)。

注意事项
- 端点兼容性:默认按 OpenAI 兼容 reasoning_effort 词汇注入。若端点不认 reasoning_effort,请求可能报错——这时可以在 settings.yaml 里把该模型的 reasoningEfforts 改成端点支持的拼写,或直接设 reasoningEfforts: false 关闭(插件不会覆盖显式声明)。
- 方言端点:DeepSeek 系端点(模型 id 含 deepseek)在 openai-completions 下会自动补 compat.thinkingFormat: deepseek;其他方言(如 qwen / together)可用 thinkingFormat 配置改成对应值,或设 false 关闭自动管理后自行在 settings.yaml 配置。
- new-api / one-api 系网关会拒绝 developer 角色:pi-ai 对未知端点默认判定 supportsDeveloperRole: true,会把系统提示转换成 OpenAI o 系列专用的 role: "developer",而 new-api 系网关(国内常见)不认这个角色,直接返回 400 Format Error。插件现已自动为 declared 路由补 compat.supportsDeveloperRole: false(配置里可改成 true),无需手动处理。
- 运行时:插件启动即生效(写入设置后下一次请求边界生效);新增/编辑自定义提供方无需重启。已存在的自定义提供方(如 scnet)在插件写入 reasoningEfforts 后无需重启 GUI 即可看到推理等级——设置文件被 host 热加载。重启 GUI 只用于加载插件本身(保证未来新增的自定义提供方也被自动覆盖)。

工作原理(代码地图)

- lib/index.js — apply():监听 llm/adapters-updated、settings/updated、settings/document-updated,串行执行 refresh();planOps() 纯函数计算最小 settings.mutate 路径操作。
- 路由「自定义」判定来自 ctx.llm.listConfigurableProviders() 的 declared 标志(与设置 UI 的「自定义」标签同一来源),不依赖 pi-ai 内部实现。
预览分享卡片长什么样 ↓534119219/dsh-custom-provider-reasoning
分享 · DeepSeek Harness Hub
534119219/dsh-custom-provider-reasoning

为自定义提供方模型补齐可选的思考强度并真实发往线上

这是你的仓库?认领条目

回到顶部