DSH Hub
dsh-model-pro cover

wqy8593521/dsh-model-pro

dsh-model-pro

UIWeb UI0 GitHub stars· updated 2026-08-22

Model Pro — DSH plugin for llm-pi-ai provider lifecycle management

Install

npx @deepseek-ai/dsh plugin --profile web add npm:dsh-model-pro

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-model-pro DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-model-pro.svg)](https://dshhub.dev/plugins/dsh-model-pro)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from wqy8593521/dsh-model-pro, cleaned of badges and images.

dsh-model-pro · 模型 Pro

面向 DeepSeek Harness (DSH) 的动态 Cordis 插件,在设置页新增一个「模型 Pro」入口,为 llm-pi-ai 提供商提供全生命周期管理 UI:新建 / 编辑 / 删除、启用 / 禁用、拉取远端模型、连通性测试、智能路由、组合提供商、观测与探活——并在卸载时保证模型数据零丢失

中文文档 · 界面内置中英双语(跟随 DSH 语言设置自动切换)。


✨ 功能特性(Features)

提供商管理

  • 提供商 CRUD — 新建(引导式 3 步向导)、编辑、删除,卡片式列表带状态色条(绿=启用 / 琥珀=禁用)。
  • 启用 / 禁用 — 一键切换。禁用的提供商会移入 disabledProviders,从模型选择器中隐藏,但配置完整保留。
  • 字段编辑 — 逐项编辑 baseURLapi 协议、apiKeyEnvdisplayName(概览页附「就绪检查」清单)。
  • 自定义请求头 — 按提供商增删改 HTTP 请求头(authorization / api-key 由适配器自动填充,无需手填)。

密钥与凭据

  • 加密存储 — 在 GUI 中直接粘贴 API Key,以 AES-256-GCM 加密写入配置(配置文件只存密文),同时写入 DSH 凭据服务供请求时解析。
  • 按需解密查看 — 默认掩码显示,点「显示已存」可解密查看;加密主密钥存于凭据服务且永不重新生成,卸载重装后旧密文仍可解密。

模型

  • 远端模型发现 — 一键 GET /models 拉取,支持全选 / 取消全选 / 反选。
  • 批量写入模型 — 将选中模型「替换」或「合并」进提供商的显式模型列表。
  • 本地转发名映射 — 为某个模型设置「转发名」,选它时实际向 provider 发送映射后的模型名。

连通性测试

  • 真实连通性测试 —「测试」页对选定模型发起一次极小的真实推理,走完整凭据 / 请求头 / 协议链路,返回延迟、停止原因与回复内容,用来在依赖之前确认模型确实可用。

智能路由与组合

  • 智能路由 — 命名路由(如 auto)聚合多个 provider 的模型,支持 5 种策略priority(顺序优先+回退)/ weighted(按权重随机)/ round-robin(平滑加权轮询)/ min-latency(历史低延迟优先)/ sticky(会话粘滞)。可设每目标权重、启用开关、healthAware、会话粘滞、maxFallbacks、单目标超时。在模型选择器里选「router / 路由名」即用。
  • 无感切换(真实回退) — 首选目标不可达时自动换下一个目标:回退判定基于「首个内容块是否真正产出」,连接拒绝、HTTP 错误、空响应、超时(timeoutMs)都会在任何内容到达对话之前完成切换,对话无感知、不中断;调用方主动中止永不重试。回退成功的请求在观测台标记为 fallback
  • 组合提供商 — 把多个 provider 的模型合并成一个虚拟 provider,支持并集 / 交集两种模式(模型选择器中显示为 composite / 组合名::模型);交集非常适合同款模型多上游互备。

观测与健康

  • 探活(Probe) — 对每个目标(provider + model)发起真实最小请求,标记 up / down / probing 与连续失败次数;健康感知分发会自动跳过 down 的目标(可按路由关闭)。
  • 观测台 — 会话内请求日志(路由 → 目标、延迟、token)与聚合统计(按路由 / 按目标:调用次数、成功率、平均延迟、token 合计),以统计卡与表格呈现。
  • 对话提供商徽章(可开关) — 开启后,每个回合完成时会在其下方显示智能路由 / 组合实际选中并服务该回合的目标(provider/model),发生自动切换时标注「已无感切换」;在「智能路由 → 观测台」用「对话下方显示实际提供商」开关控制,偏好持久化保存。

卸载安全(零数据丢失)

  • 卸载不丢数据 — 当本插件被卸载或禁用时,会自动把 disabledProviders 中的每个提供商原样还原providers,避免模型配置滞留在只有本插件认识的外来键中。详见下文工作原理

📸 截图(Screenshots)

截图文件放在 docs/screenshots/ 目录下。首次使用请自行截图后替换以下占位图。

页面说明
仪表盘:全部 / 已启用 / 已禁用分段(带计数)、引导式 3 步新建向导、状态色条卡片
编辑器:概览(字段 + 就绪检查)/ 请求头 / 模型 / 测试 四个标签页
模型发现:拉取远端模型,支持全选 / 反选与批量写入
连通性测试:对单个模型跑真实推理,显示延迟与回复
智能路由:路由台 / 组合提供商 / 观测台 / 探活 四个子页

📦 安装教程(Installation)

DSH 的插件管理命令会转发给 pnpm,并要求用 --profile <name> 指定目标 Profile(Web GUI 通常是 web)。

方式一:从 npm 安装(推荐,预构建、无需构建脚本)

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

务必带 npm: 前缀。 registry 上的包已预置 dist/,安装时不会触发构建脚本。 若省略前缀写成 add dsh-model-pro,pnpm 可能把它解析为 git 源,进而执行 prepare 构建脚本,被 pnpm 10 的安全策略拦截并报 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED

方式二:从 GitHub 源安装(需允许构建脚本)

git 源不含预构建的 dist/,安装时靠 prepare 现场构建。pnpm 10 默认禁止 git 依赖 执行构建脚本,因此需先在 ~/.dsh/profiles/web/pnpm-workspace.yamlallowBuilds 下加入 dsh-model-pro: true,再执行:

dsh plugin --profile web add wqy8593521/dsh-model-pro

安装后重新打开(或刷新)DSH Web GUI,左侧「设置」中即出现「模型 Pro」入口。

方式三:从源码构建

git clone https://github.com/wqy8593521/dsh-model-pro.git
cd dsh-model-pro
npm install
npm run build       # 输出 dist/host.js + dist/client.js
npm test            # 运行冒烟测试(可选)

方式四:本地开发联调(软链安装,不发版)

在插件仓库根目录一键把本工作区软链进 Profile(等价于 dsh plugin --profile web add link:<本目录>,不拷贝、不触发 prepare 构建脚本,不受 pnpm 10 allowBuilds 限制):

Related plugins