Sutera-Diffusus / dsh-statusbar

Listed

DeepSeek Harness 状态栏扩展:模块化统计行(进度/耗时/性能/缓存/Token/花费/余额) + 本地余额代理

mainTool View source

Installation

npx -y @deepseek-ai/dsh plugin --profile web add github:Sutera-Diffusus/dsh-statusbar

This installation command is an unverified starting point generated from the GitHub repository address.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit 1dd7f26Synced Aug 18, 2026

dsh-statusbar

DeepSeek Harness(DSH)Web GUI 的状态栏扩展包:把会话统计行(StatsLine) 整合为一套模块化、可装配、带账户余额的状态栏。

一个补丁脚本、三个阶段、幂等可重打;与 DSH 的 UI 设计令牌 / 设置面板风格完全一致。

功能

Phase 1 · 花费估算(cost)

统计行末尾追加 花费 ¥X,悬停显示分桶明细与三套价目:

会话花销估算 · deepseek-v4-pro
输入·缓存命中 7.2M tok(¥0.15/M)→ ¥1.08
输入·未命中 73K tok(¥4.5/M)→ ¥0.33
输出 118K tok(¥13.5/M)→ ¥1.59
现行价 ¥1.11 · 新价空闲 ¥3.01 · 新价高峰 ¥6.01

计价覆盖 deepseek-v4-pro / deepseek-v4-flash 的现行价与峰谷新价, 浏览器控制台可用 localStorage["dsh.statsCost.model"] 切换模型。

Phase 2 · 状态栏模块(statusbar)

「设置 → 通用设置」底部新增 状态栏 分组,七个模块各配一个开关, 顶部提供「全部开启 / 全部关闭」快捷操作;统计行按勾选结果实时装配:

模块状态栏显示说明
会话进度9 轮 · 84 步轮数与步数
耗时LLM 32m22s · 工具调用 6m49sLLM 与工具调用时长
性能首 token 平均 1.6s · 82 tok/sTTFT 平均与生成速度
缓存命中缓存命中 99%输入缓存命中率
Token 用量输入 11.4M tok · 输出 148K tok输入与输出 token 数
花费估算花费 ¥1.42会话花销估算
账户余额余额 ¥4.36账户余额(总 / 赠送 / 充值)
  • 开关状态存于浏览器 localStorage(键 dsh.statusbar),刷新后保留;
  • 默认全部开启;全部关闭时统计行整体隐藏;
  • 中英文词典均已补齐;开关为品牌色圆角滑钮,role="switch" / aria-checked 无障碍语义,UI 与 DSH 设置面板一致(Setting-Cell 行 + --dsw-alias-* 令牌)。

Phase 3 · 账户余额(balance)

经本地余额代理读取 DeepSeek 官方 GET /user/balance

  • 统计行显示 余额 ¥X,悬停显示 总余额 / 赠送 / 充值 明细;
  • 设置分组里「账户余额」行说明实时显示当前余额(当前 ¥X);
  • 约每分钟刷新(TTL 60s);代理不可用 / 无 key / 超时 → 模块自动隐藏, 统计行不显示任何错误。

安装

powershell -ExecutionPolicy Bypass -File apply-patch.ps1
# 目标文件非默认位置时:
powershell -ExecutionPolicy Bypass -File apply-patch.ps1 -Target <client.js 路径>
  • 默认目标:$env:DSH_HOME\profiles\node_modules\@deepseek-ai\dsh-client-ui-conversation\lib\client.js (DSH 的 profile 树指向安装树,打补丁即生效);
  • 脚本幂等:三阶段分别检测,已打补丁自动跳过;
  • 打前自动备份到 %TEMP%,打后自动 node --check;锚点失效时报错而非静默破坏;
  • DSH 升级覆盖 node_modules 后重跑本脚本即可
  • 文件含中文,须以 UTF-8 BOM 保存(仓库内已保证)。

刷新浏览器即可生效(服务器按内容哈希提供 client.js)。

余额代理(balance-proxy.js)

浏览器不能跨域直连 api.deepseek.com(CORS),也不应持有 API key。 balance-proxy.js 是零依赖的 localhost 小服务:

  • 只监听 127.0.0.1:3020(环境变量 DSH_BALANCE_PORT 可覆盖, 浏览器侧 localStorage["dsh.balance.port"] 同步覆盖);
  • API key 按与 dsh-credentials-local 相同的顺序解析 (DEEPSEEK_API_KEY 环境变量 → $DSH_HOME/.credentials.yaml),绝不回显,上游走 HTTPS;
  • CORS 仅允许 http://127.0.0.1:* 来源,恶意来源得到 null;非 /balance 路径一律 404;
  • 结果缓存 60 秒;端口被占时静默退出(防重复拉起);
  • 日志写到 %TEMP%\dsh-balance-proxy.log

启动方式(任选):

node balance-proxy.js

随 DSH 自动拉起:在 start-dsh.bat 中 DSH 命令前加一行

start "" /b node "<本仓库路径>\balance-proxy.js" >nul 2>nul

或在 DeepSeekHarness-Launcher.cfg 中加一行(需要启动器支持该配置项)

balanceProxy=<本仓库路径>\balance-proxy.js

兼容性与限制

  • 针对 @deepseek-ai/dsh-client-ui-conversation@0.1.0-rc.6 的编译产物; 上游结构调整时锚点检测会明确报错(而非静默破坏),届时需更新锚点;
  • 可与其他直接补丁(如已应用的花费估算旧补丁)共存;
  • 余额模块依赖本机可访问 api.deepseek.com

已验证

  • 对原版 0.1.0-rc.6 包做全新三阶段补丁:全部锚点命中、node --check 通过;
  • 无头 Chrome 实测(0 报错):七个开关渲染与持久化、逐模块开关实时作用于统计行、 余额数值实时更新(余额 ¥4.36)、代理安全项(CORS 收紧 / 404 / 无密钥回显 / 仅回环监听 / 重复拉起自愈)全部通过。

License

MIT

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

Security policyDetected
Contributing guideDetected

Repository information

Language
PowerShell
License
MIT
Latest release
v1.0.0
Last updated
Aug 16, 2026, 4:41 PM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.