前言¶
在 DeepSeek Harness(DSH)的插件模式下,模型调用本身可以正常运行,但多次会话之后,token 用量往往缺少统一落盘。若只靠单次调用日志,很难回答“最近花了多少 token”“某个模型用了多少”“预算是否接近上限”这类问题。
下面介绍 dsh-cost-ledger。它是一个 DSH 插件,用于把 LLM token 用量记录到 SQLite,并提供 record_cost、query_cost、set_budget 三个 agent 工具。
这是什么¶
dsh-cost-ledger 的定位是 DSH 的跨会话持久化成本账本。GitHub 仓库位于 https://github.com/suimi8/dsh-cost-ledger,许可证为 MIT。按已核实资料,package.json 的 author 为空,维护者信息以仓库当前内容为准。
它解决的问题是:DSH 中的 LLM token 用量可以按 provider call 自动记录,并通过 SQLite 持久化,供后续查询和预算设置使用。按已核实资料,Phase 1 host side 已完成,并在 DSH 0.1.0-rc.6 中 live-verified。
核心能力¶
自动记录 token 用量¶
插件订阅 llm/stream waterfall。每次 provider call 会写入一条记录,字段包括:
timestampsessionprojectmodelinputTokensoutputTokenscacheReadTokenscacheWriteTokenscost
按已核实资料,usage chunk 不保证存在;缺失时会按 debug 记录。
SQLite 持久化¶
插件使用 SQLite 做持久化存储,依赖 better-sqlite3。
DeepSeek 定价¶
插件内置 DeepSeek 定价,并支持通过配置覆盖或新增模型价格。
未知模型会先记录 token,cost 为 0,直到设置价格。
agent 工具¶
插件提供三个 agent 工具:
record_cost:手动记录一条用量。query_cost:查询成本。set_budget:设置预算。
安装与启用¶
环境要求¶
package.json 的 engines 要求:
node ^22.19.0 || >=24.0.0
安装¶
使用 DSH 插件命令安装:
dsh plugin --profile web add <path-or-package>
安装后重启:
Restart dsh web
如果使用 git 安装,且 pnpm >= 10 阻止了 git 依赖的 prepare script,需要在 profile 的 pnpm-workspace.yaml 中配置 allowBuilds 放行该包,然后重新安装。具体包键以 pnpm 输出为准。
本地开发与加载¶
本地开发时可以执行:
pnpm install
pnpm selftest
pnpm typecheck
pnpm build
随后通过 patch 加载:
dsh web --patch ./cordis.patch.yml
典型用法¶
验证真实 LLM 调用¶
可以用 headless profile 验证真实 LLM 调用是否生成 ledger 行:
dsh --profile headless "reply with exactly: hi"
使用 agent 工具¶
启用后,可在 agent 中调用:
record_costquery_costset_budget
具体参数以仓库 README 和源码为准。
配置与持久化¶
按已核实资料:
- dashboard 设置中的配置为 runtime,重启后不持久。
- WebUI plugin config card 或
cordis.patch.yml可持久。 - 配置可用于覆盖或新增模型价格。
适用场景与注意¶
- 适合需要在 DSH 中跨会话查看 token 用量、成本和预算的开发者。
- 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
- 已验证 DSH 版本为
0.1.0-rc.6,last verified2026-08-13。 - WebUI dashboard panel 仅 researched,not implemented。
- 按已核实资料,README 和
package.json均被截断;实际依赖、限制或兼容性信息应以当前仓库源码为准。
链接¶
GitHub:https://github.com/suimi8/dsh-cost-ledger
目录页 URL 未在已核实资料中给出,暂不列出。