前言¶
在 DeepSeek Harness 里同时挂几条 provider 路由是常见配置:DeepSeek 官方 API 跑主力,OpenRouter 做补充,再配一个走 ChatGPT 订阅的 OpenAI Codex。问题随之而来——各家的余额、用量、订阅窗口分散在各自的控制台,想知道会话会不会中途断粮,得逐个登录后台去查。
dsh-provider-usage 把这件事压缩成 Web GUI 上的一个悬浮球。下面按功能、安装、典型用法、注意事项的顺序介绍这个插件。
这是什么¶
dsh-provider-usage 是 lizhouai 维护的 DeepSeek Harness 插件,npm 包名 dsh-provider-usage,当前版本 0.3.12,许可证 MIT,在社区目录中归类为「客户端」。
它做的事:枚举当前 profile(ctx.llm)中注册的 provider 路由,按 kind 适配各家的余额/用量/订阅窗口查询接口,把结果集中显示在 Web GUI 上一个可拖动的悬浮球面板里;对没有公开余额接口的路由,也会明确标出而不是悄悄略过。
核心功能¶
自动检测路由¶
插件枚举 ctx.llm 中注册的 provider 路由,已知路由零配置:只要路由在 profile 里注册过,面板里就会出现对应条目。
按 kind 适配查询¶
每种 kind 对应不同的查询端点与展示内容,对照如下(来自 README):
| kind | 路由 | 查询 | 显示 |
|---|---|---|---|
deepseek |
deepseek-official、deepseek |
GET {baseURL}/user/balance |
total / granted / topped-up 余额 |
moonshot |
moonshotai-cn、moonshotai |
GET {baseURL}/users/me/balance |
可用 / 代金券 / 现金余额 |
kimi-coding |
kimi-coding |
GET {baseURL}/v1/usages |
每周用量 + 限流窗口、重置倒计时 |
openrouter |
openrouter |
GET {origin}/api/v1/credits |
credits 已用 / 总额度 |
github-copilot |
github-copilot |
GET api.github.com/copilot_internal/user |
付费版计划用量快照 / 免费版当月用量 |
openai-codex |
openai-codex |
GET {baseURL}/wham/usage |
ChatGPT 订阅 5h / 每周窗口 + credits + spend control(OAuth 登录,非 API key) |
openai |
openai |
GET {origin}/v1/organization/costs |
当月消费(需管理员 key,普通 key 返回 403) |
anthropic |
anthropic |
GET {baseURL}/v1/organizations/cost_report |
当月消费(需管理员 key,x-api-key 认证) |
minimax |
minimax、minimax-cn |
GET {origin}/v1/api/openplatform/coding_plan/remains |
Coding Plan 5h / 每周剩余百分比 |
zai |
zai、zai-coding-cn |
GET {origin}/api/monitor/usage/quota/limit |
GLM Coding Plan 窗口(原始 key 直放 Authorization,不加 Bearer) |
opencode |
opencode、opencode-go |
GET {baseURL}/usage |
Zen Go 滚动 / 每周 / 每月窗口 |
vercel-ai-gateway |
vercel-ai-gateway |
GET {baseURL}/v1/credits |
团队 credit 余额 |
xai |
xai |
GET {baseURL}/billing/credits |
预付余额(USD) |
没有公开余额/用量 API 的路由(Google、Mistral、Groq、Bedrock、Azure、Qwen Token Plan 等)会以 unsupported 标记列出,让你知道哪些查不了,而不是默默消失。
凭证不缓存、不落盘¶
API key 每次请求时经 harness credentials service 解析(环境变量 / ~/.dsh/.credentials.yaml),插件不缓存、不写盘。OAuth 类 provider(OpenAI Codex)则读取登录流程写入的授权记录,并在 token 即将过期时透明刷新。
悬浮球与面板¶
- 悬浮球可拖到视口任意位置,位置持久化;默认停靠聊天区左下角(边距相等),面板头的 home 按钮可一键归位。
- 面板上边缘可拖拽调整高度,高度持久化;provider 列表超出面板高度时可滚动。
- 光环实时反映当前聚焦会话正在使用的 provider 健康状态:绿色正常;黄色表示用量窗口剩余不足 30%,或余额低于黄色阈值;红色表示查询失败、缺 key、用量 ≥90%,或余额低于红色阈值。光环只跟「正在使用」的那一个:闲置的 provider 余额不足不会给球染色,切到余量充足的 provider,球立刻变绿。面板会标注正在使用的 provider,同时列出全部数字。
- 面板头部标题旁显示当前运行的插件版本号,加载的是哪个 release 一目了然。
- 中英双语,默认跟随 harness 语言,可在面板头一键切换,选择持久化在 localStorage。
可调参数¶
- 刷新间隔:15s–30min,在面板内调整,localStorage 持久化,默认值来自插件配置。
- 余额阈值:红/黄两档在面板底部编辑并持久化,按余额自身币种比较(CNY 或 USD 同样处理),默认红 <10、黄 <30;适用于余额类 provider(DeepSeek、Moonshot、Vercel AI Gateway、xAI)与用量类 provider 的 credits 行(OpenRouter、OpenAI Codex)。订阅计划与 credits 并存时(如 OpenAI Codex)取 OR 判定:任一有余量就保持绿色,两者都低时显示较轻的警告——计划通常先于 credits 消耗。
- 手动 provider:可通过配置添加任意网关,例如自建的 DeepSeek 兼容端点。
安装与启用¶
本文依据的资料中没有包含官方安装命令,这里不代为拼接。可以确认的信息有两点:
- 包已发布到 npm,包名
dsh-provider-usage,当前版本 0.3.12; - Node 引擎要求
^22.19.0 || >=24(package.json 的 engines 字段)。
具体安装步骤以 GitHub README 为准:https://github.com/lizhouai/dsh-provider-usage
典型用法:OpenAI Codex 走 OAuth 查订阅用量¶
OpenAI Codex 是 ChatGPT 订阅型 provider,用 OAuth access token 认证而非 API key,没有 key 可填。dsh 本身没有为这条路由提供 OAuth 登录按钮,但插件可以直接读取 harness credential store 里的授权记录。完整步骤如下。
1、先让路由出现在 ctx.llm。web profile 默认挂载 llm-pi-ai 适配器,空 profile 就够,在 ~/.dsh/settings.yaml 里写:
llm-pi-ai:
providers:
openai-codex: {}
2、通过 harness authorization seam 完成 OAuth 登录。dsh-llm-pi-ai 在 ctx.authorization 上为 openai-codex 注册了「OpenAI (ChatGPT Plus/Pro)」流程(凭证键 llm-pi-ai/openai-codex),在任意能跑该流程的入口用 ChatGPT 账号完成浏览器或设备码授权。授权记录随后写入 ~/.dsh/.credentials.yaml:
records:
llm-pi-ai/openai-codex:
kind: grant
payload:
type: oauth
access: <access token>
refresh: <refresh token>
expires: <epoch ms>
accountId: <chatgpt account id>
3、经过上面的步骤就不需要额外操作了。openai-codex 路由会被自动检测到,插件每次轮询都从凭证存储重新读取授权记录(不缓存),token 即将过期时自动刷新,面板显示 5 小时/每周用量窗口。
一个容易踩的坑:授权记录必须落在 harness credential store。dsh-codex 的 $DSH_HOME/.openai-codex-auth.json、Codex CLI 的 ~/.codex/auth.json 这类自管凭证文件不会写入这条记录,插件看不到。
适用场景与注意¶
适合谁:
- 同时配置多条 provider 路由、混用按量计费与订阅计划的 DSH 用户;
- 使用订阅型额度(Kimi Coding、MiniMax Coding Plan、GLM Coding Plan、OpenAI Codex 等)、想在窗口耗尽前提前感知的人;
- 想给自建 DeepSeek 兼容网关也挂上余额显示的场合(手动 provider)。
注意事项:
- OpenAI 与 Anthropic 的当月消费查询需要管理员 key,普通 key 返回 403(Anthropic 使用
x-api-key认证); - zai 路由的查询要求原始 key 直接放在 Authorization 头、不加 Bearer;
- 悬浮球位置/高度、刷新间隔、余额阈值、面板语言均持久化在 localStorage,默认值来自插件配置;
- 插件以当前 dsh 进程的权限运行,能读取 harness 凭证存储中的 key 与 OAuth 授权记录,并替你调用各 provider 的余额接口。安装前建议先浏览源码确认行为符合预期,同时核对许可证(本项目为 MIT)。
结尾¶
dsh-provider-usage 解决的问题很小也很具体:不用再为「还剩多少额度」登录各家控制台。如果你在 DSH 里维护着不止一条 provider 路由,它可以省下不少往返。
- 社区目录页:https://www.skillhub.cn/plugins/lizhouai/dsh-provider-usage
- GitHub:https://github.com/lizhouai/dsh-provider-usage
说明:skillhub.cn 为社区维护的插件目录,与 DeepSeek / 幻方无官方从属关系。