前言¶
在本地运行 DeepSeek Harness(DSH)桌面版时,Web GUI 界面最下方通常只有空白区域。开发者需要频繁查看账户余额和当前会话的 token 使用情况,容易错过余额不足或上下文耗尽的提醒。现有的做法要么依赖浏览器插件,要么需要手动查询 Host 服务。下面介绍一个轻量级插件,直接在 DSH 界面底部提供状态条,实时显示余额和会话指标。
是什么¶
dsh-plugin-balance-tokens 是一个 DeepSeek Harness(DSH)桌面版客户端插件,由维护者 TTTimas 开发。它通过注入到 DSH 的底部插槽,在 Web GUI 窗口最下方显示一条状态条:左侧展示账户余额(CNY/USD),右侧展示当前会话的 token 用量与上下文剩余。
这个插件解决的是「在开发过程中快速掌握账户状态和会话指标」的需求,不需要离开 DSH 界面,也不需要额外的查询工具。
核心功能¶
余额显示¶
左侧显示余额信息,格式为 余额 充值 ¥12.34 · 赠送 ¥3.00。插件会自动刷新余额数据,默认每 60 秒刷新一次,页面重新可见时也会触发刷新。
余额按预警等级着色,金额前有同色圆点,悬停可查看状态与阈值:
| 颜色 | CNY | USD | 含义 |
|---|---|---|---|
| 绿色 | ≥ ¥20 | ≥ $3 | 余额充足 |
| 黄色 | ¥5 – ¥19.99 | $1 – $2.99 | 余额偏低 |
| 红色 | < ¥5 | < $1 | 余额预警 |
等级按「充值 + 赠送」的合计余额计算;多币种时以 CNY 为主,其次 USD,其他币种沿用 CNY 阈值。
Token 与上下文显示¶
右侧显示当前会话的 token 使用情况,格式为 本会话 45.6k tokens · 上下文剩余 96.1k / 128k。两项同样分级,指标前有同色圆点:
| 指标 | 绿色 | 黄色 | 红色 |
|---|---|---|---|
| 本会话 token | < 1M | 1M – <5M | ≥ 5M |
| 上下文剩余 | ≥ 30% | 10% – <30% | < 10% |
上下文百分比按「剩余 / contextWindow」计算。
空状态处理¶
- 无活动会话时显示「无活动会话」
- 尚未有模型用量时显示「等待用量数据」
- 未登录时显示「账户未登录」
中英文案跟随界面语言自动切换。
实现方式¶
插件通过 ctx.slots.inject('shell.bottom', …) 注册到 shell.bottom 插槽,这是一个全宽底部插槽(ui-layout 声明)。余额数据通过 Host 账户服务的 account/getBalance RPC 获取,凭据只在 Host 侧,前端拿不到 token。返回结果可能是 null(未登录)、{ status: 'ready', value: [...], bonusWallets: [...] } 或 { status: 'failed' }。
Token 数据来自会话列表快照中 Host 计算的投影 tokenUsage / contextPressure(由会话日志重放得出),当前会话取 retainedBy.mainView > 0 的行。「本会话」按输入、缓存读写、输出四项合计分级,「上下文剩余」= contextWindow - projectedTokens,按剩余占比分级。
分级阈值集中在 lib/client.js 的 BALANCE_BANDS / TOKEN_BANDS / CONTEXT_BANDS,颜色只用主题 state-success / state-warn / state-error 令牌,文字色按比例混入 label-primary,保证明暗两套主题下的小字号对比度。
安装与启用¶
桌面版 profile 为 desktop(由 Electron 应用管理,普通 dsh --profile desktop 启动会被拒绝,但 dsh plugin 可以管理)。
本地开发安装(推荐,改动即时生效):
dsh plugin --profile desktop add "link:E:\path\to\dsh-plugin-balance-tokens"
也可以从 Git 仓库安装:
dsh plugin --profile desktop add "git+https://github.com/TTTimas/dsh-plugin-balance-tokens.git"
安装会把依赖写入 $DSH_HOME/profiles/desktop/package.json 并登记到 dsh.profile.bundles;正在运行的界面通过 HMR 实时加载,无需重启。
卸载¶
dsh plugin --profile desktop remove dsh-plugin-balance-tokens
适用场景与注意¶
适合需要频繁监控账户余额和会话 token 使用情况的 DSH 桌面版用户,尤其是长期运行多个会话的开发者。
插件以当前 dsh 进程权限运行,安装前应检查源码与许可证(MIT)。若将来有其他插件占用 shell.bottom 插槽(例如 experimental-inspector),两个条目在同一 priority 会冲突;届时可通过注册的 priority 协调。位置选的是全宽底部(三栏下方);如需挪到左侧栏底部,可改为注册到 sidebar 内部座位。
结尾¶
这个插件提供了在 DSH 界面底部实时查看余额和会话指标的能力,减少频繁切换窗口的打扰。适合需要长期监控账户状态的开发者。
- 目录页:https://www.skillhub.cn/plugins/TTTimas/dsh-plugin-balance-tokens
- GitHub:https://github.com/TTTimas/dsh-plugin-balance-tokens