dsh-ocg-money
DeepSeek Harness 插件:在侧边栏 footer 常驻显示 OpenCode Go 订阅用量(滚动 5 小时 / 本周 / 本月百分比),点击展开明细。
基于 dsh-plugin-opencode-usage(MIT, © jiekesu967)修改:把悬浮按钮从会话窗口左下角搬到侧边栏 footer 席位,并让三档百分比始终可见,不必点击。
与上游的差异
| 上游 0.1.2 | 本插件 | |
|---|---|---|
| 挂载位置 | shell.overlay(会话窗口左下角悬浮按钮) |
sidebar.footer.action(侧边栏 footer 席位) |
| 查看方式 | 必须点击才弹面板 | 三档百分比常驻可见 |
| 侧边栏折叠 | 不支持 | 退化为图标 + 本月百分比 |
| 明细 | 弹出面板 | 点击展开(进度条 / 剩余 / 重置时间),Esc 或点击外部关闭 |
| 刷新 | 打开面板时 60s | 常驻 60s,展开时强制刷新一次 |
安装
先把本包的 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命令,用桌面应用内置的那份:/Applications/DeepSeek\ Harness.app/Contents/Resources/runtime/cli/bin/dsh
安装后重启 DSH(桌面端退出再打开),侧边栏底部出现 Go 5h x% · 1w y% · 1m z%。
从 npm 安装(发布之后)
dsh plugin --profile desktop add dsh-ocg-money
从 GitHub 安装
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
前置条件
插件从 Harness 的 credentials 里读取 OPENCODE_GO_API_KEY,所以目标机器上必须已经配置过 OpenCode Go 的 key(设置 → 模型 → OpenCode Go,或用 Harness 的凭据服务写入同名 ref)。没有 key 时面板显示「用量读取失败」。
配置(可选)
在 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
工作原理
浏览器(侧边栏 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
API key 只在 host 进程内解析,不会下发到浏览器。
已知取舍
- 官方
/usage接口只返回百分比,不含金额,也不按模型细分,所以本插件同样只显示百分比。 /plugins/opencode-usage/stats是无鉴权的本地路由:本机任何能访问该端口的进程都能读到用量百分比(不含 key、不含金额)。- 包内
peerDependencies指向@deepseek-ai/*,安装时 pnpm 会给未解析的 peer 警告;这些模块由 Harness 运行时提供,警告可忽略(上游插件同样如此)。
许可
MIT。上游版权归 jiekesu967;本修改版同样以 MIT 发布,详见 LICENSE 与 NOTICE。
No comments yet. Be the first to write one.