dsh-quota-panel:dsh web surface 的 Provider 额度/余额状态组件

前言

DSH 的理念是「一切皆插件」,社区插件可以扩展 dsh web surface 的页面能力。对于同时配置多个 provider 的智能体开发者来说,余额、用量窗口分散在不同 provider 接口中,页面里缺少一个统一查看的位置,同时也不宜让 API key 直接进入浏览器。

dsh-quota-panel 针对这个问题:它在 dsh web surface 右下角注入一个状态组件,并在服务端代理 provider 的 quota / balance 请求。

这是什么

dsh-quota-panel 由 brittanistrehlowll-oss 维护,采用 MIT 许可。它是一个 zero-dependency host plugin,面向 dsh web surface:为每个配置的 provider 注册一条服务端代理路由 /api/quota/<id>,并在页面右下角注入一个 Harness-native 状态组件。

该组件有两种形态:

  • 折叠 capsule:默认显示状态点和数值,适合快速查看。
  • 展开 card:显示完整 provider 状态信息。

核心能力

dsh-quota-panel 提供以下已核实能力:

  • 为每个配置的 provider 注册服务端代理路由 /api/quota/<id>
  • API key 通过 credentials seam 在服务端解析,不进入浏览器。
  • 浏览器只访问 /api/quota/<id>,由服务端继续请求 provider。
  • 在页面右下角注入 Harness-native 状态组件,包含 collapsed capsule 和 expanded card。
  • 支持 deepseek-balanceopencode-usage 两类格式。
  • 使用 battery-colored status dots 和 values,依据余额或用量阈值显示状态。
  • 自动刷新;页面隐藏时暂停刷新。
  • 手动刷新按钮在刷新期间会旋转,并忽略重入点击。
  • 跟随 Harness design tokens,适配 light/dark theme。

安装与启用

先使用插件安装命令把 dsh-quota-panel 添加到 web profile:

dsh plugin --profile web add "github:brittanistrehlowll-oss/dsh-quota-panel"

该包声明了 dsh.bundle.patch,因此 dsh plugin add 会把它作为 profile layer 自动激活。

如果 dsh web 正在运行,重启它。bundle layers 在启动时生效。

典型配置

在 profile 的 cordis.patch.yml 中,将 provider 配置放在 providers 下。下面是一个示例,同时配置 DeepSeek balance 和 OpenCode Go usage:

- id: quota-panel
  config:
    refreshMs: 30000
    providers:
      - id: deepseek
        label: DeepSeek
        credential: DEEPSEEK_API_KEY
        endpoint: https://api.deepseek.com/user/balance
        format: deepseek-balance
        balanceTiers: {10, 20, 50}
      - id: opencode-go
        label: OpenCode Go
        credential: OPENCODE_GO_API_KEY
        endpoint: https://opencode.ai/zen/go/v1/usage
        format: opencode-usage

示例中的 refreshMs: 30000 是覆盖默认值。资料给出的默认值如下:

  • refreshMs60000
  • balanceTiers{10, 20, 50}
  • windowLabels{滚, 周, 月}
  • warnPercent70
  • errorPercent90

常用配置项包括:

  • id:对应路由 /api/quota/<id>
  • label:卡片上显示的 provider 名称。
  • credential:credential reference。
  • endpoint:provider 的 quota / balance / usage 地址。
  • format:行渲染器,支持 deepseek-balanceopencode-usage
  • balanceTiers:余额阈值。
  • windowLabels:usage 窗口标签。
  • warnPercent / errorPercent:usage 阈值。
  • refreshMs:自动刷新间隔。

安全与使用注意

使用这个插件时,需要关注以下几点:

  • 插件以当前 dsh 进程权限运行。安装前建议检查源码、依赖范围和 MIT 许可证。
  • API key 在服务端通过 ctx.credentials 解析,只用于服务端到 provider 的请求。
  • 浏览器只与 /api/quota/<id> 通信,不直接持有或发送 provider API key。
  • 注入卡片使用 createElement / textContent 构建 DOM;API response values 不经过 innerHTML
  • 401、timeout、credential missing 等技术错误会放进 title hover 文本,而不是直接显示在卡片主体中。

结尾

dsh-quota-panel 的价值在于把 provider 的 quota / balance / usage 状态放进 dsh web surface,同时让 API key 留在服务端。它适合需要同时查看多个 provider 余额或用量状态,并且希望页面刷新逻辑跟随 Harness 主题的场景。

  • GitHub:https://github.com/brittanistrehlowll-oss/dsh-quota-panel
  • 插件目录线索:https://www.skillhub.cn/plugins/brittanistrehlowll-oss/dsh-quota-panel(来自插件线索,未出现在已抓取资料中)

社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。

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

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

小夜