前言¶
用 DSH(DeepSeek Harness)网页端跑 DeepSeek 会话时,Token 用量、本次会话花费、累计花费和账号余额往往分散在不同位置。dsh-token-cost 是一个 DSH 网页端插件,提供一个可拖动的 DeepSeek 鲸鱼悬浮球,用于查看 Token 用量、本次会话/累计花费与 DeepSeek 账号余额。
它复用 DSH 已配置的 DEEPSEEK_API_KEY 查询 DeepSeek 官方余额,并通过 DSH 服务端按会话日志记账,而不是在前端做粗略估算。
这是什么¶
dsh-token-cost 是一个 DSH 网页端插件,由 PeterZoneZz 维护,许可证为 MIT。
它面向 DSH 的 web profile 使用,安装后会在浏览器页面中提供一个鲸鱼悬浮球,用于查看:
- 剩余余额百分比
- 本次会话费用
- 输入 / 缓存读 / 缓存写 / 输出四类 Token 用量
- 所有会话累计花费
- DeepSeek 官方账号余额
GitHub 仓库地址为:
https://github.com/PeterZoneZz/dsh-token-cost
核心功能¶
鲸鱼悬浮球¶
插件提供一个毛玻璃质感的小圆球悬浮在页面上。鼠标悬停时鲸鱼会摇摆,外圈环形进度会显示剩余余额百分比。
展开、收起与拖动¶
点击鲸鱼可以展开卡片,再次点击鲸鱼可以收起。卡片打开时也可以拖动,鲸鱼和卡片会一起移动。
支持以下关闭卡片的方式:
- 点击卡片外部
- 按
Esc - 点击 ✕
- 再次点击鲸鱼
拖动鲸鱼靠近屏幕左右边缘时松手,浮窗会自动吸附到边缘。浮窗位置会记录在浏览器本地 localStorage 中。
卡片会优先在鲸鱼旁空间最大的一侧展开,并尽量不超出屏幕。
DeepSeek 官方账号余额¶
插件复用 DSH 已配置的 DEEPSEEK_API_KEY,调用 DeepSeek 官方接口:
GET /user/balance
卡片中会展示总余额,以及赠送 / 充值构成。
如果未配置 DEEPSEEK_API_KEY,Token 用量与费用显示不受影响,只有余额部分会显示降级提示。
剩余余额可视化¶
剩余余额以每次打开 DSH 页面时查到的余额为基准:
剩余 % = 当前余额 ÷ 基准余额
如果中途充值,基准余额会随之提升,剩余百分比会重置为 100%。
服务端精确记账¶
插件会注册 tokenCost 会话投影单元,在 DSH 服务端逐事件回放会话日志。
记账时会按每个请求实际使用的模型单价计费,因此会话中途切换模型时,费用仍然按对应模型计算,而不是用当前模型乘以总 Token 做客户端估算。
用量明细¶
卡片会展示:
- 本次会话费用
- 输入 Token
- 缓存读 Token
- 缓存写 Token
- 输出 Token
- 所有会话累计花费
- 按模型拆分的花费明细
外观¶
插件支持:
- 亮 / 暗主题自适应
- 中英双语
- 数字弹跳动效
安装与启用¶
1. 获取项目到本地¶
README 中的安装步骤使用了占位示例:
git clone <your-repo-url> dsh-token-cost
这不是可直接复制的完整安装命令。可以先从 GitHub 仓库获取源码到本地路径:
https://github.com/PeterZoneZz/dsh-token-cost
2. 安装进 DSH 的 web profile¶
将项目放到本地路径后,执行:
dsh plugin --profile web add file:/path/to/dsh-token-cost
这里的 file:/path/to/dsh-token-cost 需要替换为本地实际路径。该方式使用本地 file 依赖安装插件。
3. 重启 DSH Web¶
安装后需要重启 DSH Web:
dsh web
然后在浏览器中刷新页面,即可在右下角看到鲸鱼悬浮球。
配置余额查询¶
余额查询依赖 DEEPSEEK_API_KEY。有两种常见配置方式:
- 在 DSH Web 的模型设置页写入
DEEPSEEK_API_KEY。 - 启动 DSH 前设置环境变量:
export DEEPSEEK_API_KEY=sk-...
不配置该 Key 时,Token 用量与费用显示仍然可用,只是余额部分会显示降级提示。
配置价格表与余额查询¶
价格表和余额查询可以通过 profile 的 cordis.patch.yml 覆盖。
价格单位为:
元 / 百万 tokens
价格按模型 id 匹配,未匹配到具体模型时回落 default。
计费规则为:
cacheWrite按输入价计费cacheRead按缓存命中价计费
示例如下:
- id: token-cost
config:
prices:
deepseek-chat: { input: 2, cacheRead: 0.5, cacheWrite: 2, output: 8 }
deepseek-reasoner: { input: 4, cacheRead: 1, cacheWrite: 4, output: 16 }
deepseek-v4-flash: { input: 1, cacheRead: 0.25, cacheWrite: 1, output: 4 }
default: { input: 2, cacheRead: 0.5, cacheWrite: 2, output: 8 }
balance:
enabled: true
apiKeyEnv: DEEPSEEK_API_KEY
baseUrl: https://api.deepseek.com
pollMs: 60000
上面的价格只是配置示例,实际使用时应按 DeepSeek 官方价格调整。
典型用法¶
下面介绍安装后的几个常见操作。
查看剩余余额¶
鼠标悬停在鲸鱼悬浮球上,外圈环形进度会显示剩余余额百分比。
查看费用与余额¶
点击鲸鱼展开卡片,可以看到:
- DeepSeek 账号余额
- 本次会话费用
- 输入 / 缓存读 / 缓存写 / 输出 Token
- 所有会话累计花费
- 按模型拆分的花费
移动悬浮球¶
按住鲸鱼拖动,可以调整浮窗位置。靠近屏幕左右边缘松手时,浮窗会自动吸附到边缘。
关闭卡片¶
可以按以下任一方式关闭卡片:
- 点击卡片外部
- 按
Esc - 点击 ✕
- 再次点击鲸鱼
适用场景与注意¶
这个插件适合在 DSH 网页端使用 DeepSeek 的开发者,尤其是需要频繁确认 Token 用量、本次会话花费、累计花费和账号余额的场景。
使用前注意以下几点:
- 余额查询依赖
DEEPSEEK_API_KEY,未配置时余额部分会降级。 - 价格表可通过
cordis.patch.yml覆盖,官方调价后需要同步更新。 - 浮窗位置记录在浏览器本地
localStorage中。 - 插件会访问 DSH 会话日志并调用 DeepSeek 官方余额接口,运行权限与当前 DSH 进程一致。安装前应检查源码、配置项和许可证。
- 该插件许可证为
MIT。
结尾¶
dsh-token-cost 的价值在于把 DeepSeek 的 Token 用量、会话花费、累计花费和账号余额集中到 DSH 网页端的一个悬浮球里,便于在实际调试和运行智能体时快速确认成本。
GitHub 仓库地址:
https://github.com/PeterZoneZz/dsh-token-cost