前言¶
在 DeepSeek Harness(DSH)里跑多会话、后台任务或子智能体时,token 会分散在不同窗口和投影里。内置界面能看到当前任务的上下文占用,但要把「全部会话合计」和「当前主视图任务」放在一起对照,并进一步看到逐会话、逐轮明细,通常需要自己翻日志或心算单价。
dsh-token-cost 是社区插件,在侧栏底部常驻两行用量与估算费用,悬停展开逐会话明细,再悬停单行可看该会话逐轮用量;数据来自已有会话投影与 Host 侧读日志,不新增模型调用、提示词或工具。下面介绍它的定位、安装与典型用法。
这是什么¶
- 名称:
dsh-token-cost(仓库wojiao42/dsh-token-cost) - 维护者:wojiao42
- 版本(package.json):1.7.2,MIT 许可证
- 分类:社区目录条目为
usage(用量统计与展示)
插件在 DSH 侧栏 footer 注入两行徽标:第一行是全部会话的估算费用合计(有任务在跑时金额前有一个绿点);第二行是当前主视图任务的费用与上下文占用百分比。输入框下方刻意不重复显示同一份合计。费用由可编辑单价表估算,计量逻辑与官方 dsh-token-meter 一致。
核心功能¶
侧栏两行徽标¶
侧栏展开时示例形态如下(金额为示意):
全部 ●≈¥0.1240
当前 ≈¥0.0330 · 45.4%
- 全部:所有有用量数据的会话费用合计;截至时刻不在徽标上,只在悬停展开的面板头部显示。
- 当前:主视图里那个任务的费用 +
contextPressure.projectedTokens / contextWindow得到的占用百分比。 - 侧栏收起时宽度不够两行,降级为只显示一行合计金额。
悬停明细面板¶
鼠标悬停徽标即展开面板(移开约 0.2 秒后收起;点击可钉住,键盘 focus 同样展开)。面板头部包含合计金额,以及会话数、运行中数、缓存命中率、最高占用、截至时刻、整体 tok/s、平均首 token 等元信息。
列表中每个会话两行:
- 标题行:状态圆点、标题、token、费用、上下文占用%;当前任务加粗,运行中排最前;点击行可切换会话。
- 时间行:例如
运行中 12m或最近 3m、轮/步、平均首 token、模型耗时、工具耗时、解码tok/s。
若还有会话尚未取到投影数据,面板底部会出现 「载入其余会话 · N」。
逐轮用量预览¶
悬停某一个对话行时,在该行右侧再弹出一层该会话的逐轮用量:每轮一行显示轮号与触发该轮的用户话术,下一行是 用时 · 时刻 · 步数 · 工具数。有重试标「近似」、未闭合标「进行中」、用量不可证明时显示 —。点击某一轮会切换到该会话并把主视图定位到那一轮。
逐轮数据由 Host 半侧通过 GET /token-cost/turns?sessionId=<id>&limit=30[&refresh=1] 提供,折叠使用官方 @deepseek-ai/dsh-token-meter 的 deriveTurnTokenUsage,与聊天里的「本轮用量」同源。Host 与客户端各缓存 15 秒,悬停有 140ms 防抖。
数据口径(不增请求模型)¶
- 会话级 token、占用、模型选择来自已有投影(
tokenUsage/contextPressure/modelSelection)。 - 冷会话:Host 基线只覆盖当前活跃 Session;对其他窗口或后台任务,插件调用
ctx.sessions.refreshProjections(id)按需取证(不打开会话也可读全部投影),顺序为运行中优先、其次按最近更新,每次列表更新最多取 48 个且不重复请求。 - 已删除、已归档或不在会话列表里的会话没有数据,不计入合计。
- 插件不会发起额外的模型 API 请求;客户端向本机 Host 读投影与日志。
单价与费用估算¶
费用按当前模型查表计算:未缓存输入 × cacheMiss +(缓存读 + 缓存写)× cacheHit + 输出 × output。默认表在 client.js 顶部(单位:人民币元 / 每百万 token):
const PRICES = {
'deepseek-flash': { cacheHit: 0.02, cacheMiss: 0.4, output: 4 },
'deepseek-v4-pro': { cacheHit: 0.02, cacheMiss: 0.4, output: 4 },
};
表中没有的模型仍显示 token 与占用,费用列显示 —。README 明确说明:这是估算值,不是账单;dsh-token-meter 对 CJK 与 JSON 可能低估,插件也无法感知折扣与赠送额度。对账请以官方账单为准,或按实际价格改表。
安装与启用¶
DSH 生态里插件通过 profile 组合安装。桌面 profile 从 GitHub 安装的正式命令为:
dsh plugin --profile desktop add github:wojiao42/dsh-token-cost
也可从插件市场安装(社区目录由 awesome-dsh-plugin 维护,与 DeepSeek / 幻方无官方从属关系)。安装后刷新页面。
卸载:
dsh plugin --profile desktop remove dsh-token-cost
生效说明:
- 仅改浏览器半侧
client.js:在侧栏「插件」页将dsh-token-cost开关关掉再打开即可,无需重启 Harness。 - 改过 Host 半侧
index.js(例如逐轮路由):必须重启一次 Harness;重启前客户端可能提示「逐轮数据需要重启一次 Harness」。
安装前建议自行查看仓库源码与 MIT 许可证;插件以当前 DSH 进程权限运行,与任何社区插件一样,信任边界取决于你安装的 bundle 内容。
典型用法¶
经过上面的安装步骤后,可按下面顺序使用:
- 看侧栏底部两行:全部会话合计与当前任务费用、占用。
- 鼠标悬停徽标打开明细,核对各会话 token、费用与时间行指标。
- 悬停某一行查看该会话最近若干轮用量;需要补齐后台会话时,点 「载入其余会话 · N」。
- 点击逐轮预览中的某一轮,跳转到对应会话与轮次,便于对照日志排查。
- 若更换模型或调价,编辑
client.js中的PRICES后按「关掉再打开插件」重载客户端 bundle。
适用场景与注意¶
适合谁
- 长期在 DSH 里并行多会话、子智能体或后台任务,需要一眼看到「全局合计 vs 当前任务」的开发者。
- 希望用同一套
dsh-token-meter规则做费用粗算、并下钻到逐轮触发句与步数/工具数的人。
需要注意
- 运行时长(
运行中 Nm)是页面打开后客户端观察到的近似值,刷新页面会重新起算;投影不提供「本次运行开始的绝对时刻」。 - README 未提供「今日花费 / 近 5 分钟花费」等按时间分桶账目,因现有投影缺少相应事件时间。
- 合计包含所有有用量数据的会话;若与当前单会话数字不一致,多半是冷会话尚未取证,等待面板载入或点「载入其余会话」。
- 社区插件非官方应用商店条目;星标与传播度以 GitHub 页面为准(线索中星标为 0)。
结尾¶
dsh-token-cost 把 token 用量与可编辑单价下的估算费用收敛到侧栏一处:两行徽标负责日常扫一眼,悬停面板负责逐会话与时间维度,再悬停单行可到逐轮并一键跳转。它不改变模型行为,只读已有投影与日志。
- 插件目录页:https://www.skillhub.cn/plugins/wojiao42/dsh-token-cost
- 源码与完整说明:https://github.com/wojiao42/dsh-token-cost