dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
在 Harness Web UI 上悬浮显示 OpenCode Go 用量:5 小时滚动、每周与每月百分比、重置倒计时与续订日期,支持设备码登录与静默刷新。
A floating overlay for the DeepSeek Harness Web UI that shows your OpenCode Go usage — the 5-hour rolling limit, the weekly limit and the monthly limit — at a glance.
The collapsed pill lives in the corner of the window and shows the three percentages with a colour dot per limit. Click it for progress bars, reset countdowns, the renewal date, and the sign-in controls.
5h · 7d · 30d percentages, coloured by how close you are to the
limit (brand → warning from 60% → error from 80%), plus the weekly reset countdown.resets in and renews in countdowns,
Refresh, Sign out, and a link to the OpenCode console.The numbers come from the OpenCode Console Go subscription meters, the same source the console page itself renders.
0.2.x).Not connected when no OpenCode session is stored, and an error state when the
subscription is missing or the API changes.dsh plugin --profile web add github:Assidefok/dsh-opencodego-status
Then refresh the Harness Web UI. A small pill appears in the top-right corner.
GNNM-XQHS) and an Open approval page
button. Approve the device in the browser.The session is stored locally at $DSH_HOME/opencodego-status/state.json with 0600
permissions ($DSH_HOME defaults to ~/.dsh). Sign out in the card deletes it.
Tokens are sent only to opencode.ai; the browser half never receives them.
The bundle row in the Harness profile's cordis.patch.yml accepts:
- id: opencodego-status
name: dsh-opencodego-status
config:
enabled: true # hide the overlay without uninstalling the bundle
position: top-right # top-right | top-left | bottom-right | bottom-left
refreshSeconds: 60 # 15 – 3600
showResets: true # show reset countdowns
index.js) registers a prefix route at
/api/opencodego-status and talks to the OpenCode Console:
<origin>/console/auth/device/code, <origin>/console/auth/device/token (device
grant and refresh grant) and <origin>/console/api/go/status.client.js) registers one entry in the shell.overlay slot and
polls /api/opencodego-status/status. It never sees an access token.The console endpoint is not a documented public API. If OpenCode changes it, the overlay degrades to an error state with a Retry button instead of breaking the UI.
MIT — see LICENSE.