前言¶
DeepSeek Harness (DSH) 的核心理念是“一切皆插件”。在开发智能体或进行长时间对话时,准确掌握当前会话的成本是一个常见需求。会话日志中通常包含详细的 token 使用情况,但分散在日志里,难以直观查看。dsh-conversation-cost 插件直接读取会话日志中的权威 usage 数据,将 token 消耗转化为金额,并按不同时段和缓存策略进行计费。
什么是 dsh-conversation-cost¶
这是一个由 Uersx 维护的 DSH 插件,分类属于模型推理。它的核心作用是实时统计当前对话(当前会话)花费了多少钱。它基于会话日志中每条 assistant/message 携带的真实 usage(provider 返回的 token 数),按 DeepSeek V4 官方定价估算费用,并区分高峰与空闲时段。
核心功能¶
- 实时金额显示:在侧边栏底部常驻显示
¥X.XX · N 次,每 5 秒自动刷新。该显示完全替代了出厂 Cordis 面板的徽标位。 - 真实数据读取:不估算 token 数,直接读取会话日志中的权威 usage,包含
inputTokens、outputTokens、cacheReadTokens、cacheWriteTokens和reasoningTokens。 - 分段计费:根据调用实际发生的时间,区分高峰时段(每日 9:00–14:00)和空闲时段,分别累加费用,不做整段统一计价。
- 缓存命中计价:输入计费包含未命中输入、缓存写入(按未命中价)和缓存命中(按未命中价的 1/30)。输出计费按输出价计算。
- 模型工具:提供
conversation_cost工具,模型可主动调用,返回逐次明细和汇总。 - 技能:提供
conversation-cost技能,指导模型何时调用该工具以及如何汇报费用。
安装与启用¶
安装前请确保已安装 DeepSeek Harness 并配置好 profile。支持本地目录安装和 GitHub 远程安装。
# 从本地目录安装
dsh plugin --profile demo add /path/to/dsh-conversation-cost
# 从 GitHub 安装(自动拉取源码并构建)
dsh plugin --profile demo add github:Uersx/dsh-conversation-cost
安装完成后,验证配置层是否加载成功:
dsh --profile demo --dump-config
输出中应包含 # == dsh-conversation-cost 层。
典型用法¶
当用户询问“当前对话花费多少钱”或“成本”时,模型会自动触发 conversation_cost 工具。
工具调用参数:
{
"timeBucket": "auto"
}
timeBucket 参数可选:
* auto:默认,按每条调用实际时间分别计费。
* peak:全部按高峰价计费。
* off-peak:全部按空闲价计费。
工具返回示例:
当前对话(会话 session-xxx)模型费用估算(按每次调用实际时段)
- 模型调用:171 次,其中可计价 171 次
- 总费用:¥3.8600
· 空闲时段:¥3.8600(171 次调用)
· 高峰时段:¥0.0000(0 次调用)
- 输入 tokens:759975(缓存命中 20600448,缓存写入 0)
- 输出 tokens:140346
适用场景与注意¶
- 侧边栏显示限制:侧边栏的金额读数只在插件以包名安装进带完整界面的 profile 时加载(例如
dsh plugin --profile web add ...)。使用--patch源码路径挂载时,只会加载 host 半边(核心逻辑和工具可用,但侧边栏读数不会出现)。 - 计费准确性:插件显示的金额为基于官方定价的估算值,实际以平台账单为准。对于未知模型,会单独列出 token 统计,但不计入费用。
- pnpm 依赖限制:如果你的 pnpm 版本 ≥ 10 或 ≥ 11,且直接从 Git 安装该插件,首次安装可能会报
ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED错误。需要在 profile 的pnpm-workspace.yaml中添加allowBuilds配置白名单。
结尾¶
dsh-conversation-cost 为 DSH 用户提供了从日志数据到费用估算的完整闭环,既能通过侧边栏实时监控,也能通过工具让模型主动汇报成本。适合需要对成本敏感的长期对话或智能体开发场景。