{"_id":"@badai147/dsh-ocgo-usage","_rev":"4-4d349516b41bf82da2e4580ebc284503","name":"@badai147/dsh-ocgo-usage","dist-tags":{"latest":"0.2.1"},"versions":{"0.1.0":{"name":"@badai147/dsh-ocgo-usage","version":"0.1.0","keywords":["dsh","dsh-plugin","deepseek-harness","plugin","opencode-go","usage","stats"],"license":"MIT","_id":"@badai147/dsh-ocgo-usage@0.1.0","maintainers":[{"name":"badai147","email":"badai147@163.com"}],"homepage":"https://github.com/badai147/dsh-ocgo-usage#readme","bugs":{"url":"https://github.com/badai147/dsh-ocgo-usage/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"platform":"web"}},"dist":{"shasum":"60ec240aa75439f8e46d6e6f10a3d9116b8cd86f","tarball":"https://registry.npmjs.org/@badai147/dsh-ocgo-usage/-/dsh-ocgo-usage-0.1.0.tgz","fileCount":6,"integrity":"sha512-EsEhv54dQreS0YXVrWHWOJ0nAdbVWVdM8Y+Jfd/p7pQwvUMUl9FiRtH4QplmyafWPqxe7wy1Y7B6UqOLUI5HiQ==","signatures":[{"sig":"MEQCID6ue32O4Tev13oXgUU8ASjh97kzk3pn0wpwO+R0oVlHAiATtJH7vYz4jafe/n/S4qwsKJKJWmaB65u3A/i/zffKbA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17332},"main":"lib/index.js","type":"module","exports":{".":{"default":"./lib/index.js"},"./client":"./lib/client.js","./package.json":"./package.json","./cordis.patch.yml":"./cordis.patch.yml"},"gitHead":"b6d038548b4f9b07ae70054785cdaefac5530299","_npmUser":{"name":"badai147","email":"badai147@163.com"},"repository":{"url":"git+https://github.com/badai147/dsh-ocgo-usage.git","type":"git"},"_npmVersion":"10.9.8","description":"OpenCode Go usage stats for the DeepSeek Harness Web GUI: compact bottom-left sidebar button with a hover detail card","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/dsh-ocgo-usage_0.1.0_1787048054886_0.6785688168344004","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@badai147/dsh-ocgo-usage","version":"0.1.1","keywords":["dsh","dsh-plugin","deepseek-harness","plugin","opencode-go","usage","stats"],"license":"MIT","_id":"@badai147/dsh-ocgo-usage@0.1.1","maintainers":[{"name":"badai147","email":"badai147@163.com"}],"homepage":"https://github.com/badai147/dsh-ocgo-usage#readme","bugs":{"url":"https://github.com/badai147/dsh-ocgo-usage/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"platform":"web"}},"dist":{"shasum":"40b78a56abdb95365d387293e0de5727680f935f","tarball":"https://registry.npmjs.org/@badai147/dsh-ocgo-usage/-/dsh-ocgo-usage-0.1.1.tgz","fileCount":6,"integrity":"sha512-jNqpDAXKZI5DqhqjkqD5kUq5zPCjGVl8aJoHKf8YEe/MF8Hi5W1jy+8J/3Wqv0hXA8CeVj1AbpDSWWpAXWSNnw==","signatures":[{"sig":"MEUCIQCExuNSMNQY1qT6wkahghT6fMahejy3bEUt/a7nbX4JhQIgIgTmlvoLc7d/sgvESk57ngDFOedXMPDZER1e1lTZC8Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17552},"main":"lib/index.js","type":"module","exports":{".":{"default":"./lib/index.js"},"./client":"./lib/client.js","./package.json":"./package.json","./cordis.patch.yml":"./cordis.patch.yml"},"gitHead":"63a5fdc171c217cb194cb4abda503c1424c983dd","_npmUser":{"name":"badai147","email":"badai147@163.com"},"repository":{"url":"git+https://github.com/badai147/dsh-ocgo-usage.git","type":"git"},"_npmVersion":"10.9.8","description":"OpenCode Go usage stats for the DeepSeek Harness Web GUI: compact bottom-left sidebar button with a hover detail card","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/dsh-ocgo-usage_0.1.1_1787058319455_0.3584326206454498","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@badai147/dsh-ocgo-usage","version":"0.2.0","keywords":["dsh","dsh-plugin","deepseek-harness","plugin","opencode-go","usage","stats"],"license":"MIT","_id":"@badai147/dsh-ocgo-usage@0.2.0","maintainers":[{"name":"badai147","email":"badai147@163.com"}],"homepage":"https://github.com/badai147/dsh-ocgo-usage#readme","bugs":{"url":"https://github.com/badai147/dsh-ocgo-usage/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"platform":"web"}},"dist":{"shasum":"4e523bd03dba3b84a306ef39c95fc48c96a1b088","tarball":"https://registry.npmjs.org/@badai147/dsh-ocgo-usage/-/dsh-ocgo-usage-0.2.0.tgz","fileCount":6,"integrity":"sha512-VEccYhEzduPGqXedDG7Y+xBLCstg6gvVsL2mNLSmFyzExiR23CF9HknPG5rgnzG0Vpb5+4/e5k/DEzptFQIBFQ==","signatures":[{"sig":"MEUCIQC/KLP3b9/hjQu7w38CISDcpGfqnYlEPWFCmzTI7q5/3gIgAmKPm2lRvqZwj8yWBkV5Naq8TVsfIryUf0gRl9Hvyxs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22914},"main":"lib/index.js","type":"module","exports":{".":{"default":"./lib/index.js"},"./client":"./lib/client.js","./package.json":"./package.json","./cordis.patch.yml":"./cordis.patch.yml"},"gitHead":"a0608f9215d1ced00c578869f510afec67b7fb8e","_npmUser":{"name":"badai147","email":"badai147@163.com"},"repository":{"url":"git+https://github.com/badai147/dsh-ocgo-usage.git","type":"git"},"_npmVersion":"10.9.8","description":"OpenCode Go usage stats for the DeepSeek Harness Web GUI: compact bottom-left sidebar button with a hover detail card","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/dsh-ocgo-usage_0.2.0_1787145062230_0.9441649280258291","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@badai147/dsh-ocgo-usage","version":"0.2.1","description":"OpenCode Go usage stats for the DeepSeek Harness Web GUI: compact bottom-left sidebar button with a hover detail card","type":"module","main":"lib/index.js","license":"MIT","keywords":["dsh","dsh-plugin","deepseek-harness","plugin","opencode-go","usage","stats"],"repository":{"type":"git","url":"git+https://github.com/badai147/dsh-ocgo-usage.git"},"homepage":"https://github.com/badai147/dsh-ocgo-usage#readme","publishConfig":{"access":"public"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"platform":"web"}},"exports":{".":{"default":"./lib/index.js"},"./client":"./lib/client.js","./cordis.patch.yml":"./cordis.patch.yml","./package.json":"./package.json"},"_id":"@badai147/dsh-ocgo-usage@0.2.1","gitHead":"035d6c24af842222992c50ed8f64567072e86b91","bugs":{"url":"https://github.com/badai147/dsh-ocgo-usage/issues"},"_nodeVersion":"22.23.2","_npmVersion":"10.9.8","dist":{"integrity":"sha512-gXcMRICj/dwLhnzM2nyocBH87SMqDMQ9iKY+IONCoWBRsoRZAhmJNnS1EkHfVJQCs3KmopAJHXjo5kVsfdseeg==","shasum":"cd194f5bd7125c1952d358a3596a948c1bce518b","tarball":"https://registry.npmjs.org/@badai147/dsh-ocgo-usage/-/dsh-ocgo-usage-0.2.1.tgz","fileCount":6,"unpackedSize":22941,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDTfbrsWBUJUaLUy+P3RiGR1jaL3hUkLNiz9UGkDL+rDAIhAI3j1iEi6obx+ZC1ytY07ksYyT/XwNJVLJfcGkuIqQuh"}]},"_npmUser":{"name":"badai147","email":"badai147@163.com"},"directories":{},"maintainers":[{"name":"badai147","email":"badai147@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dsh-ocgo-usage_0.2.1_1788873645343_0.17582579580351876"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-18T10:14:14.503Z","modified":"2026-09-08T13:20:45.826Z","0.1.0":"2026-08-18T10:14:15.024Z","0.1.1":"2026-08-18T13:05:19.604Z","0.2.0":"2026-08-19T13:11:02.424Z","0.2.1":"2026-09-08T13:20:45.480Z"},"bugs":{"url":"https://github.com/badai147/dsh-ocgo-usage/issues"},"license":"MIT","homepage":"https://github.com/badai147/dsh-ocgo-usage#readme","keywords":["dsh","dsh-plugin","deepseek-harness","plugin","opencode-go","usage","stats"],"repository":{"type":"git","url":"git+https://github.com/badai147/dsh-ocgo-usage.git"},"description":"OpenCode Go usage stats for the DeepSeek Harness Web GUI: compact bottom-left sidebar button with a hover detail card","maintainers":[{"name":"badai147","email":"badai147@163.com"}],"readme":"# dsh-ocgo-usage\n\n在 DeepSeek Harness Web 侧边栏左下角显示 OpenCode Go 用量的插件。\n\nShow your OpenCode Go usage in the DeepSeek Harness web sidebar's bottom-left corner.\n\n![底部用量按钮与悬停卡片](dsh-ocgo-usage.png)\n\n## 功能 / Features\n\n- 左下角常驻按钮（与设置按钮同列同款）：仪表盘图标 + **本月剩余用量百分比**，剩余 ≤20% 变橙、≤0 变红\n- 悬停展开明细卡片（向上弹出）：**DeepSeek 高峰时段时间轴**（北京时间）+ 滚动 / 本周 / 本月三条用量进度 + 已用百分比 + 重置时间\n- 高峰时段按北京时间展示：DeepSeek V4 Flash / Pro 高峰 09:00-12:00、14:00-18:00（即 UTC 01:00-04:00、06:00-10:00）；时间轴高亮当前时刻所处区间并显示距下一切换点的剩余时间\n- 数据每 60 秒自动刷新\n- 零配置：自动读取 DSH 供应商配置中的 opencode-go API key（`~/.dsh/.credentials.yaml` → 环境变量）\n- 零构建：Client 端为手写 `__ModuleLoader__` bundle，Host 端为纯 Node ESM\n\n## 安装 / Install\n\n```sh\ndsh plugin --profile web add @badai147/dsh-ocgo-usage\n```\n\n从 GitHub 源安装（备选）：\n\n```sh\ndsh plugin --profile web add github:badai147/dsh-ocgo-usage\n```\n\n重启 `dsh web`，左下角（设置按钮旁）即可看到「Go 用量」按钮。\n\n> 💡 安装后重启 `dsh web` 生效；自 0.1.1 起为纯 Node 实现，无需系统安装 python3。\n\n## 使用 / Usage\n\n1. 在 DSH 设置中配置 opencode-go 供应商（含 API key）——插件自动读取，无需额外配置\n2. 悬停左下角「Go 用量」按钮查看明细\n3. 常驻角标显示本月剩余用量百分比（如本月已用 5% 则显示 `95% (本月)`）\n\n## 工作原理 / How it works\n\n- **Host**（`lib/index.js`）：注册 DSH web server 路由 `GET /api/ocgo-usage`，按序读取 DSH 供应商配置中的 opencode-go API key（`~/.dsh/.credentials.yaml` → 环境变量），代理请求 `https://opencode.ai/zen/go/v1/usage`；key 只在本机处理，不下发浏览器\n- **Client**（`lib/client.js`）：手写 `window.__ModuleLoader__.load` bundle，注册 `sidebar.footer.action` 按钮 + `shell.overlay` 悬浮卡片，通过本地路由取数\n- **刷新**：激活即拉取，之后每 60 秒自动刷新\n- **跨平台**：Host 用 Node 内置 `https` 直接发请求，不依赖 shell 与 python，Windows / macOS / Linux 均可用\n\n## 目录结构 / Structure\n\n```\ndsh-ocgo-usage/\n├── cordis.patch.yml   # bundle patch：插入 ocgo-usage 插件行\n├── lib/\n│   ├── index.js       # Host：/api/ocgo-usage 代理路由（Node ESM）\n│   └── client.js      # Client：按钮 + 悬浮卡片 UI（__ModuleLoader__ bundle）\n└── package.json\n```\n\n## 更新日志 / Changelog\n\n- **0.2.1**：移除对已废弃的 `~/.dsh/.ocg-state.json` 的读取（该文件已非当前 DSH 的供应商状态文件），仅保留 `~/.dsh/.credentials.yaml` 与环境变量两个取值来源\n- **0.2.0**：悬浮卡片新增「DeepSeek V4 Flash / Pro」高峰时段时间轴（按北京时间标记高峰 09:00-12:00 与 14:00-18:00，显示当前所处时段及距下一切换点的时间），纯 Client 本地计算、不依赖浏览器时区\n- **0.1.1**：改用 Node 内置 https 取数（不再依赖 shell/python，修复 Windows 沙箱报错）；角标改显本月剩余用量（带 `(本月)` 后缀）\n- **0.1.0**：初版，左下角用量按钮 + 悬停明细卡片，每 60 秒刷新\n\n## FAQ\n\n**为什么 Windows 上会报 sandbox 错误？** 0.1.0 用 `ctx.shell` 跑 python 脚本取数，会触发 shell 沙箱检查；Windows 上可用的后端要求 ACL 临时目录位于 workspace 之外，不满足即拒绝执行。0.1.1 改用 Node 内置 `https` 直接请求，不再依赖 shell 与 python，Windows / macOS / Linux 均正常。\n\n**升级后仍是旧版？** pnpm 可能命中旧的 lockfile。显式指定版本重装即可：`dsh plugin --profile web add @badai147/dsh-ocgo-usage@0.1.1`，重启 `dsh web` 生效。\n\n## License\n\n[MIT](LICENSE)","readmeFilename":"README.md"}