dsh-sidebar-quota-widget: Sidebar Quota Ring and Official Balance

前言

在 DSH(DeepSeek Harness)里同时接 DeepSeek 官方账号和若干第三方模型提供方时,额度分散在各家的控制台或 usage 接口里,侧边栏账号行本身不会汇总「还剩多少」。要判断 5 小时 / 7 天订阅额度是否够用,往往得切页面或记各家规则。下面介绍社区插件 dsh-sidebar-quota-widget(维护者 lakii2982,分类:客户端):在 Web GUI 侧边栏账号行展示 DeepSeek 官方余额,并在其上方用圆环展示本机已接入的其他提供方的 5 小时与 7 天剩余比例;Host 读真实接口,Client 只做 CSS 渲染,不引入额外依赖。

这是什么

dsh-sidebar-quota-widget 是 DSH Web GUI 的轻量 UI 插件:官方余额以类似 ¥12.34 的数字显示在用户菜单那一行的右端;每个已注册且排除 DeepSeek 官方路由的第三方提供方对应一个圆环,圆心为提供方 LOGO,内圈表示 7 天剩余、外圈表示 5 小时剩余,弧长对应剩余比例。提供方列表来自 DSH 的 LLM 注册表;没有额度适配器的 provider 会显示灰色空环并提示「暂无额度接口」。项目版本 1.0.0,许可证 MIT,Node >=20。

目录页:https://www.skillhub.cn/plugins/lakii2982/dsh-sidebar-quota-widget
源码:https://github.com/lakii2982/dsh-sidebar-quota-widget

核心功能

官方余额与圆环

  • 余额数字叠在账号行右侧,悬浮层 pointer-events: none,不挡住点击,点该行仍是原生用户菜单。
  • 每个第三方提供方一个圆环;颜色语义:剩余 ≥70% 绿色,40–70% 绿→琥珀渐变,15–40% 琥珀→红,<15% 红色。
  • 悬停或键盘聚焦时弹出与 DSH 原生菜单质感一致的卡片(使用 --dsw-specific-menu 等 token),展示 5 小时与 7 天剩余、重置倒计时与失败原因。

布局与刷新

  • 一行最多 5 个圆环,超出自动换行;亮/暗主题、侧边栏折叠、中/英多语言跟随 DSH。
  • Host 端 45 秒缓存,前端 60 秒轮询;侧边栏折叠为 56px 窄栏时插件隐藏且不轮询。

当前支持的额度接口

Host 在进程内请求下列接口(认证经 DSH 凭据解析,Key 不进前端):

provider id 额度接口 认证
opencode-go GET https://opencode.ai/zen/go/v1/usage Authorization: Bearer <key>
kimi-coding GET https://api.kimi.com/coding/v1/usages Authorization: Bearer <key>
zai-coding-cn GET https://open.bigmodel.cn/api/monitor/usage/quota/limit Authorization: Bearer <key>

凭据引用顺序(回退链,无需写进插件配置):

opencode-go   → OPENCODE_GO_API_KEY → OPENCODE_API_KEY
kimi-coding   → KIMI_CODING_API_KEY → KIMI_API_KEY
zai-coding-cn → ZAI_CODING_CN_API_KEY → ZAI_API_KEY

在 设置 → 模型 里接入对应 provider 并填好 Key 即可;插件不保存任何密钥。

安装与启用

前提:已安装 DSH Desktop / Web(含 Web GUI 与 Plugin Manager),且至少接入一个第三方模型提供方并在 DSH 凭据中配置对应 API Key。

  1. 将仓库克隆到本机任意目录:
git clone https://github.com/lakii2982/dsh-sidebar-quota-widget.git
  1. 以本地 bundle 安装(二选一):
    - 在 DSH 的 Plugin Manager / 设置里选择「安装本地 bundle」,指向克隆下来的目录;
    - 或让 DSH 里的 Agent 调用 plugin_manager 的 install_bundle,target 传该目录的绝对路径。

  2. 安装成功后插件会热更新进当前页面;若未出现,刷新一次页面。

插件以当前 DSH 进程权限运行;安装前建议阅读仓库源码与 MIT 许可证。社区目录 skillhub.cn 为独立站点,与 DeepSeek / 幻方无官方从属关系。

典型用法

安装并完成凭据配置后,无需单独配置文件:打开 Web GUI 侧边栏(非 56px 折叠态),即可在账号行看到官方余额与各已接入提供方的圆环。悬停圆环查看 5h/7d 明细与重置时间。

若需扩展新的提供方,维护者在 README 中给出的步骤为:

  1. 在 providers.mjs 实现 adapter(用 credential 请求 usage 接口,归一为 remainingPct / resetsAt;remainingPct 须为剩余百分比 0–100)。
  2. 在 PROVIDER_CREDENTIAL_CANDIDATES、PROVIDER_PRESENTATION、ADAPTERS 中登记。
  3. 新品牌可在 client.js 的 PROVIDER_LOGOS 增加单色 SVG 轮廓(currentColor)。

本地语法检查:

npm run check

适用场景与注意

适合:经常在 DSH 侧边栏切换账号、同时依赖 OpenCode Go、Kimi Coding、智谱 Z.AI 等已适配提供方,希望在同一视图里看 DeepSeek 余额与订阅额度剩余比例的用户。

安全与隐私(据 README):Key 仅在 Host 进程内经 ctx.credentials 解析;插件 HTTP 路由仅接受本机回环或与 DSH 配对的设备请求,跨站返回 403;响应仅含余额与百分比。

已知限制:

  • 三个 usage 接口属各家控制台用途、未公开文档化,上游改动可能导致某路失败;失败仅使对应圆环变灰并提示,不影响 DSH 本身。
  • 只覆盖 DSH 的 LLM provider;Claude Code / Codex 等子智能体不在此列。
  • 余额定位基于当前 DSH 账号行 44px 行高;大版本升级后若有偏移,可调整 client.js 里 .qw-balance-overlay 的 top / height。

结尾

dsh-sidebar-quota-widget 把 DeepSeek 官方余额与本地已接第三方提供方的 5 小时 / 7 天额度收进侧边栏,Host 拉真实数据、Client 用圆环与原生质感 tooltip 展示,轮询与折叠行为都按低打扰设计。进一步了解可在社区目录页查看条目,或在 GitHub 阅读 CONTRACT.md、RESEARCH-providers.md 与 VERIFICATION.md。

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

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

Xiaoye