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-usagev587d 维护,用于 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 idcookie。已设置的值以掩码形式展示,不需要直接查看完整凭据。

优雅降级

配置缺失或 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 idcookie

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
羽毛球分组比赛记分
小程序二维码

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

小夜