yumusb/dsh-opencode-go-usage ↗★ 1
dsh-opencode-go-usage
DSH (DeepSeek Harness) plugin: OpenCode GO plan quota widget in the sidebar, same-origin usage proxy, and a /opencode-go chat command
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:yumusb/dsh-opencode-go-usage说明文档
阅读完整 README ↗dsh-opencode-go-usage
English | 中文
⚡ OpenCode GO 套餐: buycodingplan.com
DSH(DeepSeek Harness)插件:监控你的 OpenCode GO 套餐额度 —— 10 美元/月的订阅,按模型提供滚动 5 小时 / 每周 / 每月三个窗口的用量限额。
功能
- 侧边栏小组件:常驻 DSH Web 侧边栏底部(
sidebar.footer.action槽位),三条用量进度条:滚动窗口(5h)、周窗口、月窗口,每条带重置倒计时;侧边栏收起时收缩为紧凑的百分比徽标。 /opencode-go聊天命令:在对话中以文本输出同样的三个窗口数字。- 同源代理:host 端注册
GET /opencode-go/usage,携带你的 API key 转发到官方 GO 网关。key 永不进入浏览器,也没有 CORS 问题。
工作原理
这是一个双端 DSH 插件包:
| 端 | 文件 | 职责 |
|---|---|---|
| host(Node) | lib/index.js | 注册 /opencode-go/usage Web 路由(ctx.webServer)与 /opencode-go 命令(ctx.commands);通过 DSH credentials 解析 key;上游调用带 30s 缓存 |
| 浏览器 | lib/client.js | 手写的 window.__ModuleLoader__.load({ id, factory }) bundle,注册进 sidebar.footer.action 列表槽,每 60s 轮询同源路由 |
package.json 声明了 "dsh": { "client": { "platform": "web" } },DSH 的 client-modules 节点端会把它扫描进浏览器启动图(window.__DSH_BOOT__),并在 /plugins/dsh-opencode-go-usage/client.js 提供该 bundle。
官方安装下小组件如何加载
dsh plugin add 把包装进 profile,满足 host 端(路由、命令、设置)。DSH 的
client-modules 扫描器只能从 DSH 自己的安装目录解析浏览器 bundle,所以装在
profile 里的第三方包通常拿不到浏览器端——本插件通过自托管解决:host 端
注册 /dsh-opencode-go-usage/client.js 路由,并用官方 webServer.tapIndex API
把 boot graph 行注入页面。因此侧边栏小组件在任何安装位置都能工作。
环境要求
- 已安装 DSH 且
webprofile 至少启动过一次(~/.dsh/profiles/web存在) - Node.js ≥ 18(需要
fetch) - OpenCode GO 订阅及其 API key
安装(官方 DSH 流程)
前置:已装 DSH 且 web profile 至少启动过一次;Node.js ≥ 18;有 OpenCode GO 订阅。
# 1. 安装到 web profile(依赖 pnpm,没有的话先 corepack enable)
dsh plugin --profile web add dsh-opencode-go-usage
# 2. 把 GO API key 存为 DSH credential
# (key 在 https://opencode.ai/auth 创建)
# → 在 ~/.dsh/.credentials.yaml 加一行:
# OPENCODE_GO_API_KEY: sk-...
# 3. 重启 dsh web,浏览器硬刷新(Cmd/Ctrl+Shift+R)