dsh-model-balance-panel:在 DSH 左侧栏查看各模型服务商余额与额度

前言

在 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)

典型用法

  1. 点击左侧栏钱包图标,面板自动刷新一次。
  2. 卡片按 DSH 实际注册的服务商生成:模型选择器里有什么,这里就有什么。
  3. 若显示「未配置凭证」,到 设置 → 模型 为该服务商填写 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 目录页。

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

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

Xiaoye