dsh-ocg-money:在 DSH 侧边栏常驻显示 OpenCode Go 用量

前言

在 DeepSeek Harness(DSH)里使用 OpenCode Go 订阅时,配额是滚动 5 小时、本周、本月三档并行计算的。若只在需要时才点开面板查用量,容易在长时间会话中错过接近上限的时机。社区里已有 dsh-plugin-opencode-usage 可在会话窗口左下角悬浮显示用量,但必须点击才能看到三档百分比。dsh-ocg-money 把同一套读数逻辑挂到侧边栏 footer,让三档百分比始终可见,点击再展开进度条、剩余比例与重置时间。下面介绍插件定位、安装方式与使用时的前置条件。

这是什么

dsh-ocg-money 是 DSH 的客户端类插件,维护者为 Zhang-HL-1。它在侧边栏 footer 常驻显示 OpenCode Go 订阅用量(滚动 5 小时 / 本周 / 本月百分比),点击可展开明细。实现上基于上游 dsh-plugin-opencode-usage(MIT,© jiekesu967)修改:挂载点从 shell.overlay 改为 sidebar.footer.action,并调整刷新与折叠侧栏时的展示方式。

当前包版本为 0.1.0,许可为 MIT;与 DSH 的兼容范围为 >=0.2.0-rc.2 <0.3.0-0(见 package.json 中 dsh.compatibility)。

与上游插件的差异

上游 0.1.2 dsh-ocg-money
挂载位置 shell.overlay(会话窗口左下角悬浮按钮) sidebar.footer.action(侧边栏 footer 席位)
查看方式 必须点击才弹面板 三档百分比常驻可见
侧边栏折叠 不支持 退化为图标 + 本月百分比
明细 弹出面板 点击展开(进度条 / 剩余 / 重置时间),Esc 或点击外部关闭
刷新 打开面板时 60s 常驻 60s,展开时强制刷新一次

核心功能

  1. 常驻读数:侧边栏底部显示形如 Go 5h x% · 1w y% · 1m z% 的三档用量百分比。
  2. 展开明细:点击后展示进度条、剩余比例、resetsAt 等;用 Esc 或点击外部关闭。
  3. 折叠侧栏:侧栏收起时退化为图标 + 本月百分比,仍可读数。
  4. Host 侧拉取用量:浏览器通过本地路由 GET /plugins/opencode-usage/stats 取数;Host 用凭据解析 API key 后请求 OpenCode Go 官方 usage 接口。Key 仅在 host 进程内解析,不会下发到浏览器。
  5. 可选配置:可在 profile 的 cordis.patch.yml 中覆盖凭据名、API 基址与 host 侧缓存时间。

官方 /usage 接口只返回百分比,不含金额,也不按模型细分;本插件同样只显示百分比。

安装与启用

安装前请自行查看 GitHub 仓库 源码与 LICENSE / NOTICE;插件以当前 DSH 进程权限运行。

本地 tarball 或目录

先把包的 tarball 放到目标机器,或保留解压后的目录,再执行:

# 桌面端(DeepSeek Harness 桌面应用)
dsh plugin --profile desktop add ./dsh-ocg-money-0.1.0.tgz

# 命令行 dsh web
dsh plugin --profile web add ./dsh-ocg-money-0.1.0.tgz

便于继续改代码时,可从本地目录安装:

dsh plugin --profile desktop add ./dsh-ocg-money

若目标机器上没有 dsh 命令,可使用桌面应用内置 CLI:

/Applications/DeepSeek\ Harness.app/Contents/Resources/runtime/cli/bin/dsh

从 GitHub 或 npm(发布后)

dsh plugin --profile desktop add github:Zhang-HL-1/dsh-ocg-money

也可从 Releases 下载 .tgz 后:

dsh plugin --profile desktop add ./dsh-ocg-money-0.1.0.tgz

npm 发布之后:

dsh plugin --profile desktop add dsh-ocg-money

安装后重启 DSH(桌面端需退出再打开),侧边栏底部应出现上述 Go 5h … 读数。

前置条件与配置

凭据

插件从 Harness 的 credentials 读取 OPENCODE_GO_API_KEY。目标机器须已配置 OpenCode Go 的 key(设置 → 模型 → OpenCode Go,或通过 Harness 凭据服务写入同名 ref)。没有 key 时界面会显示「用量读取失败」。

可选 cordis 覆盖

在 profile 的 cordis.patch.yml 中可覆盖 ocg-money 条目:

- id: ocg-money
  config:
    credentialRef: OPENCODE_GO_API_KEY   # 换用别的凭据名
    apiBaseUrl: https://opencode.ai/zen/go/v1
    cacheMs: 30000                       # host 侧缓存,最小 1000

典型用法与数据流

正常使用无需额外命令:安装并配置 key 后,看侧边栏 footer 的三档百分比即可;需要重置时间或剩余比例时再点击展开。

数据路径如下(与 README 一致):

浏览器(侧边栏 footer)
  │  GET /plugins/opencode-usage/stats
  ▼
Host 插件
  │  ctx.credentials.resolve("OPENCODE_GO_API_KEY")
  │  GET https://opencode.ai/zen/go/v1/usage
  │    Authorization: Bearer <api-key>
  ▼
返回 { rolling, weekly, monthly } 的 percent / remainingPercent / resetsAt

适用场景与注意

  • 适合:长期在 DSH 桌面端或 dsh web 中使用 OpenCode Go、希望不用点开面板就能扫一眼三档配额的用户。
  • 本地路由:/plugins/opencode-usage/stats 为无鉴权的本地路由;本机任何能访问该端口的进程都能读到用量百分比(不含 key、不含金额)。
  • 依赖警告:包内 peerDependencies 指向 @deepseek-ai/*,安装时 pnpm 可能对未解析的 peer 告警;这些模块由 Harness 运行时提供,上游插件同样如此,一般可忽略。

DSH 生态强调「一切皆插件」;插件目录站 skillhub.cn 为社区索引,与 DeepSeek / 幻方无官方从属关系。

链接

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

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

Xiaoye