Back to home

Sutera-Diffusus

dsh-statusbar

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

Stars
1
Language
PowerShell
Created
Aug 15, 2026
Updated
Aug 15, 2026

Introduction

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