dsh-providers:为 DeepSeek Harness 管理模型供应商、登录与用量

前言

DeepSeek Harness 的理念是「一切皆插件」,社区可以把模型供应商、工作流和展示面板作为插件接入 DSH。日常使用 DSH 做智能体开发时,常见的问题不只是“能不能调用某个模型”,还包括:OAuth 账号和 API key 如何管理、模型列表是否最新、当天消耗了多少 token、估算花费是多少、订阅计划还剩多少额度。

dsh-providers 是一个面向 DeepSeek Harness 的模型供应商插件:用 OAuth 或 API key 登录,并尽量保持每个供应商的模型目录最新。它不是官方应用商店里的产品;DeepSeek Harness 社区目录是独立站点,与 DeepSeek / 幻方没有官方从属关系。

这是什么

dsh-providerstyql688 维护,许可证为 MIT。

它的一句话定位是:

Model providers for DeepSeek Harness: sign in with OAuth or an API key, and keep every provider’s model catalog current.

简单说,它把模型供应商的登录、模型列表刷新、用量查看和额度查看放到 DSH 的 web profile 中,减少开发者在多个模型供应商之间手工切换、查账单和维护模型列表的开销。

核心功能

账号与模型目录

下面介绍插件在账号和模型目录方面的能力。

  • 使用 OAuth 或 API key 登录。
  • 同一个供应商可以同时保持多个账号登录。
  • 从 curated catalog 刷新某个供应商的模型列表。
  • 读取 OpenAI 兼容的 /v1/models 端点。
  • 导入 OpenAI Codex CLI 已有的登录,而不是重新登录一遍。
  • 显示已保存的 API key、退出登录,并一步移除 route。

这里的“多账号”不是只保留一个当前 key。插件会把登录后的账号保留下来,开发者可以在同一个供应商下切换不同账号。

用量与费用

插件会展示与 token、费用相关的信息。

  • 侧边栏卡片显示当天的 token、估算费用、14 天趋势,以及 input / output / cache 的占比。
  • 用量视图支持 today、7 天、30 天、90 天和 all time。
  • 用量可按模型和供应商拆分。
  • 如果某个模型在 catalog 中没有价格,可以手动输入价格,相关数字会立即重新计算。

这里强调的是“本地查看与重算”:插件会基于已有数据和手工价格展示估算结果,方便判断一段时间内哪个模型、哪个供应商消耗更多。

额度

插件还会展示账号额度信息。

  • 订阅计划:显示 quota。
  • 按量付费账号:显示剩余 balance。
  • 查询从当前机器发出,使用已保存的凭据访问供应商自己的 API。
  • 到达浏览器的只是百分比和余额。

也就是说,敏感凭据不进入浏览器;浏览器端看到的是用于展示的百分比和余额。

会话统计

插件也会展示单个会话的统计。

  • token
  • cost
  • calls
  • tool calls
  • cache hit rate
  • context peak
  • per-call timeline

这些信息适合在跑完一次任务后,快速查看这次会话到底消耗了多少、工具调用多不多、上下文是否接近峰值。

刷新方式

插件不做后台轮询:

  • 侧边栏卡片在打开时刷新,并在页面重新可见时刷新。
  • 各个 tab 在打开时抓取数据。

这意味着它不会持续占用后台请求,数据更新与页面打开动作绑定。

安装与启用

从 GitHub 安装

先运行安装命令:

dsh plugin --profile web add github:tyql688/dsh-providers

这条命令会把 tyql688/dsh-providers 添加到 DSH 的 web profile。

首次 add 可能会因为 @google/genaiprotobufjs 出现 ERR_PNPM_IGNORED_BUILDS。按提示处理这两个 build 脚本后,再次运行同一条安装命令即可。也可以按下面的示例显式处理后再重试:

dsh plugin --profile web approve-builds '!@google/genai' '!protobufjs'
dsh plugin --profile web add github:tyql688/dsh-providers

从本地源码安装

如果已经有一份本地代码,可以按下面步骤安装当前目录:

git clone https://github.com/tyql688/dsh-providers.git
cd dsh-providers
pnpm install
dsh plugin --profile web add "$PWD"

pnpm install 用于准备本地依赖,最后一条命令把当前目录作为插件加入 DSH。

卸载

卸载命令如下:

dsh plugin --profile web remove dsh-providers

典型用法

下面是一些基于插件能力整理的使用路径。

  1. 安装插件后,在 DSH 的 web profile 中处理模型供应商登录。
    可以先用 OAuth 登录,也可以用 API key 登录。

  2. 对同一个供应商保留多个账号。
    之后可以在不同账号之间切换,而不必每次重新登录。

  3. 刷新模型列表。
    可以从 curated catalog 刷新,也可以读取 OpenAI 兼容的 /v1/models 端点。

  4. 查看用量。
    可以查看今天、7/30/90 天和 all time 的 token、费用,以及按模型、按供应商的拆分。

  5. 对未定价模型补充价格。
    输入价格后,相关估算数字会立即重新计算。

  6. 查看额度。
    订阅计划看 quota,按量付费账号看剩余 balance。

  7. 查看会话统计。
    在一次会话结束后,查看 token、cost、calls、tool calls、cache hit rate、context peak 和 per-call timeline。

文件与密钥

插件会把相关文件存放在 $DSH_HOME 下,默认目录是 ~/.dsh

文件 存放内容
auth.json OAuth tokens;API key 供应商更早的 key 归档
.credentials.yaml API keys
model-catalog.json 缓存的模型 catalog,包括价格
prices.json 手工输入的价格
settings.yaml Provider routes

密钥相关的行为如下:

  • 来自环境变量 environment variables 的 key 从不被存储。
  • Secrets 不出现到日志里。
  • API key 只在用户点击 reveal 时到达浏览器。
  • OAuth tokens 从不到达浏览器。

如果本地已经通过环境变量配置了 key,插件不会把它写进本地文件;本地文件里看到的是插件保存的账号、凭据、模型目录和路由配置。

适用场景与注意

这个插件适合:

  • 在 DSH 中同时使用多个模型供应商的开发者。
  • 需要同时管理 OAuth 登录和 API key 的用户。
  • 想在一个地方查看 token、费用、模型拆分和供应商拆分的用户。
  • 需要查看订阅 quota 或按量付费余额的用户。
  • 需要按会话查看上下文、调用和工具调用情况的智能体开发者。

使用前需要注意:

  • 插件以当前 dsh 进程权限运行。
  • 安装前应检查源码与许可证。
  • 许可证为 MIT。
  • 已验证的版本组合是 @deepseek-ai/dsh@0.1.1-rc.2,Node 22+
  • package.json 中的 engines 声明为 node ^22.19.0 || >=24.0.0
  • 首次安装可能遇到 ERR_PNPM_IGNORED_BUILDS,需要按提示处理 @google/genaiprotobufjs

结尾

dsh-providers 把模型供应商登录、模型目录刷新、用量估算和额度查看集中到 DSH 的 web profile 中。对于需要同时使用多个模型供应商的开发者来说,它的价值在于把“登录、看模型、看花费、看额度”这几件事放到同一个工具里处理,而不是分散到多个网页和命令行之间。

仓库地址:

https://github.com/tyql688/dsh-providers

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

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

小夜