前言¶
DSH 插件生态支持功能的灵活扩展。在使用 LLM 进行开发或实验时,监控不同项目的 Token 使用量与费用是必要的。dsh-token-cost 插件通过分析本地会话日志,解决了按项目追踪 Token 消耗和计算人民币成本的问题。
这是什么¶
这是由 gdy01 维护的 DSH 插件,用于显示每个项目的 LLM Token 使用情况,并将 Token 转换为人民币成本。成本分为三部分:输入(未命中缓存)、命中缓存、输出。计算基于模型的官方标准价格表。
核心功能¶
- 读取本地日志:扫描 DSH 会话目录(
~/.dsh/sessions或$DSH_HOME/sessions)下的session.jsonl.zstd或session.jsonl文件。 - 聚合统计:按会话的
cwd(当前工作目录)和模型维度聚合数据。 - Web 界面集成:在 DSH Web 侧边栏底部添加 💰 按钮,点击可查看项目总计和可展开的模型级别明细。
- 零依赖:使用 Node 原生的
node:zlib解码 Zstandard 压缩的日志,无运行时 npm 依赖。 - 本地 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。