前言¶
在 DeepSeek Harness(DSH)里做智能体或长对话开发时,宿主自带的用量信息往往只反映「当前会话、当前上下文」,很难回答:某个工作区一共消耗多少 token、哪几条会话最贵、最近一天或一周花了多少钱、缓存读占比是否健康。社区插件 dsh-session-usage(维护者 Aily-DSH,分类:模型推理)通过解析本地会话日志,把每个会话的输入、缓存读、缓存写、输出 token 与人民币估算费用汇总成表,并在侧栏会话行上直接标注,且历史会话从日志里回溯,而不是从安装插件起才计数。
下面介绍它的定位、能力、安装方式与使用注意。
这是什么¶
dsh-session-usage 是给 DSH Web GUI / 桌面客户端用的「对话用量」插件:只读 $DSH_HOME 下的会话日志(默认 ~/.dsh),在设置页展示可排序的用量表,并与侧栏联动。数据与计价均在本地完成,不联网。
与「只看当前上下文」的宿主视角相比,它面向的是项目级、时间窗口级、会话级的统计与对比。
核心功能¶
对话用量表与两种视图¶
每个会话一行,包含标题、所属工作区、四类 token(输入 / 缓存读 / 缓存写 / 输出)以及估算费用(人民币)。视图可在 Token 用量 与 费用 之间切换,选择会被记住。
时间窗口与侧栏标注¶
支持最近 10 分钟、30 分钟、1 小时、3 小时、1 天、7 天、30 天以及 全部。顶部汇总卡片展示当前窗口内的总 token、缓存命中比例与估算费用。同一套窗口与视图会同步到侧栏:每条会话行上显示对应 token 或费用数字,便于边用边看。
峰谷价与节假日¶
费用按 deepseek-flash 价目折算(人民币 / 百万 token),并将 deepseek-v4-pro 收敛到同一计价行。高峰为北京时间工作日 09:00–12:00、14:00–18:00;其余时段(含周末)按低谷价半价;法定节假日与调休依据内置 lib/holidays.js(可由 tools/gen-holidays.mjs 重新生成)。
增量解析与缓存¶
插件解析 $DSH_HOME/sessions/<project>/<session>/session.v4.jsonl.zstd,结果写入 ~/.dsh/dsh-session-usage/cache.json。仅当日志文件体积或修改时间变化时才重新解压解析,以降低重复开销。宿主提供仅回环访问的路由 GET /api/dsh-session-usage/list,返回汇总后的列表。
解析方式(简要)¶
DSH 会话日志是追加写的独立 zstd 帧序列;Node 内置 zlib 的 zstdDecompressSync 遇首帧即停,因此宿主按 zstd 魔数切分后逐帧解压。为控制成本,先用子串预过滤跳过体积巨大的 tool/result、request/header 行,再解析携带 usage 计费字段的事件;每个会话文件以 mtime + size 命中缓存。
环境要求¶
- DeepSeek Harness >= 0.2.1-rc.2(Web GUI / 桌面客户端)
- Node.js
^22.19.0 || >=24.0.0(依赖内置 zstd 解压能力) - 进程需能读取
$DSH_HOME(默认~/.dsh)
安装与启用¶
在 Windows 桌面版示例路径下,官方 README 给出的安装方式为:
cd "/d/Program Files/DeepSeek Harness/resources/runtime/cli/bin"
./dsh.cmd plugin --profile desktop add "git+https://github.com/Aily-DSH/dsh-session-usage.git"
若 dsh 已在 PATH 中,同一仓库地址也可写作:
dsh plugin --profile desktop add "git+https://github.com/Aily-DSH/dsh-session-usage.git"
本地开发时可使用 file: 协议指向克隆后的目录(路径按本机修改)。安装完成后需重启一次 DeepSeek Harness 客户端,再打开 设置 → 对话用量。
卸载:
dsh plugin --profile desktop remove dsh-session-usage
可选删除 ~/.dsh/dsh-session-usage/。插件当前版本为 0.1.0,许可证 MIT。
典型用法¶
经过上面的步骤进入 设置 → 对话用量 后,可按下面顺序查看:
- 顶部汇总卡片:当前时间窗口内的总 token、缓存命中比例、估算费用。
- 切换时间窗口(10 分钟至「全部」)与视图(Token 用量 / 费用)。
- 在中间表格中按会话对比四类 token 与费用;侧栏会话行会显示与当前窗口、视图一致的数字。
插件没有必填配置项。若解析结果异常或需全量重建,可删除 ~/.dsh/dsh-session-usage/cache.json 后再次打开设置页;缓存版本(CACHE_VERSION)升级时也会自动重建。
适用场景与注意¶
适合:在 DSH 中长期跑多会话、多工作区,需要回答「总共烧了多少 token / 钱」「哪几条会话最贵」「某段时间用量与缓存占比」的开发者。
务必知晓:
- 插件以当前 DSH 进程权限运行,只读本地日志;安装前建议浏览 GitHub 仓库 源码与 MIT 许可证。
- 费用为估算,与官方控制台账单可能存在几个百分点的四舍五入差异,以账单为准。
- 仅统计本机
$DSH_HOME下日志中存在的事件;其它机器或其它客户端产生的会话若未同步到本地则不会出现。 - 首次打开且历史会话很多(例如数百条)时,会有一定解析耗时,之后主要走缓存。
DSH 生态强调「一切皆插件」;SkillHub 目录页 与 GitHub 上的社区索引为独立收录渠道,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-session-usage 把 DSH 本地会话日志转成按会话、按时间窗口的 token 与人民币估算,并接到设置页与侧栏,适合需要量化对话成本与缓存效果的 Harness 用户。
- 目录页:https://www.skillhub.cn/plugins/Aily-DSH/dsh-session-usage
- 源码与说明:https://github.com/Aily-DSH/dsh-session-usage