查看: 1|回复: 0

搓了一个 dsh 插件,用于统计会话的 Token 费用消耗明细

[复制链接]

6

主题

6

回帖

30

积分

新手上路

积分
30
发表于 5 天前 | 显示全部楼层 |阅读模式
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 ,也欢迎直接在下面交流。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖
返回顶部