dsh-model-garden:给 DSH Web UI 增加可搜索、可排序、可看成本的模型选择器

前言

DeepSeek Harness(DSH)的社区生态强调「一切皆插件」;社区目录是独立站点,与 DeepSeek / 幻方没有官方从属关系。dsh-model-garden 是面向 DSH Web UI(dsh web)的静态 profile 插件。

它提供一个表格化模型选择器,用来处理模型数量较多时难以搜索、排序、筛选本地模型,以及看不到价格、上下文窗口、实时任务成本和会话成本明细的问题。

这是什么

下面先交代它由哪两部分组成:

  • 客户端:client.js,注册 conversation.input.model slot(priority -1,shadowing the native seat)并渲染模型选择器。
  • 宿主端:index.js,在 harness webServer 服务上提供三个同域 JSON 路由。

仓库地址:

https://github.com/mrdevlorx/dsh-model-garden

许可证:MIT

运行要求:package.json 声明需要 Node >=22

运行依赖:宿主端需要 web 栈(webServer 服务);在最小/TUI profile 中保持 inert,不阻塞启动。

核心功能

模型列表

  • 即时搜索模型名称和描述。
  • 按名称、上下文或价格排序;第三点击恢复按供应方分组视图。
  • 收藏模型并切换只显示收藏;收藏保存在 localStorage
  • 根据真实 endpoint 的 baseURL 判断本地 provider,并可筛选本地模型。
  • 供应方分组可折叠;折叠状态按 provider 保存。
  • 选择器挂载期间自动刷新模型目录,默认间隔 5 分钟且可配置。

价格与上下文窗口

  • 使用 models.dev 价格,按每 1M tokens 显示输入/输出价格;价格缓存 24 小时。
  • 本地模型保持未定价。
  • 订阅路由通过 PROVIDER_ALIASES 解析为按量参考价格。
  • 从宿主 llm 服务读取上下文窗口,并在需要时回退到 models.dev

成本与推理设置

  • 面板打开时始终显示实时每任务用量和成本(in / out / cache)。
  • 悬停近似成本可打开会话成本明细,支持复制摘要或导出排序后的 CSV。
  • 为支持推理级别的模型提供推理强度选择器;选择模型时始终从最强推理级别开始。
  • 详情提示显示描述、价格、上下文窗口、最大输出和推理强度。
  • 使用 harness 设计令牌适配浅色和深色主题。

安装与启用

1、使用 DSH 插件 CLI 安装:

dsh plugin --profile <profile> add dsh-model-garden

2、安装后重启 DSH server,并在浏览器硬刷新(Cmd/Ctrl+Shift+R)。

3、验证宿主路由是否可用:

curl -s http://127.0.0.1:3080/model-garden/catalog | head -c 200

这一步检查 /model-garden/catalog 返回的是 JSON 数据,而不是 HTML。

典型用法

宿主端点

宿主端提供以下同域 JSON 路由:

GET /model-garden/cost?session=<sessionId>
GET /model-garden/cost-history?session=<sessionId>&limit=<n>
GET /model-garden/catalog
  • /model-garden/cost:用于获取会话相关的用量/成本数据。
  • /model-garden/cost-history:用于获取会话成本明细,可通过 limit 限制返回步骤数量。
  • /model-garden/catalog:用于获取模型目录;选择器挂载期间会自动刷新。

从手动安装升级

如果之前用手动方式安装过旧 model-garden 依赖,先做两步:

1、移除旧 model-garden 依赖。

2、从 profile 的 cordis.patch.yml 删除手动 - insert: 行。

之后再按上面的插件 CLI 安装命令安装,避免插件重复挂载。

手动安装

如果不用插件 CLI,而用 npm 管理 profile:

1、添加依赖。

2、在 profile package.jsondsh.profile.bundles 中列出 dsh-model-garden

3、重新安装并重启 DSH server。

适用场景与注意

适合在 DSH Web UI 中使用多个 provider、本地模型、订阅路由,并且希望在选择模型时看到价格、上下文窗口、实时成本和会话成本明细的人。

安装前注意:

  • 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
  • 宿主端需要 web 栈;最小/TUI profile 中插件保持 inert。
  • package.json 声明需要 Node >=22
  • 本地模型保持未定价;订阅路由的参考价格依赖 PROVIDER_ALIASES 解析。

结尾

dsh-model-garden 的价值在于把 DSH Web UI 的模型选择从「能选」扩展到「能筛、能排、能看成本」。它不改变 DSH 的插件化运行方式,只是在 Web 端提供一组可搜索、可排序、可追溯成本的模型选择界面。

仓库地址:

https://github.com/mrdevlorx/dsh-model-garden
羽毛球分组比赛记分
小程序二维码

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

小夜