前言¶
在 DeepSeek Harness(DSH)里切换多个模型服务商时,余额和额度往往分散在各家的控制台或文档里。改模型前想确认「还能不能用、还剩多少」,通常要另开页面或凭记忆判断。社区插件 dsh-model-balance-panel 在 DSH Web 界面左侧栏增加一个入口,把当前已配置服务商的余额与额度集中展示,数据来自各服务商自己的账户接口,每次进入面板都会刷新。
这是什么¶
dsh-model-balance-panel 由 qianhuang0721 维护,分类为客户端插件,当前版本 0.1.0,许可证 MIT。它不是 DeepSeek 官方组件;余额数字来自第三方接口,仅供参考,以服务商账单为准。
插件在 DSH 左侧栏增加钱包形图标(排在「插件」「定时」之后),点开即可查看 DSH 里已注册模型服务商各自的余额或 5 小时 / 周 / 月额度。卡片列表与 DSH 模型选择器一致,不会凭空出现未配置的服务商。
核心功能¶
左栏与卡片¶
- 左侧栏钱包图标 → 切换到余额面板;挂载时自动拉取一次,右上角另有「刷新」按钮。
- 每个服务商一张卡片:上方是该服务商的模型清单(当前在用的模型高亮),下方是余额或额度信息。
两种展示方式¶
订阅 / 额度制(例如 OpenCode Go):显示 5 小时、周、月三条进度条,含已用百分比、按满额度折算的剩余金额、重置时间;已用 ≥70% 变黄,≥90% 变红。
金额制(DeepSeek API Key 或 DSH 登录账号):显示可用余额,以及赠送、充值两个分项。
状态与刷新策略¶
状态会如实标注:已同步、未配置凭证、不支持查询、查询失败(附原因)。取不到数据时不会显示假的 0。
宿主侧对快照有 5 秒内复用,并合并并发请求,连点刷新不会频繁打爆上游接口;强制刷新可用快照路由的 ?force=1。
支持的服务商¶
| provider id | 余额来源 | 展示 |
|---|---|---|
opencode-go |
GET https://opencode.ai/zen/go/v1/usage |
5 小时 / 周 / 月三窗口 |
commandcode |
GET https://api.commandcode.ai/alpha/* |
月额度;有 windowLimits 时补 5 小时 / 周窗口 |
deepseek-official、deepseek |
GET https://api.deepseek.com/user/balance |
账户金额 |
deepseek-account |
ctx.deepseekAccount.getBalance()(无 API Key,走登录态) |
账户金额 |
没有余额接口的服务商仍会出现在面板上,卡片标明「不支持查询」。deepseek-official 与 deepseek-account 是两条独立路由:前者扣 API Key 所属开放平台账户,后者扣 DSH 登录账号,金额通常不相同。
安装与启用¶
应用内(推荐):设置 → 插件 → 从 Git / 本地目录安装,填入仓库地址 https://github.com/qianhuang0721/dsh-model-balance-panel 或本地路径。
命令行(profile 名按环境选择,桌面端一般为 desktop,dsh web 一般为 web):
dsh plugin --profile <你的 profile> add "git+https://github.com/qianhuang0721/dsh-model-balance-panel.git#v0.1.0"
安装后刷新页面即可看到左栏图标。本包无 npm 依赖、无安装脚本,无需构建。
环境要求(来自 package.json):
- DSH
>= 0.2.1-rc.3(在 0.2.1-rc.3 上实测) - Node.js
>= 22.12.0(使用全局fetch与AbortSignal.timeout)
典型用法¶
- 点击左侧栏钱包图标,面板自动刷新一次。
- 卡片按 DSH 实际注册的服务商生成:模型选择器里有什么,这里就有什么。
- 若显示「未配置凭证」,到 设置 → 模型 为该服务商填写 API Key(或完成 DSH 登录),回到面板点「刷新」。
| 服务商 | 需要的凭证(环境变量名 / DSH 凭证引用) |
|---|---|
opencode-go |
OPENCODE_GO_API_KEY |
commandcode |
COMMANDCODE_API_KEY |
deepseek-official |
DEEPSEEK_API_KEY |
deepseek-account |
无,登录 DSH 账号即可 |
工作原理(简要)¶
浏览器侧 client.js 注册 sidebar.panellist 图标与 main 面板;点击后通过 GET /dsh-model-balance-panel/snapshot 向宿主 index.js 取快照。宿主侧会调用 ctx.llm.listProviders()、listModels()、agentDefaultModel.currentSelection(),经 ctx.credentials.resolve() 解析凭证后请求各服务商账户接口(Bearer,20 秒超时并重试)。凭证只用于上游请求,API Key 不进响应、不进页面、不落盘。快照路由 GET-only、no-store,只返回数字;插件未额外加鉴权,与页面同源。
扩展新服务商时,在 index.js 的 PROVIDERS 里增加 id、凭证引用与取数函数即可,浏览器半侧无需改动。
适用场景与注意¶
适合:长期在 DSH 里轮换 OpenCode Go、CommandCode、DeepSeek 官方 Key 或 DSH 账号等多路模型,希望在同一界面快速核对余额与额度窗口的使用情况。
注意:
- 插件以当前 DSH 进程权限运行;安装前应阅读 源码 与 MIT 许可证,确认可接受其网络请求与凭证解析方式。
- 只读取余额与额度数字,不读取对话、不采集遥测;上游请求仅含鉴权头与必要查询参数。
- 只依赖 DSH 公开扩展点,不 import
@deepseek-ai/*运行时包,避免因 peer 依赖导致插件整行失效。
DSH 生态强调「一切皆插件」;社区目录 SkillHub 插件页 为独立站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
经过上面的介绍,dsh-model-balance-panel 的价值可以概括为:把「已配置模型服务商还剩多少钱、额度窗口用到哪了」收进 DSH 左侧栏,进入即刷新,状态如实、不伪造零值。需要安装或反馈问题时,可访问 GitHub 仓库 或 SkillHub 目录页。