dsh-go-balance:在 DSH Web 工具行查看 OpenCode Go 订阅余额

前言

DSH 通过插件扩展 Web 界面。如果你在 DSH Web 中使用 OpenCode Go 订阅,dsh-go-balance 会把滚动、每周、每月三个配额窗口的剩余百分比放到输入框工具行右侧,方便在输入附近查看额度。

这是什么

dsh-go-balanceiamfromchangsha 维护的 DSH Web 插件,许可证为 MIT。它面向 DSH Web UI,在输入框工具行右端显示 OpenCode Go 订阅余额胶囊。

核心功能

  • 在 DSH Web 输入框工具行右侧显示 OpenCode Go 订阅余额胶囊,展示滚动、每周、每月剩余百分比。
  • 使用 API 密钥轮询 https://opencode.ai/zen/go/v1/usage,获取配额剩余数据。
  • 悬停显示已用百分比、各窗口重置时间、数据更新时间。
  • 低余额警示:任一窗口剩余低于 30% 变黄,低于 15% 变红。
  • 刷新失败时保留上次快照并淡化标记;未配置凭据或尚无数据时不渲染。
  • API 密钥运行时经 DSH 凭据服务解析,仅留在 host 进程内;仓库不含密钥,且不下发到浏览器。
  • 包含并发去重、错误脱敏、Origin 防护、每地址 120 次/分钟速率限制以及 percent 范围校验。

安装与启用

先确认你有有效的 OpenCode Go 订阅,并准备 OPENCODE_ZERO_API_KEY 凭据。

1、安装插件:

dsh plugin --profile web add dsh-go-balance

2、重启 DSH:

dsh web

安装后插件会自动加入 profile 的 bundle 层,无需其他配置。

也可以从 GitHub 仓库安装:

dsh plugin --profile web add github:iamfromchangsha/dsh-go-balance

在插件仓库目录下执行本地开发目录安装:

dsh plugin --profile web add file:./

典型用法

配置凭据:在 $DSH_HOME/.credentials.yaml 或进程环境变量中设置 OPENCODE_ZERO_API_KEY。这里的值是你的 Go 订阅 API 密钥。

重启 DSH 后打开 Web 界面,输入框工具行右侧会出现余额胶囊。悬停胶囊可查看已用百分比、各窗口重置时间和数据更新时间。

如需覆盖轮询间隔,在 $DSH_HOME/profiles/web/cordis.patch.yml 中配置:

- id: go-balance
  config:
    intervalMs: 120000

intervalMs 用于覆盖轮询间隔,单位由键名表示为毫秒。

开发或校验插件文件时,可以执行:

node --check lib/index.js && node --check lib/client.js

lib/client.js 随仓库提交并随包发布,安装时无需构建。

安全与运行边界

  • API 密钥仅经 Authorization: Bearer 发给 opencode.ai
  • API 密钥只存在于 host 进程内存,不落盘、不进日志、不过 /go-usage
  • DSH webServer 默认只绑定回环。
  • /go-usage 拒绝非回环 Origin 的浏览器跨站读取,并带每地址 120 次/分钟的内存级速率限制。
  • 插件对 percent 做范围校验。

适用场景与注意

适合在 DSH Web 中使用 OpenCode Go 订阅、希望快速查看额度剩余的开发者。使用前注意:

  • 需要有效的 OpenCode Go 订阅,且 DSH host 上配置了 OPENCODE_ZERO_API_KEY 凭据。
  • 仅支持 Web 界面,因为渲染的插槽属于 DSH Web UI。
  • 快照是面向用户的账户额度参考,不是计费记录。
  • 插件以当前 DSH 进程权限运行,安装前应检查源码、依赖与许可证。
  • peerDependencies 要求:
  • react ^18.2.0
  • @deepseek-ai/cordis ^4.0.1
  • @deepseek-ai/dsh-credentials ^0.1.0-rc.6

链接

GitHub:
https://github.com/iamfromchangsha/dsh-go-balance

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

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

小夜