dsh 插件:Token 计费明细
大家好,最近在使用 dsh 感觉挺好玩的,我发现一个比较实际的问题:
模型请求越来越多,但很难在当前会话里快速知道:
- 这次请求大概花了多少钱?
- 当前会话累计费用是多少?
- 哪些 Token 命中了缓存?
- 不同模型、不同阶段的费用如何比较?
- 重启 dsh 之后,历史费用还能不能保留?
所以我做了一个本地插件:dsh-cost-meter 。
项目地址:
https://github.com/uruana33/dsh-cost-meter
npm:
https://www.npmjs.com/package/@mymeter/dsh-cost-meter
它能做什么
安装后,会在 dsh Web profile 中提供一个 Token 计费浮窗和独立的 Token 计费页面。
主要功能包括:
- 请求生成过程中实时显示 Token 和费用估算
- 最终收到 provider usage 后,用实际 usage 校正估算值
- 区分输入 Token (无缓存)、输入 Token (缓存)和输出 Token
- 按会话、阶段、轮次查看费用明细
- 记录本地费用账本,重启后可以恢复历史聚合结果
- 展示预算进度、缓存命中节省和 DeepSeek 峰谷计费倒计时
- 支持费用趋势、异常分析以及 CSV / JSON 安全导出
- Host / Client 分离,API Key 和账本只在 Host 侧处理
目前价格目录已经覆盖 DeepSeek 、xAI 、OpenAI 、Anthropic 、Google Gemini 、Moonshot/Kimi 、MiniMax 、Mistral 、Groq 、Together 、Fireworks 和 Cerebras 等 provider 。
安装
需要 Node.js 22.19+,并且已经配置好 dsh Web profile 。
直接从 npm 安装:
dsh plugin --profile web add @mymeter/dsh-cost-meter
安装后重启或重新加载对应的 dsh Web profile ,打开一个会话即可看到浮动小票。
隐私边界
这是一个本地插件:
- API Key 只在 Host 侧使用
- 不会进入浏览器 Client bundle
- 不会写入浏览器 localStorage
- 导出功能只包含安全字段,不包含 prompt 、completion 、工具正文或 API Key
- 默认不会自动联网更新价格目录
目前余额适配只接入了 DeepSeek ,其他 provider 暂时不会显示余额。
当前状态
现在发布的是 0.1.0 早期版本,项目已经开源到 GitHub ,npm 包也已经发布。
还存在一些已知限制:
- 尚未用真实 DeepSeek 账户完成完整的生产 usage 和金额对账
- 多进程不能同时写入同一个账本文件
- 部分 gateway 、代理和订阅 route 只能按可识别的底层模型做等价估算
- 远程价格更新能力目前还没有接入生产插件
效果图

欢迎反馈
如果你也在使用 dsh ,或者有类似的本地 LLM 成本统计需求,欢迎反馈:
- 还需要支持哪些 provider 或 route alias ?
- 你更关心会话费用、预算提醒,还是长期趋势?
- 本地账本和导出格式是否符合你的使用习惯?
- 哪些地方需要改进交互或展示?
欢迎提 issue 或 PR ,也欢迎直接在下面交流。