前言¶
在 DeepSeek Harness 中进行长时间对话时,容易忽略两个关键问题:当前是否处于计费高峰时段,以及本次会话已经花费了多少美元。这两个信息通常需要手动刷新页面或切换到设置页面才能查看,会打断对话流。dsh-peak-cost 在 composer 下方的 dock 区域添加一行显示,实时回答上述三个问题:是否在高峰时段、本次会话已花费金额、账户余额。
插件定位¶
dsh-peak-cost 是一个 DeepSeek Harness 插件,由 ogidimitrov 维护,属于联网工具分类。它通过在 composer dock 插槽中渲染一行状态信息,为当前会话提供计费窗口判断、美元花费估算与账户余额查询,无需离开当前对话界面。
核心功能¶
一行状态显示¶
插件在 composer 下方的 dock 区域(与内置的步数计数器和 token 计数器并列)显示一行状态:
● Off-peak · ≈ $0.338 · bal $7.27
这行信息包含三个部分:
- 峰值状态:
Off-peak表示当前处于非高峰时段,插件每 30 秒根据时钟重新评估一次 - 会话花费:
≈ $0.338是本次会话截至当前的美元花费估算,每次 settled 模型调用后更新 - 账户余额:
bal $7.27是账户余额,每 60 秒从 Host 的账户远程接口读取一次,支持两种钱包类型累加
悬停面板¶
将鼠标悬停在状态行上,会打开一个主题面板,显示成本归因表:
Content In context First time Re-sent
Tool results 40k $0.021 $0.0047
Web results 18k $0.0014 $0.0110
Assistant replies 12k $0.0048 $0.00
Your messages 4.2k $0.0003 $0.0028
Model thinking 6k $0.0024 $0.00
Tool schemas 8.8k $0.0013 $0.00
System prompt 1.4k $0.0002 $0.00
Model output $0.028
Session total $0.423
每行对应一种内容类型,回答两个问题:
- First time:该内容首次进入上下文时的成本(按缓存未命中输入计费一次)
- Re-sent:该内容在后续每次调用中被重复发送时的成本(按缓存命中输入计费)
通过这两列可以回答“本次会话中搜索数据花费了多少”这类问题:一次查询的缓存未命中成本加上后续所有缓存命中的重发成本。
成本计算逻辑¶
插件的成本计算由 Host 端完成,客户端只负责渲染。Host 端维护一个名为 peakCost 的会话投影,其 wire 视图携带累计花费。
每条 assistant/message 事件按自身信息计价:
- model:从消息自身的 provider 元数据获取,支持在
deepseek-flash和deepseek-v4-pro等模型间切换的会话 - tokens:分别计价 cache-miss input、cache-hit input、cache-write、output,与 provider 报告的使用量一致
- billing window:从消息的时间戳获取,支持跨高峰边界的会话正确计价
- discount:非高峰时段费率是高峰时段的一半
所有调用的实际计费使用 provider 报告的数字,因此分类成本之和等于真实账单,只有分类之间的分摊是估算值(每字符折合 4 个 token)。
余额获取¶
余额从 Host 的 ctx.remote.account.getBalance 获取,与设置页面的账户页面调用的是同一个接口。该接口返回两种钱包类型(充值钱包和奖励/赠款钱包)的余额之和,因此面板中始终列出两种钱包。
插件通过 scoped ctx.inject(['remote.account'], …) 捕获该接口,并在根上下文仍然保留 ctx.remote.account 作为回退。余额更新频率为 60 秒,且每当窗口重新获得焦点时也会刷新一次。余额为可选:未登录账号、仅使用 API Key 的设置、读取失败或未提供账户传输的构建都不会显示余额,成本行保持完整。
缓存命中与成本节省¶
DeepSeek Harness 在每次模型调用时发送完整对话上下文,其中绝大部分是缓存命中。缓存命中的输入按低得多的费率计费,这解释了为什么数百万提示 tokens 的会话仅花费几分钱。
例如,在 deepseek-flash 非高峰时段的会话中:
| tokens | rate (off-peak) | cost | |
|---|---|---|---|
| cache-miss input | 184,312 | $0.15 / 1M | $0.028 |
| cache-hit input | 21,805,952 | $0.003 / 1M | $0.065 |
| output | 102,878 | $0.60 / 1M | $0.062 |
| total | $0.155 |
若不使用提示缓存,22M 提示 tokens 在非高峰时段将花费约 $3.36。面板中的 First time / Re-sent 列展示了同一会话的缓存折扣。
安装与启用¶
该插件是一个 Harness bundle,声明了 dsh.bundle.patch 和 dsh.client 两个部分。安装 bundle 后会同时挂载 Host 投影和 Web 入口。
在 DSH 的插件页面安装 bundle:
github:ogidimitrov/dsh-peak-cost
或在 agent 会话中通过插件管理器的 install_bundle 动作安装:
install_bundle('github:ogidimitrov/dsh-peak-cost')
安装后,一行状态会立即出现在 composer dock 中。
插件需要当前 DeepSeek Harness 桌面或 Web 应用提供会话投影注册表、conversation.composer.dock 插槽和客户端语言服务,无额外 npm 依赖和构建步骤。
要移除插件,在插件页面取消安装该 bundle 即可。
典型用法¶
安装后,在任意会话中即可看到状态行:
● Off-peak · ≈ $0.338 · bal $7.27
- 观察峰值状态:
Off-peak或Peak,每 30 秒更新 - 查看会话花费:右侧数字随每次模型调用更新
- 查看余额:
bal右侧数字每 60 秒刷新一次,支持鼠标悬停查看钱包详情
将鼠标悬停在状态行上,查看按内容类型分类的成本归因表,了解哪些内容类型在本次会话中花费最多。
适用场景与注意¶
适合需要精细控制 DeepSeek 费用、希望实时了解高峰时段状态与账户余额的开发者和用户。对于长时间对话、频繁切换模型或需要监控成本的场景尤为有用。
该插件以当前 DSH 进程的权限运行,安装前应检查源码与许可证(MIT)。插件依赖当前 DSH 应用提供的会话投影注册表和 composer dock 插槽,不支持自行构建或作为独立服务运行。
结语¶
dsh-peak-cost 在对话界面中提供了三个核心信息的即时可见性:峰值时段状态、会话美元花费和账户余额,并通过悬停面板细化到内容类型的成本归因。它不依赖额外构建步骤,安装即用,适合需要实时监控 DeepSeek 计费细节的用户。
目录页:https://www.skillhub.cn/plugins/ogidimitrov/dsh-peak-cost
GitHub:https://github.com/ogidimitrov/dsh-peak-cost