dsh-plugin-relay:在 DSH 里统一管理 new-api 系中转面板

前言

用 DeepSeek Harness(dsh)做智能体或对话开发时,模型请求往往要走自建或第三方的 new-api 系中转面板(one-api、new-api、Veloera、done-hub 等)。常见做法是手写 base URL、在环境里塞 API Key、再单独打开面板网页查余额和日志——面板换一家,配置又要改一轮。

dsh-plugin-relay(维护者 jdz321,GitHub:jdz321/dsh-plugin-relay)把「连面板、管密钥、同步模型、看用量、补能力元数据」收进 dsh 的 Plugins 设置页,走图形界面即可,不必为每个面板手写配置文件。自 v0.6.0 起可同时连接多个面板,每个面板在 dsh 里对应独立的模型提供方,在模型选择器里并列可选。

这是什么

插件分类为模型推理。一句话定位:把 dsh 的模型流量路由到任意 new-api 家族中转面板,并在 dsh 内完成连接、密钥与模型目录管理。当前 package 版本为 0.7.1,许可证 MIT。

插件不内置某一家面板的默认地址;连接信息由你在 UI 里填写。插件也不替你设 dsh 的默认模型——默认模型仍在 dsh 本体里选择。

核心功能

下面按 README 已说明的能力归纳,均可在安装后于 Settings → Relay 使用。

多面板连接(Connection)

  • Connection 页用手风琴列表展示已连接面板:折叠行可概览账号、余额、已同步模型、当前生效密钥(账号信息懒加载,单个面板不可达不会拖死整表)。
  • 展开某一行后,在同一行内嵌四个子页:API keys、Models、Dashboard、Usage logs;同一时间最多展开一个面板。
  • 通过 Add panel 新增:名称(创建后不可改,且作为 dsh 里该提供方的名称)、base URL、access token(仅写入、不回显)、user ID。没有「编辑连接」表单;要改连接需删除后重建。
  • Test connection 会区分:网络不可达、token 无效、user ID 不匹配。
  • 删除面板时会提示:该面板的 capability 覆盖会被移除,且若 dsh 默认模型指向该面板也需留意。

API 密钥(按面板)

  • 创建、编辑(名称 / 分组 / 额度 / 过期 / 启用禁用)、删除;点 Use 一键切换当前密钥。
  • 编辑方式为行内展开卡片(与 dsh 官方 Models 页类似),Apply 立即写入;失败时卡片保持打开。删除有确认对话框。
  • 密钥明文不进入浏览器:创建响应在服务端剥离;「创建并设为当前」走常规切换流程,密钥只进入 dsh 凭证存储。

模型列表与定价(Models)

  • 展示当前生效密钥可调用的模型及定价,覆盖该面板家族常见的三种计费表述:按 token 的美元价($/1M tokens)、按次固定价、以及 ratio(模型倍率 × 分组倍率)。
  • 刷新列表会同步进 dsh,运行中的会话在下次请求即可用到更新后的目录。

仪表盘与日志(Dashboard / Usage logs)

  • Dashboard:余额、今日消费、汇总,以及手绘 SVG 的按模型堆叠用量图;指标可在花费 / token / 双轴之间切换(双轴时左侧为花费柱、右侧为每日 token 合计线)。支持 7 / 14 / 30 天范围;Top-N 折叠(超出前 7 的模型合并为灰色「Other」);图例可点击隐藏。摘要四卡固定单行排列。
  • Usage logs:面板请求日志,带 usage / RPM / TPM 摘要;可按时间、模型、密钥、分组筛选;单条记录含 cache、reasoning token 及首包时间等。

模型能力(Capabilities)

  • 结合 预设知识库(运行时从 models.dev 拉取主流模型:官方作者提供方、近一年内发布、对话类模型;每天自动刷新一次并缓存在 dsh 本地存储;Refresh presets 可立即重拉)与你自定义条目、以及按面板按模型 id 的覆盖。
  • 各区块行内编辑,Done 即保存,无全局保存按钮。上下文窗口与 输出上限 支持 128K、1M 等 1024 进制简写,并带实时换算提示。
  • 匹配规则分层:覆盖 → 知识库(精确 → 大小写折叠 → 去变体后缀 → 版本分隔符互换 → 唯一变体补全 → 策划别名);近似命中会标记并显示匹配到的名称。
  • Platform models 按面板分组,覆盖指示条各段可点击,按来源筛选(preset / knowledge / override / unconfigured)。

多提供方与热更新

  • 每个面板是独立的 pi-ai 提供方(openai-completions,baseURL 为 <面板>/v1,各自凭证引用),会话里可同时看到所有面板的模型,按提供方命名空间区分。
  • 凭证、模型目录、能力配置经 dsh 的 settings/credentials 服务下发;运行中的会话在下一次请求应用变更,无需重启 dsh。

安装与启用

环境要求(来自 README):dsh ≥ 0.2.1-alpha.2、Node ≥ 20,且 pnpm 在 PATH 中(dsh 通过 pnpm 安装插件)。

# from npm (once published)
dsh plugin --profile web add dsh-plugin-relay

# or from a local clone
npm install && npm run build
dsh plugin --profile web add /path/to/dsh-plugin-relay

若使用 headless 会话,将 --profile web 换成 --profile headless 即可。安装后重启 dsh web,打开 Plugins 面板 → Relay。

插件以当前 dsh 进程权限运行;安装前请自行查看 仓库源码 与 MIT 许可证,确认可接受其网络访问与凭证处理方式。

典型用法

按 README 用法顺序,可复现如下流程。

  1. 打开 Settings → Relay → Connection,点 Add panel,填写:名称(字母、数字、_、-,≤32 字符,即模型提供方名)、面板根地址(不要带 /v1 后缀)、面板个人页上的 access token(client token / access token)、以及同页显示的 user ID。先用 Test connection 校验三项再建密钥。
  2. 点击面板行行内展开。在 API keys 下创建密钥,或在已有密钥上点 Use。插件把密钥写入 dsh 凭证存储、建立该面板的模型路由,并同步该密钥的模型目录。可对多个面板重复此步,彼此并行生效。
  3. 在 Models 核对各模型定价;需要时刷新,使 dsh 路由目录与密钥实际可调用的模型一致。
  4. 在 Dashboard、Usage logs 只读查看余额与消费(调用面板报表类 API)。
  5. 在 Capabilities 主页浏览预设(可搜索,默认折叠),需要微调时可复制到 My entries;预设首次使用自动拉取,之后每天更新一次。仅当某个模型 id 在某面板上需要不同参数时,编辑对应 platform-model 卡片,Done 立即对该面板生效。

选模型时,在 dsh 模型选择器里按各面板对应的提供方名称挑选即可;插件不管理 dsh 默认模型。

适用场景与注意

适合谁:已经在用或打算用 one-api、new-api、Veloera、done-hub 等 new-api 系面板,希望 dsh 会话统一走这些面板,且希望在 dsh 内完成多面板、多密钥与模型目录运维的开发者。

注意:

  • 社区插件目录页(skillhub.cn 上的条目)为独立站点,与 DeepSeek / 幻方无官方从属关系;安装来源以 GitHub README 为准。
  • 连接字段(含 token)保存在插件 composition 配置中,token 为机密字段、传输时会脱敏;仍建议在可信环境中运行 dsh,并定期轮换面板 token。
  • 删除面板会移除对应 pi-ai 提供方、该面板的 capability 覆盖与凭证引用;全局知识库条目保留。

结尾

dsh-plugin-relay 把 new-api 系中转面板接进 dsh 的插件体系:多面板并列、密钥与模型目录在 UI 内闭环,用量与能力配置也跟面板和 models.dev 预设对齐。若你正在 dsh 里接中转站,可从目录页或仓库 README 的安装命令起步。

  • 目录页:https://www.skillhub.cn/plugins/jdz321/dsh-plugin-relay
  • GitHub:https://github.com/jdz321/dsh-plugin-relay
羽毛球分组比赛记分
小程序二维码

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

小夜