dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
DeepSeek Harness web plugin: an ambient balance/usage reading under the composer, with a clickable per-provider detail panel. Every figure is upstream-reported.
DeepSeek Harness(DSH)Web 插件:在输入框下方那一行,显示 DeepSeek 账户的真实余额。
[1 轮 104 步 · 245 tok/s] [11.6M tok · 缓存命中 99%] [◔ 16%] [🐋 ¥12.10 · 今日 -¥0.40]
└──────── 官方内置 ────────┘ └─内置─┘ └───── 本插件 ─────┘
余额胶囊可以点,点开是明细面板:总余额、今日消耗、今日充值 / 赠送。
OpenCode Go 的套餐用量是另一个插件
dsh-opencode-go-quota。两者各自独立, 可以分别开关、互不影响。本仓库只管余额这一半。
卡片上每个数字都直接来自提供方 API,没有任何本地推算。
| 提供方 | 数据源 | 凭据 |
|---|---|---|
| DeepSeek | https://api.deepseek.com/user/balance | DEEPSEEK_API_KEY |
「今日消耗」由余额差值算出:余额接口只以差值的形式反映账号级消费, 所以插件在本地保存一条余额序列,按逐段正差值累加,得出当日消耗和当日充值。
pnpm dsh plugin --profile web add link:~/dsh-account-quota
pnpm dsh plugin --profile web add link:~/dsh-opencode-go-quota # 可选:套餐用量那一半
两个包互不依赖,装哪个就有哪一行。装完需要重启 dsh web 生效 ——
浏览器半在启动时组装进 boot graph。
在 profile 的 cordis.patch.yml 里配置。
⚠️ patch 会整体替换该行的
config,要保留的键必须全部重写一遍。 写了未知的键会直接报错,而不是被忽略。
- id: account-quota
config:
cacheMs: 60000
providers:
deepseek:
kind: tokens
displayName: DeepSeek 官方
apiKeyEnv: DEEPSEEK_API_KEY
balanceUrl: https://api.deepseek.com/user/balance
currency: CNY
| 字段 | 默认值 | 说明 |
|---|---|---|
cacheMs | 60000 | 快照新鲜度下限,同时是 Host 侧的采样周期。调大省请求量,代价是零点后的第一段消耗会被并进更大的区间 |
requestTimeoutMs | 10000 | 单次上游请求超时(覆盖到响应体读完为止) |
maxResponseBytes | 65536 | 上游响应体上限,边读边判,超限即中止传输 |
statePath | $DSH_HOME/account-quota/state.json | 余额序列落盘位置。$DSH_HOME 未设置时回退 ~/.dsh |
cacheMs同时承担两个角色,因为两者问的是同一个问题 —— 「账户的画面可以有多旧」。 代价是与浏览器是否打开无关的固定请求量:默认 60 秒即每个适配器每天约 1440 次请求。
kind: tokens 要求 balanceUrl 返回 { is_available, balance_infos: [...] }。providers 会替换内置表而不是追加:本包内置的只有 deepseek 一项,
要保留它就照抄一遍。| 环节 | 周期 | 在哪 |
|---|---|---|
| 上游采样(每个适配器一次请求) | cacheMs,默认 60 秒 | Host |
| 浏览器重读快照(本机 HTTP,不打上游) | 60 秒 | Client |
界面上的数字最多比上游旧约 60 秒(再加一次请求耗时)。
常驻行只有一项:¥12.34 · 今日 -¥0.56。
今日 ¥0.00(不写 -¥0.00)。— —— 读不到不等于零,也不等于插件没装。
点开面板可以看到失败原因。展开面板列出全部字段:总余额 / 今日消耗(后面跟着统计起点与采样次数)/ 今日充值(>0 时)/ 充值 / 赠送。
node selftest.js
webServer 保持 pending。dsh web 停止期间不采样。序列在盘上,重启后接着算,
但停机期间的消耗会落进下一个采样区间,或被零点边界丢弃。percent 就是整数。dsh web 默认只绑 127.0.0.1。用 webStartup.host: 0.0.0.0
暴露到局域网时,这个路由(余额与用量)和 GUI 其他接口一样对同网段可读。本仓库是 zer0zio-stack/dsh-opencode-go-quota
v0.4.0 的 fork,MIT 许可,原始版权归 zer0zio-stack 所有。
v0.5.0 起的改动逐版本记录在 PATCHES.md,方便日后与上游对齐。