在使用 DeepSeek Harness (DSH) 进行开发或使用大模型时,会话的 token 消耗与成本是常需关注的指标。DSH 本身不提供显式的用量展示,手动统计较为繁琐。dsh-usage-cost 插件通过在状态栏和详情面板提供实时数据,解决了这一需求。
插件定位¶
这是一个本地化的用量监控工具。由 lhh666-6 维护,开源协议为 MIT。它不涉及任何数据上传,所有计算均在本地完成,数据通过 projection 模式持久化。
核心功能¶
插件提供常驻状态栏胶囊与详情面板,数据来源分为流式估算与请求结束后的权威校准。
- 常驻胶囊显示:注册到会话标题栏右侧,实时显示模型名、输入/输出 token、本次会话成本。流式输出期间数字会实时滚动,估算值带
~标记。 - 详情面板:点击胶囊展开,显示输入/输出 token、缓存命中/未命中 token、总 token、本次成本、耗时、tokens/s、数据状态(估算中/已校准/未完成),以及今日/本月累计成本。
- 本地实时估算与权威校准:流式期间使用
gpt-tokenizer进行估算,按每 50 个 chunk 或每 100ms 节流;请求结束后使用 DeepSeek 返回的usage(prompt_tokens/completion_tokens/prompt_cache_hit_tokens/prompt_cache_miss_tokens)进行校准。 - 数据持久化:本次会话数据通过 session projection 落盘;今日/本月/按模型的累计数据写入
$DSH_HOME/usage-cost/aggregates.json,重启不丢失。 - 自定义价格表:支持自定义价格表配置,默认价格以人民币/百万 token 为单位。
安装与启用¶
使用官方的 dsh plugin 命令安装:
dsh plugin --profile desktop add dsh-usage-cost
dsh plugin --profile web add dsh-usage-cost
安装后重启 DSH(或切换一次 profile),发起对话时状态栏右侧即会出现用量胶囊。
配置价格表¶
默认价格(人民币 / 百万 token)如下:
| 模型 | 缓存命中 | 缓存未命中 | 输出 |
|---|---|---|---|
deepseek-chat |
¥0.5 | ¥2 | ¥8 |
deepseek-reasoner |
¥1 | ¥4 | ¥16 |
如需修改或添加模型,编辑 $DSH_HOME/settings.yaml:
usage-cost:
models:
- id: deepseek-chat
cacheHit: 0.5
cacheMiss: 2
output: 8
- id: deepseek-reasoner
cacheHit: 1
cacheMiss: 4
output: 16
chunkInterval: 50
timeIntervalMs: 100
技术实现¶
插件采用双面架构,与 dsh-plugin-desktop 同一套插件系统:
- Host 面:注册
usageCostsession projection,监听session/event累计数据,并处理本地持久化。 - Client 面:注册状态栏胶囊组件,通过
useProjection('usageCost')读取实时值。
注意事项¶
- 数据隐私:仅本地计算与持久化,不上传任何内容。
- 数据完整性:流式中断或报错会保留估算并标记“未完成”,不会覆盖历史准确数据。
- 会话隔离:切换会话时数据由投影按会话隔离,不会串数据。
- 多币种:暂不做汇率转换,默认为人民币。
- 模型交互:不注入任何模型可见指令、工具或请求字段,只做观察。