dsh-opencode-go-usage:在 DSH Web 输入框上方显示 OpenCode Go 用量

前言

DSH 的 web profile 可以在对话界面里加载扩展组件。使用 OpenCode Go 订阅时,界面上不容易持续看到 5h 滚动、每周、每月三个用量窗口的剩余比例和重置时间,往往到窗口接近耗尽、请求被限流前才发现问题。

下面介绍 dsh-opencode-go-usage。它是一个 dsh bundle,在 DeepSeek Harness web GUI 的 composer dock,也就是输入框上方,显示 OpenCode Go 订阅用量。

这是什么

dsh-opencode-go-usage 由 v587d 维护,用于 DSH web profile。它的定位很具体:在对话界面中增加一个用量 chip,把 5h 滚动、每周、每月三个窗口的百分比和重置倒计时显示在输入框上方。

它不是 DSH 的核心组件,也不替代 OpenCode Go 的账户管理。它只在当前 DSH web 界面中提供用量查看、阈值提示和凭据配置入口。

核心功能

三个用量窗口

显示 5h 滚动、每周、每月三个窗口的百分比与重置倒计时。窗口接近上限时,可以提前看到剩余时间,而不是等请求被限流后才处理。

按阈值着色

显示状态按阈值着色:

  • 正常
  • 黄色警告:≥80%
  • 红色错误:≥90% 或已限流

数据新鲜度

chip 上会显示最近一次成功抓取时间,格式为 upd HH:MM。这样可以看到数据是否仍然有效。

轮询与缓存

插件每 10s 轮询一次,切回标签页时会立即刷新。host 端有 300s 缓存,TTL 可配置;失败后有 60s 冷却,避免频繁请求。

Provider 感知

仅当会话当前模型走 opencode-go provider 时显示。切换到其它 provider 后会自动隐藏,切回后会恢复。

详情面板与手动刷新

点击 chip 可以展开详情面板。面板中可以看到各窗口的重置倒计时,并支持手动刷新。

内置 Set 凭据编辑器

详情面板左下角有 Set 入口,可以配置 workspace id 与 cookie。已设置的值以掩码形式展示,不需要直接查看完整凭据。

优雅降级

配置缺失或 HTTP 失败时,插件会进入降级状态。此时点击 chip 可以直接进入 Set 面板处理凭据配置。

cookie 仅在 host 侧使用。浏览器只访问同源 JSON 端点,不把 cookie 发送到浏览器。

安装与启用

安装前需要满足:

  • DeepSeek Harness 0.1.0-rc.6 或更新,且使用 web profile
  • PATH 上有 pnpm

先执行安装命令,把插件加入 web profile:

dsh plugin --profile web add github:v587d/dsh-opencode-go-usage

安装后重启 dsh web 并刷新页面。完成后,chip 会出现在输入框上方的 dock。

如果只想先验证插件层是否已经组合,可以运行:

dsh --profile web --dump-config

这一步用于检查当前 web profile 的插件组合,不需要先打开浏览器页面。

典型用法

在界面里配置凭据

1、点击输入框上方 dock 中的 chip。

2、展开详情面板。

3、点击左下角 Set。

4、输入 workspace id 与 cookie。

5、点击外部、按 Esc 或保存确认。

配置完成后立即生效。编辑器中的凭据值会以掩码形式展示,不会直接暴露完整字符串。

使用环境变量

也可以用环境变量提供凭据:

export OPENCODE_GO_COOKIE="<cookie>"
export OPENCODE_GO_WORKSPACE_ID="<workspace-id>"

环境变量优先级高于配置文件。

使用配置文件

也可以把凭据写入配置文件:

$DSH_HOME/ocgo-usage.json

默认路径是:

~/.dsh/ocgo-usage.json

写入后建议设置文件权限:

chmod 600 ~/.dsh/ocgo-usage.json

配置优先级为:环境变量 > 配置文件 > 内置默认。

可选覆盖项

可以通过以下环境变量覆盖部分行为:

OPENCODE_GO_BASE_URL
OPENCODE_GO_CACHE_TTL
OPENCODE_GO_TIMEOUT_MS

其中 OPENCODE_GO_CACHE_TTL 用于调整 host 端缓存 TTL。组合层配置中的 enabled 是总开关,默认值为 true。

适用场景与注意

这个插件适合在 DSH web profile 中使用 OpenCode Go 订阅的用户。如果你希望在输入框附近持续看到 5h、每周、每月用量,并希望在阈值升高前发现,它可以作为一个轻量入口。

需要注意的是,cookie 是 OpenCode Go 会话凭据。它是完整用户会话,可以访问账户内的所有 workspace、订阅与账单信息,应当像密码一样对待。

插件不记录 cookie,也不把 cookie 发送到浏览器。配置编辑器只把新值写入:

$DSH_HOME/ocgo-usage.json

如果 cookie 过期或被吊销,页面会 302 跳转到登录页,chip 会显示:

<err:http302>

重新登录后,可以通过 Set 面板更新 cookie。

安装前建议检查源码与许可证。该插件以当前 dsh 进程权限运行,许可证为 MIT。

相关链接

目录页:

https://www.skillhub.cn/plugins/v587d/dsh-opencode-go-usage

GitHub 仓库:

https://github.com/v587d/dsh-opencode-go-usage
羽毛球分组比赛记分
小程序二维码

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

小夜