dsh-turn-trace:在 DSH 里按 Turn、按 Step 查看 token 与费用

前言

在 DeepSeek Harness(DSH)里跑长会话时,Chat 看对话、Trajectory 看事件与时间线,但「这一轮、这一步到底花了多少 token、多少钱」往往要自己对日志或账单。社区插件 dsh-turn-trace(维护者 nrenvo,目录分类 admin-security)在 Web UI 里增加 Turns 标签页:把会话折叠成 turn → step → call,逐步展示 token 与估算费用,与 Trajectory 互补而不替代。

下面介绍它做什么、如何安装,以及使用时需要知道的精度与范围。

这是什么

dsh-turn-trace 是一句定位很直白的话:A receipt for every turn —— 在 Harness 里给每一轮对话一张「小票」。客户端插件,在 Chat、Trajectory 旁增加 Turns;展开一轮可看各 step 的费用,再展开 step 可看该 step 内的 llm / tool / user 调用。

与 Trajectory 的分工(README 原文):Trajectory 回答 when(事件与时间);Turns 回答 how much(每步 token 与金额,以及该步发起了哪些调用)。Chat 与 Trajectory 位置不变;回放、墙钟甘特图、跨会话大盘不在本插件范围内。

实现上视图 纯客户端:读取 shell 已有的聊天快照(useChat → order + nodes),折叠为 turns → steps → money,无 host 插件、无私有 RPC、无轮询;会话推进时快照更新,视图随之重算。

核心功能

界面层级

层级 展示内容
Header turn 数量、会话合计、缓存节省、USD/CNY 切换
Pager 每页 10 个 turn,最新在前;Older 加载更早历史
Turn step 数、墙钟时长、金额、缓存节省金额
Step Step i/n、金额、输入/输出 token、缓存节省、最贵标记、cache-miss 标记
Call llm:模型与耗时;tool:状态、错误、耗时、参数摘要;user:prompt
Inspector 点击任一行:概览、参数、原始结果、来源

Turn 默认折叠,每行显示金额与 step 数。工具调用不消耗 token;step 的 token 归属该 step 的 model 调用,因此金额挂在 step 上而非 tool 行。

标签页语言跟随 DSH 语言设置(英文 / 中文),不根据浏览器猜测。

计价规则

各 call 按 DeepSeek 公布的「每百万 token」单价估算,并用该 call 的时间戳选择峰谷(峰:UTC 工作日 01:00–04:00 与 06:00–10:00)。费率集中在 src/pricing.ts,便于一处更新。均为估算,不是实际账单。

安装与启用

需要 DeepSeek Harness 桌面应用(Homebrew cask deepseek-harness),或任意提供 Web UI 的 dsh profile。

从 npm 安装(推荐):

dsh plugin --profile desktop add dsh-turn-trace

若从本地 checkout 开发安装,README 给出的流程为:进入仓库目录后执行 pnpm install && pnpm build,再:

dsh plugin --profile desktop add link:$PWD

安装后重启应用,打开会话,在 Chat、Trajectory 旁点击 Turns。

当前 npm 包版本为 1.4.8(见仓库 package.json),许可证 MIT。GitHub 仓库:https://github.com/nrenvo/dsh-turn-trace 。

典型用法

  1. 安装插件并重启 DSH,进入任意会话。
  2. 切换到 Turns 标签。
  3. 在 Header 查看本会话 turn 总数、合计费用与缓存节省;需要时用 USD/CNY 切换。
  4. 展开某一 turn,查看每个 step 的 Step i/n、token 与金额。
  5. 继续展开 step 内的 call(例如 llm · model · 6.4s、bash · ok · 41s),点击行打开 Inspector 查看详情。
  6. 历史超过当前页时,用 Older 分页加载更早 turn(仅折叠已加载窗口内的数据)。

适用场景与注意

适合:在 DSH 里调试或长跑智能体时,需要按轮、按步对照 token 与估算成本;与 Trajectory 一起看「何时发生」与「花了多少」。

精度与限制(README Accuracy and limits):

  • Step 计价优先使用该 step 记录的 model id(finalNode.requestConfig.model,其次 providerMetadata.model);无 id 的 step 继承最近记录的 model,并在 Header 中统计;若整场会话未记录任何 model,该 step 保持未计价,不猜测。
  • 未建模中国法定节假日,节假日会话读数可能略偏高。
  • 只对已加载窗口做折叠;更早历史依赖 Older 与 slot 的 loadOlder。

安全与信任:插件以当前 DSH 进程权限运行,通过 Cordis patch 注入 Web 客户端(cordis.patch.yml)。安装前请自行查看源码与 MIT 许可证,确认符合你的环境策略。目录页 https://www.skillhub.cn/plugins/nrenvo/dsh-turn-trace 为社区插件索引,与 DeepSeek / 幻方无官方从属关系;DSH 生态强调「一切皆插件」,本文介绍的是社区维护的 admin-security 类工具之一。

结尾

dsh-turn-trace 把会话成本拆到 turn 与 step,在 Turns 标签里可读、可展开、可点进 Inspector,且与 Chat、Trajectory 并存。若你已在桌面 Harness 中使用 DSH,可用上述 npm 命令安装后直接从 Turns 开始核对逐步费用。

  • 目录页:https://www.skillhub.cn/plugins/nrenvo/dsh-turn-trace
  • GitHub:https://github.com/nrenvo/dsh-turn-trace
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜