READMESource: main@3ec57e1b
dsh-turn-cost
每条回复下面一行,告诉你这轮花了多少钱、跑了多少 token、是峰时还是谷时。
¥0.093 · 942k tok · 峰
鼠标悬停能看到明细:本轮 token、未命中输入、缓存命中率、输出、峰谷价、模型名。
本轮 942k tok · 输入 4.9k · 缓存命中 931k(99%) · 输出 5.8k · 峰时价 · deepseek-flash
为什么
上下文一长,你就不知道一次「继续」到底烧了多少钱。dsh 本身有 token 用量面板,但要展开、要手算、要记住今天的档位是哪个。这个插件把结论压成一行 11px 的灰字,扫一眼就知道。
计价口径
人民币,每百万 token,来源为 DeepSeek 官方定价页 https://api-docs.deepseek.com/zh-cn/quick_start/pricing:
| 项 | 谷时 | 峰时 |
|---|---|---|
| 缓存命中输入 | ¥0.02 | ¥0.04 |
| 未命中输入 | ¥1 | ¥2 |
| 输出 | ¥4 | ¥8 |
- 峰时 = 北京时间「周一至周五 09:00–12:00、14:00–18:00」,其余时间(含周末)按谷时。
- 缓存写入(
cacheWriteTokens)按未命中输入价计——官方价目里没有单独的缓存写入档。 reasoningTokens是outputTokens的一部分,不重复累加。- 模型名带
pro的按 Flash 的 3 倍计价。
内置的节假日判断只按周末简化,没有内置法定节假日表:遇到法定节假日,插件会按工作日峰谷规则算,比实际略高一点。
安装
# 从 GitHub
dsh plugin --profile desktop add github:<你的用户名>/dsh-turn-cost
# 或本地目录
dsh plugin --profile desktop add /绝对路径/dsh-turn-cost
装完重启桌面端(宿主半边需要重新加载)。
它是怎么工作的
两半:
- 宿主半边
lib/index.js:订阅session/event,把每个(会话, 轮次)的assistant/messageusage 累加起来(缓存读、未命中输入、缓存写、输出分开记),按轮次结束时间判断峰谷并换算成人民币,通过GET /dsh-turn-cost/turn.json?turn=&seq=暴露查询接口。用seq做首选键,避免两个会话恰好有同一轮次号时串账。 - 浏览器半边
lib/client.js:往conversation.chat.turnTail槽位注册一个组件,每条回复下方渲染那一行字,数据全部来自上面的接口,不在浏览器里重复算价。
隐私
- 只读 dsh 自己的会话事件里的 usage 数字。
- 全部计算在本地,不联网、不上传、不写任何文件。
- 路由只在本机 web server 上监听,不对外暴露。
局限
- 只统计插件加载之后发生的轮次,不回填历史对话。
- 记录在内存里,进程重启就清空。
- 判断峰谷用的是本机时钟换算了 +8 小时的北京时间,不校验系统时区是否正确。
License
MIT
No comments yet. Be the first to write one.