dsh-token-cost: DSH 插件,按项目统计 LLM Token 消耗与 RMB 费用

前言

DSH 插件生态支持功能的灵活扩展。在使用 LLM 进行开发或实验时,监控不同项目的 Token 使用量与费用是必要的。dsh-token-cost 插件通过分析本地会话日志,解决了按项目追踪 Token 消耗和计算人民币成本的问题。

这是什么

这是由 gdy01 维护的 DSH 插件,用于显示每个项目的 LLM Token 使用情况,并将 Token 转换为人民币成本。成本分为三部分:输入(未命中缓存)、命中缓存、输出。计算基于模型的官方标准价格表。

核心功能

  1. 读取本地日志:扫描 DSH 会话目录(~/.dsh/sessions 或 $DSH_HOME/sessions)下的 session.jsonl.zstd 或 session.jsonl 文件。
  2. 聚合统计:按会话的 cwd(当前工作目录)和模型维度聚合数据。
  3. Web 界面集成:在 DSH Web 侧边栏底部添加 💰 按钮,点击可查看项目总计和可展开的模型级别明细。
  4. 零依赖:使用 Node 原生的 node:zlib 解码 Zstandard 压缩的日志,无运行时 npm 依赖。
  5. 本地 API:提供仅本地回环访问的 HTTP API。

安装与启用

必须安装插件目录下的 dsh-token-cost 子目录,不能安装父文件夹。由于路径包含空格,安装命令需要用引号包裹。

dsh plugin --profile web add "file:/Users/dg/Documents/dsh plugin/dsh-token-cost"

如果在当前目录下,可以使用 $PWD:

cd /Users/dg/Documents/dsh plugin/dsh-token-cost
dsh plugin --profile web add "file:$PWD"

如果之前安装了错误的父文件夹,需要先移除再安装:

dsh plugin --profile web remove "dsh plugin"
dsh plugin --profile web add "file:/Users/dg/Documents/dsh plugin/dsh-token-cost"

安装完成后,重启 dsh web 并刷新浏览器,侧边栏底部会出现 💰 按钮。也可以使用包含的安装脚本:

./scripts/install.sh

工作原理

插件扫描 DSH 会话目录,通过重放数据提取信息:
* session.cwd → 确定项目。
* request/header → 确定当前使用的模型。
* assistant/chunk { type: 'usage' } 和 assistant/message.usage → 提取输入、命中、输出 Token 数。

插件会去重同一 (turn, step) 的使用样本,确保数据与 DSH 自身的 Token 计数逻辑一致。

价格表

默认使用 DeepSeek 官方标准价格(元 / 1M tokens):

模型 输入(未命中) 命中 输出
deepseek-chat / deepseek-v4-flash 2 0.5 8
deepseek-reasoner / deepseek-v4-pro 4 1 16

对于价格表中未列出的模型,插件会列出其 Token 数但不计算费用。可以在配置文件的 cordis.patch.yml 中覆盖价格配置。

API 接口

插件提供以下本地接口:

  • GET /dsh-token-cost/api/stats — 获取按项目/模型的完整 JSON 统计。
  • GET /dsh-token-cost/api/prices — 获取当前生效的价格表。
  • GET /dsh-token-cost/healthz — 健康检查。

注意事项

  • 插件基于 Node.js >= 22 运行。
  • API 仅允许本地回环访问,安全性由 DSH 代理保证。
  • 开源协议为 MIT。
羽毛球分组比赛记分
小程序二维码

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

小夜