前言¶
在 DeepSeek Harness(DSH)里跑会话时,token 会分散写在本地会话日志里,官方设置页能看到账号余额,但很难在对话界面一眼对照「今天用了多少、大概花了多少」。若要到平台用量页或自己翻日志,打断成本较高。
下面介绍社区插件 dsh-usage-widget(维护者 ZeroOT-Liu):在桌面端侧边栏左下角(Settings 上方)集中展示余额、今日与本月 token 消耗及按价目表推算的花费。插件归属「客户端」类,当前 GitHub 星标为 1;仓库与目录页见文末链接。
这是什么¶
dsh-usage-widget 是 DSH 的零依赖插件(MIT,package 版本 1.3.0)。宿主半边注册汇总 API 并做信任校验,客户端半边通过 sidebar.footer.action 在页脚渲染部件;不接触账号凭证,余额走官方账号服务 ctx.deepseekAccount.getBalance,与「设置 → 账号」同源。
用量与花费来自本机 $DSH_HOME/sessions/**/session.*.jsonl.zstd 中带 data.usage 的 assistant/message 事件;花费按 cordis.patch.yml 中的价目表与高峰/空闲时段规则推算,不是官方账单。
核心功能¶
收起与展开¶
收起时默认三行:余额、今日、本月。第一行示例形态为 余额 ¥5.83 · 赠送 ¥9.56(充值为主色、赠送为弱化色)。第二行以时段徽标开头(高峰时段 ×2 或 空闲时段)。侧边栏缩成 56px 窄栏时只显示图标,完整数值在悬停提示中。
悬停或点击可展开:余额、当前时段(含距切换倒计时)、今日明细(输入缓存命中/未命中、输出、推理 token)、按模型分组、本月累计、当前会话明细、更新时间与刷新按钮。
本月与时段计价¶
本月累计包含 tokens、花费、请求数、活跃天数与会话数。高峰时段为北京时间周一至周五 9:00–12:00、14:00–18:00,单价按配置的 peakMultiplier(默认 2)计算;其余时段(含周末)按空闲价。中国法定节假日不在规则内,节假日按高峰计价。
数据与性能¶
会话日志为多帧 Zstandard 容器;插件按帧边界增量读取,跳过未写完的尾帧,避免重复计数。README 记载:本机 15 个会话文件、约 2 万行首轮扫描约 0.3 秒,之后只读增量。
未配置单价的模型仍会统计 token,但不计入花费,展开面板会标注「未配置单价,未计入花费」。
安装与启用¶
推荐从 GitHub Release 安装(无需克隆仓库):
dsh plugin --profile desktop add "https://github.com/ZeroOT-Liu/dsh-usage-widget/releases/latest/download/dsh-usage-widget.tgz"
或从仓库安装:
dsh plugin --profile desktop add "github:ZeroOT-Liu/dsh-usage-widget"
两种方式会把 dsh-usage-widget 写入 profile 的 dsh.profile.bundles(~/.dsh/profiles/<profile>/package.json),对该 profile 的全部会话生效并跨重启保留。装好后刷新页面(Ctrl+R),让浏览器加载新的模块清单。
卸载:
dsh plugin --profile desktop remove dsh-usage-widget
若安装时出现 UNABLE_TO_VERIFY_LEAF_SIGNATURE / fetch failed(常见于 TLS 拦截代理),可让 Node 使用系统证书库:
NODE_OPTIONS="--use-system-ca" dsh plugin --profile desktop add "https://github.com/ZeroOT-Liu/dsh-usage-widget/releases/latest/download/dsh-usage-widget.tgz"
配置要点¶
配置写在 cordis.patch.yml 同名行;价格单位为「元 / 百万 tokens」,填空闲时段价格,高峰按 peakMultiplier 倍计。
| 字段 | 默认 | 说明 |
|---|---|---|
currency |
CNY |
花费显示币种 |
refreshSeconds |
30 |
部件轮询间隔 |
balanceRefreshSeconds |
180 |
余额缓存时长 |
peakMultiplier |
2 |
高峰单价倍数 |
keepDays |
45 |
日志聚合保留天数 |
sessionsDir |
自动 | 默认 $DSH_HOME/sessions,再退回 ~/.dsh/sessions |
showMonth |
true |
收起状态是否显示「本月」行 |
showWindow |
true |
是否显示时段徽标与面板时段行 |
models |
DeepSeek 官方价 | 模型 → { cacheHit, cacheMiss, output } |
aliases |
见文件 | 历史/带日期模型名映射到计价键 |
allowHosts |
[] |
除回环外允许访问汇总路由的主机名 |
官方调价后需自行更新 models,否则花费会与平台账单不一致。
典型用法¶
- 在
desktopprofile 按上文命令安装并刷新页面。 - 登录 DeepSeek 账号后,页脚第一行显示余额;未登录时余额为「未登录」,用量与花费仍统计。
- 日常对话中看收起三行即可;需要核对模型分项或当前会话时展开面板,或点刷新立即重读日志。
- 若 profile 未组合官方账号插件(
@deepseek-ai/dsh-deepseek-account-platform),余额处显示「账号服务不可用」,用量与花费照常。
本地开发可用 link: 指向工作目录,改代码后刷新即可,无需重装:
dsh plugin --profile desktop add "link:/绝对路径/dsh-usage-widget"
适用场景与注意¶
适合谁:长期在 DSH 桌面端跑会话、希望在侧边栏实时对照余额与今日/本月用量的开发者。
环境:DeepSeek Harness 桌面版(desktop profile,README 验证于 0.2.0-rc.2)。也可装在 web profile,前提是组合了官方账号插件。宿主需 Node ≥ 22.15(DSH 运行时为 Node 24)。部件依赖 profile 的 sessions、uiSession 判定当前会话。
安全:汇总路由 /api/dsh-usage-widget/summary 自行校验 Host(回环与 allowHosts)、拒绝跨站 Origin,仅允许 GET/HEAD。插件以当前 dsh 进程权限运行,安装前建议阅读源码与 MIT 许可证。
已知限制:
- 花费为价目表推算的参考值,以平台用量页为准。
- 「今日」按宿主本机时区划分。
- 日志分批写入,显示可能落后一个批次(通常几秒);点刷新可立即重读。
keepDays若低于 32,月初数据可能被清理,面板会提示本月早期数据可能不完整。
结尾¶
dsh-usage-widget 把账号余额与本地会话日志聚合到侧边栏页脚,减少在设置页、日志与平台之间来回切换。DeepSeek Harness 生态强调「一切皆插件」;社区目录为独立站点,与 DeepSeek/幻方无官方从属关系。
- 目录页:https://www.skillhub.cn/plugins/ZeroOT-Liu/dsh-usage-widget
- GitHub:https://github.com/ZeroOT-Liu/dsh-usage-widget