dsh-model-ultra:为 DSH 0.2.0 提供 llm-pi-ai 提供商全生命周期管理

前言

DeepSeek Harness(DSH)在 0.2.0 系列里把 llm-pi-ai 的提供商配置收紧到 schema 与 volatile 路径:直接在 settings.yaml 里改 providers 虽然可行,但缺少统一的图形界面,也难以同时处理加密密钥、远端模型列表、思考强度档位、OpenRouter 路由改写和智能回退等能力。社区里也有针对 OpenRouter 的独立插件,但模型与路由往往分散在不同入口。

下面介绍维护者 MrCashmere 发布的 dsh-model-ultra(npm 包名同名,GitHub:MrCashmere/dsh-model-ultra)。它是面向 DSH 的静态 bundle 插件,在设置页增加「模型 Ultra」条目,为 llm-pi-ai 提供商提供从新建到观测的一整套 UI;兼容 DSH >= 0.2.0-rc.1,同时支持 Web(dsh web)与 Desktop 桌面应用,界面跟随 DSH 语言设置中英切换。

这是什么

dsh-model-ultra 的定位是:在 DSH 设置里接管 llm-pi-ai 提供商的全生命周期管理——CRUD、启用/禁用、远端发现、连通性测试、逐模型思考强度、OpenRouter 提供商路由、智能路由、组合提供商、探活与观测;并在插件卸载或禁用时把数据原样还原回 providers,避免配置滞留在只有插件认识的外来键里。

分类上属于模型推理类插件。当前 npm 版本为 2.0.2(以 package.json 与 README 为准),许可证 MIT。本包由 dsh-model-pro 更名而来:旧包不会自动迁移,需先卸载 dsh-model-pro 再安装 dsh-model-ultra。

兼容性要点

项目 说明
DSH >= 0.2.0-rc.1
Node(构建) >= 18
形态 Web GUI / Desktop
设置条目 id dsh-model-ultra(由 cordis.patch.yml 声明)

DSH 0.2.0-rc.1 有两处与旧插件相关的契约变化:Typert 严格编解码器要求 codec.create().parse();settings 写入只允许 volatile 路径,而 llm-pi-ai 仅 providers 为 volatile,因此本插件的扩展状态存放在插件自己的设置条目中,卸载时再合并回 providers。

核心功能

提供商与凭据

  • 提供商 CRUD:引导式三步向导新建,卡片列表带启用(绿)/禁用(琥珀)状态;可编辑 baseURL、api、apiKeyEnv、displayName 及自定义 HTTP 头(authorization / api-key 由适配器填充)。
  • 启用 / 禁用:禁用的提供商进入插件侧的 disabledProviders,从模型选择器隐藏,配置完整保留。
  • 密钥:GUI 粘贴 API Key 后以 AES-256-GCM 写入配置(文件侧为密文),并写入 DSH 凭据服务;主密钥存凭据服务且不重新生成,卸载重装后仍可解密旧密文。

模型列表与思考强度

  • 远端发现:对提供商执行 GET /models,支持全选/反选,选中项可「替换」或「合并」进显式模型列表;可为单模型设置「转发名」。
  • Thinking effort:路由级默认等级(off / minimal / low / medium / high / xhigh / max 等)与 token 预算、compat 字段;每个模型可「继承目录 / 非推理 / 自定义档位」,自定义时逐档填写发给网关的线上取值。保存后聊天框模型选择器会出现 Effort 栏,选项名与 DSH 档位一致,实际请求值由「线上取值」决定,无需重启。
  • 显式 models 列表写回 models[i];内置目录路由写 modelOverrides[id],避免把整份目录收窄成手写列表。

OpenRouter 提供商路由

对齐参考插件 dsh-openrouter-providers v1.3.0 的能力:白名单 only 或顺序 order、12 级量化限制、可选 HTTP-Referer / X-OpenRouter-Title / X-OpenRouter-Categories;默认生效主机 openrouter.ai 可改。启动期包装 globalThis.fetch,仅改写配置主机上含 model 的 JSON POST/PUT/PATCH,合并已有 provider 对象;卸载时还原 fetch。可从旧插件的 JSON 或 settings.yaml.imported 一键导入。

智能路由、组合与观测

  • 智能路由:命名路由(如 auto)聚合多 provider 模型,策略含 priority、weighted、round-robin、min-latency、sticky;首选不可达时在首个内容块产出前无感回退。
  • 组合提供商:多 provider 模型并集或交集,选择器显示为 composite / 组合名::模型。
  • 探活与观测台:对 provider + model 做最小真实请求;会话内请求日志与按路由/目标聚合统计;可选在回合下方显示实际服务的 provider/model 徽章。

连通性与卸载安全

「测试」页对选定模型发起极小真实推理,返回延迟、停止原因与回复内容。卸载或禁用插件时,将 disabledProviders 中的提供商还原到 providers,并拆除 OpenRouter 的 fetch 包装。

安装与启用

安装命令以 README 原文为准。

Desktop:打开 设置 → 插件 → 安装,填写 npm 包名:

dsh-model-ultra

Web(CLI / Web GUI):

dsh plugin --profile web add npm:dsh-model-ultra

作为项目依赖时:

npm install dsh-model-ultra

Host 半在启动时加载,安装后需重启 Desktop 应用或 dsh web 进程。成功安装后,profile 的 package.json 中会出现 dsh-model-ultra 依赖,且 dsh.profile.bundles 包含该 bundle。

本地联调可使用插件页填绝对路径,或 Web 端:

dsh plugin --profile web add file:/path/to/dsh-model-ultra

典型用法

  1. 安装并重启 DSH 后,在设置中打开 模型 Ultra 入口。
  2. 用向导新建提供商,补全 baseURL 与协议,在 GUI 中粘贴 API Key(加密存储),必要时添加自定义请求头。
  3. 在模型页拉取远端模型,合并或替换进列表;按需为模型配置转发名与 Effort 档位,保存后在聊天输入框的模型选择器里验证 Effort 下拉是否与预览一致。
  4. 若走 OpenRouter,在对应区块配置 only/order、量化与归属头,用页面上的塑形预览与请求计数确认注入是否生效。
  5. 需要多上游时配置智能路由或组合提供商,在模型选择器中选择 router / 路由名 或 composite / …;在观测台查看延迟、回退与探活状态。
  6. 发对话前在「测试」页对目标模型做一次连通性测试。

从 dsh-model-pro 升级时:先卸载旧包,再安装 dsh-model-ultra,禁用列表与设置条目 id 需在新条目里重新配置或手工迁移。

适用场景与注意

适合:已在 DSH 0.2.0-rc 及以上使用 llm-pi-ai、希望在图形界面里集中管理多家 API 提供商,并需要思考强度、OpenRouter 路由、智能回退与观测的生产或日常开发环境。

注意:

  • 插件以当前 DSH 进程的权限运行,会读写配置、凭据服务并在启用 OpenRouter 功能时包装全局 fetch;安装前应阅读 GitHub 源码 与 MIT 许可证,确认符合你的安全策略。
  • 智能路由的回退、探活与连通性测试都会发起真实 API 请求,可能产生费用与速率限制,请在测试页与路由配置里控制范围。
  • 社区目录 SkillHub 插件页 为独立生态站点,与 DeepSeek / 幻方无官方从属关系;版本与星标以各站点当时展示为准(目录线索星标为 0)。

结尾

dsh-model-ultra 把 DSH 0.2.0 下 llm-pi-ai 提供商的配置、路由与观测收到一个设置入口里,并强调卸载时的零丢失还原。若要查看安装说明与排错,请以 README 为准:

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

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

Xiaoye