dsh-provider-limits:在 DSH 侧边栏查看 OpenRouter 余额与 OpenCode Go 配额

前言

用 DeepSeek Harness(DSH)连 OpenRouter、OpenCode Go 等上游时,额度往往要另开控制台或查文档接口才能确认。对话里换模型、切会话时,还不一定记得当前用的是哪家 Provider。下面介绍的客户端插件把「还剩多少」放到应用内:侧边栏底部、设置页都能点开,并按当前会话所用模型去向对应上游拉数据。

这是什么

dsh-provider-limits 是 SavaStone 维护的 DSH 插件(MIT,当前版本 0.4.0),要求 DSH 0.2.2 或更高。它在不离开 DSH 的前提下展示 AI Provider 的剩余限额:OpenRouter 以 credit balance(金额)显示,OpenCode Go 以 quota windows(如 5 hours、Weekly、Monthly)显示百分比、彩色条与可选的重置倒计时。

插件归类为客户端(dsh.client.platform: web,immediately: true),通过 bundle 补丁挂进 DSH 界面,未发布到 npm。

核心功能

入口与展示

  1. 侧边栏底部:在 Signed in to … 账号行上方增加 Limits 按钮;点击在按钮上方展开读数,再点收起。
  2. 设置面板:页眉与各 General 页中的 Limits 行打开同一份报告,不跳转页面、不弹对话框。
  3. 跟会话走:插件向 DSH 查询当前正在查看的聊天所用模型,只汇报该 Provider;换模型不影响旧会话应显示的归属;未知 Provider 会明确说明,而不是套用其他家的余额。
  4. 刷新策略:读数每 30 秒、点击按钮、窗口重新获得焦点时更新;多份读数同时打开时,对同一 Provider 的请求至多每 20 秒一次,失败 5 秒后重试。

OpenRouter 与 OpenCode Go

  • OpenRouter:有金额时显示类似 OpenRouter credits are $10(金额为粗体)。
  • OpenCode Go:按窗口展示剩余或已用百分比、彩色进度条,以及 Provider 提供的 resets in … 倒计时。
  • 颜色含义:剩余充足为绿色;剩余 ≤35% 为琥珀色;剩余 ≤15% 为红色。进度条长度与数字独立编码,便于不依赖颜色辨认。
  • 不编造数据:Provider 未报告的窗口显示 unavailable,不会显示 0% left。

设置(Settings → General)

两项设置作用于整个应用,保存后立即生效并重启后保留:

配置项 选项 效果
Limit display Bars(默认)/ Percent 配额行显示条+百分比,或仅百分比;credit 句子不受此项影响。
Percentage shown Remaining(默认)/ Used 显示 72% left 或 28% used;绿/琥珀/红仍按剩余比例计算。

尚未支持的 Provider

读数会提示 Limits aren’t available for this provider yet.,并提供 Ask DeepSeek to add this provider。确认后会用英文草稿打开 Creator 模式(不会自动发送),便于你让智能体调研余额/配额 API 并扩展插件;Web 版在新标签页打开,桌面版在同一窗口新会话;失败时可复制到剪贴板或重试。

凭证

刷新时会重新读取密钥,轮换或新加 key 无需重启 DSH(改插件自身代码仍需重启):

Provider 凭证名
OpenRouter OPENROUTER_API_KEY
OpenCode Go OPENCODE_GO_API_KEY

可通过 DSH 凭证库或进程环境变量提供。未配置时读数会标明缺少的变量名,而不是显示虚假数字。

安装与启用

插件以 bundle 形式安装进 DSH profile,需 Node ≥20,依赖 @deepseek-ai/cordis ^4.0.5。

  1. 获取代码:从 latest release 下载打包的 .tgz,或按仓库说明取得插件目录。
  2. 安装到指定 profile(目录或 tgz 二选一):
dsh plugin --profile <profile> add ./dsh-provider-limits

使用 release 的 .tgz 时,将路径换成下载文件即可。

  1. 重启 DSH。宿主侧在启动时加载,运行中仅添加 bundle 不够。

无需在 profile 文件里单独写插件配置:包内自带 bundle patch,安装命令会把它加入 profile 的 bundle 列表。更新时拉取新代码或新 tarball 后同样需重启。

典型用法

在侧边栏底部、设置页眉或 General 的 Limits 行点击 Limits,报告就地展开;再点一次关闭。

OpenRouter 示例:

OpenRouter credits are $10

OpenCode Go 示例(Bars + Remaining 时):

OpenCode Go
5 hours        72% left
━━━━━━━━━━━━━━━━━━━━━━░
resets in 3h 12m

Weekly         45% left
━━━━━━━━━━━━━━░

Monthly         8% left
━━━░
resets in 6d

适用场景与注意

适合谁:经常在 DSH 里切换 OpenRouter / OpenCode Go,又希望在当前会话上下文里一眼看到额度或配额窗口的开发者。

运行与安全:插件与当前 DSH 进程同权限运行,会携带你配置的 API key 向上游查询。安装前建议阅读 仓库源码 与 MIT 许可证,确认可接受其网络访问与凭证读取方式。

环境要求:DSH 0.2.2+ 才有与账号行对齐的页脚布局;0.4.0 插件本身无额外 profile 配置项。

故障时界面会给出原因(例如缺少某环境变量名),可按 README 中的 Troubleshooting 表对照处理;补全凭证后再次点击 Limits 即可,一般不需要重启。

结尾

dsh-provider-limits 把 Provider 剩余额度收进 DSH 客户端:跟当前聊天、自动刷新、可配置展示方式,并保留通过 Creator 请求扩展 Provider 的路径。社区目录页:https://www.skillhub.cn/plugins/SavaStone/dsh-provider-limits;源码与完整说明:https://github.com/SavaStone/dsh-provider-limits。

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

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

小夜