dsh-token-panorama: Tracking Session Token Flow and Costs in DSH

前言

在 DeepSeek Harness(DSH)里跑智能体,会话一多,token 会分散在多次调用、子代理会话和不同工作区里。平台会持久化会话数据,但默认界面并不提供「累计用了多少、缓存命中如何、峰谷时段花了多少钱、哪个项目最费 token」这类汇总视图。若只靠翻日志或手工估算,很难在调模型、清上下文、换工作区时做有依据的决策。

下面介绍社区客户端插件 dsh-token-panorama(维护者 jiuwu02):从 DSH 自带的会话持久化服务读取全部会话日志,在侧边栏打开一块 Token Panorama 面板,把用量、缓存、成本估算和导出放在同一套时间筛选下;另在输入区与 Composer 底部提供上下文清理/压缩与提示词优化工具。数据不爬外部日志,也不依赖第三方服务。

这是什么

dsh-token-panorama 是注册在 DSH Web 客户端侧栏与主面板的 bundle(分类:客户端)。它解决的核心问题是:把各会话的 token 用量汇成可筛选、可导出、可估价的「全景」,并附带与上下文、提示词相关的快捷操作。

核心功能

用量与缓存

  • 累计总量:累计 token,并拆分 input / output / cache-read / cache-write 与调用次数。
  • 缓存命中率:以 input 侧 token 为分母,展示 cache read 占比及命中、未命中的绝对数量。

成本与时段

  • 成本估算:按 DeepSeek 峰谷时段分别计价,各时段金额分开显示。
  • 共享时间范围:筛选栏统一控制所有卡片(All / Today / Last 24 hours / This week / Last 7 days / This month / Last 30 days,以及 From / To 日期)。热力图、趋势、成本、模型、会话、工作区等卡片在同一区间内重算。
  • 分时轴:范围收窄到 Today 或 Last 24 hours 时,趋势卡切换到按小时粒度,并补齐空闲时段,避免折线跨过无数据的区间。

可视化与分布

  • 日历热力图:GitHub 式周列或按月迷你日历,通过 Week / Month 切换。
  • 趋势曲线:Hour / Day / Week / Month / Year(Hour 仅在不足一天的范围出现);悬停可读该点精确数值。
  • 按模型汇总:各模型 token 与调用次数,按用量排序。
  • 按工作区汇总:按会话头记录的工作目录分组,便于看哪个项目成本最高。
  • 会话用量树:默认只列主会话;行首 ▶ 展开所属 subagent 会话,避免卡片随子代理数量膨胀。可按 Session / Tokens / Calls / Created 排序;可隐藏已归档会话(选择会记住);表格 figures 跟随当前日期范围。
  • 分页:每页 40 个会话组,大历史不会一次渲染全部行。

导出与刷新

  • Export:按日桶导出 CSV(UTF-8 BOM + CRLF)或 JSON;另有按会话 CSV,含工作区、父会话、成本等列。
  • 增量刷新:按会话 revision token 决定重读范围,Refresh 时只解码有变化的会话;面板打开时会自动刷新,大历史首次之后约秒级完成后续刷新。
  • 节假日:任意年份运行时拉取并缓存,新年无需重新发版。

上下文与提示词工具

  • Context actions:Composer 底部 Dock 提供 Clear(橙)与 Compact(绿),以及 /clear-context、/compact-context、/compact。Compact 可在对话中途执行:在摘要前固定切点,摘要期间新内容保留在摘要之后 verbatim;检查点复用平台「context compacted」标记及 item/token 计数。Clear 会替换整个表面,需空闲会话。
  • Prompt optimization:输入框工具栏 Optimize 将草稿发给可配置的优化模型,改写结果写回 Composer,附件不变;请求可携带会话上下文摘录。指令、路由与是否带上下文在设置窗 Prompt optimization 页配置。

计费配置

计费参数均为插件 config。面板头 General settings 打开设置窗,保存后立即重算价格,无需重启 DSH。设置窗按结构编辑(非纯键值):六个标签页分别为 Models & prices、Peak schedules、Holidays、Context、Prompt optimization、General(时区与货币)。支持将计费配置导出/导入 JSON(导入仅填表,须点 Save 才生效)。模型价目表默认按日志中实际出现的模型、按用量排序;未定价模型回退 defaultPrice,成本卡会明示而非静默按零计费。四列分别对应 miss input、cache-hit input、cache write、output。

界面文案随平台 locale 中英文切换。

安装与启用

从包含 package.json 的插件包目录本地安装(Plugins 页或插件管理器均可):

plugin_manager install_bundle target="<absolute path to this directory>"

安装后侧边栏出现 Token Panorama,点击进入主面板。卸载时在 Plugins 页移除 dsh-token-panorama bundle。

注意:插件以当前 DSH 进程权限运行,安装前应自行审阅源码与 MIT 许可证,确认符合你的安全与合规要求。

典型用法

  1. 在侧边栏选择 Token Panorama。
  2. 在筛选栏选时间范围,或填写 From / To。
  3. 热力图在 Week / Month 间切换;趋势在 Hour / Day / Week / Month / Year 间切换(子日范围才出现 Hour)。
  4. 悬停趋势点查看精确数值。
  5. 在 Session usage 树中展开子会话、排序列、取消 Show archived 仅看在用会话;用 Export sessions CSV 导出当前表格。
  6. 大列表用 Previous / Next 翻页(每页 40 组)。
  7. Refresh 重扫;Export 导出日桶 CSV / JSON。
  8. General settings 调整时区、货币、峰谷窗口、节假日与价目表,保存后立即重价。

适用场景与注意

适合长期在 DSH Web UI 里开发智能体、需要按项目/模型/时段复盘 token 与估算成本、并希望在同一界面做上下文压缩或提示词优化的开发者。

不适合期望「不读本地会话持久化、纯外部监控」的场景:本插件明确依赖平台会话持久化服务,且为客户端 bundle,需满足上述 DSH 版本与 Web profile 条件。社区目录页的星标与仓库当前为公开开源状态;具体版本以仓库 package.json(当前资料为 1.0.0)为准。

结尾

dsh-token-panorama 把 DSH 已有会话数据整理成可筛选的全景面板与导出,并把清上下文、压缩与提示词优化嵌进日常输入流程,便于在「一切皆插件」的 DSH 生态里做用量与成本上的可观测性。

羽毛球分组比赛记分
小程序二维码

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

Xiaoye