前言¶
用 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。
核心功能¶
入口与展示¶
- 侧边栏底部:在
Signed in to …账号行上方增加Limits按钮;点击在按钮上方展开读数,再点收起。 - 设置面板:页眉与各 General 页中的
Limits行打开同一份报告,不跳转页面、不弹对话框。 - 跟会话走:插件向 DSH 查询当前正在查看的聊天所用模型,只汇报该 Provider;换模型不影响旧会话应显示的归属;未知 Provider 会明确说明,而不是套用其他家的余额。
- 刷新策略:读数每 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。
- 获取代码:从 latest release 下载打包的
.tgz,或按仓库说明取得插件目录。 - 安装到指定 profile(目录或 tgz 二选一):
dsh plugin --profile <profile> add ./dsh-provider-limits
使用 release 的 .tgz 时,将路径换成下载文件即可。
- 重启 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。