前言¶
在 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,展开时强制刷新一次 |
核心功能¶
- 常驻读数:侧边栏底部显示形如
Go 5h x% · 1w y% · 1m z%的三档用量百分比。 - 展开明细:点击后展示进度条、剩余比例、
resetsAt等;用Esc或点击外部关闭。 - 折叠侧栏:侧栏收起时退化为图标 + 本月百分比,仍可读数。
- Host 侧拉取用量:浏览器通过本地路由
GET /plugins/opencode-usage/stats取数;Host 用凭据解析 API key 后请求 OpenCode Go 官方usage接口。Key 仅在 host 进程内解析,不会下发到浏览器。 - 可选配置:可在 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 / 幻方无官方从属关系。