dsh-cost-dashboard
by mike-lee0120
费用看板:汇总本机全部会话的模型输入/输出/缓存 token,按内置价格表计费(含 DeepSeek 峰谷),展示每日趋势与按模型/会话明细。
Cost dashboard for DeepSeek Harness: aggregates model input/output/cache tokens across all local sessions, prices them with a builtin table (including DeepSeek peak/off-peak), and shows daily trends plus per-model and per-session tables.
安装
dsh plugin --profile web add github:mike-lee0120/dsh-cost-dashboardGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
English | 中文
装在 DeepSeek Harness(dsh)里的费用看板插件:汇总本机全部会话的模型输入 / 输出 / 缓存命中 token 用量,按价格表(含 DeepSeek 峰谷分时计价)计算费用,在 设置 → 费用看板 中以看板形式展示。
你会得到
- 两个入口:设置 → 费用看板(设置导航图标由 dsh 设置外壳按内置 id 硬编码,无法由插件自定义);侧边栏底部另有看板图标按钮(数据网格样式),点击在面板中打开同一看板
- 币种切换:默认按 USD 显示,可一键切换 CNY;按可配置汇率(
fx.cnyPerUsd,默认 6.79)把人民币标价与美元标价换算到同一币种 - 汇总卡片:总费用、今日费用、输入(未命中缓存)/ 缓存命中 / 缓存写入 / 输出 tokens、会话数
- 每日趋势图:ECharts 平滑折线图(带渐变面积与悬浮 tooltip);费用模式为单序列(统一币种),Tokens 模式拆为"输入/缓存写入/输出"与"缓存命中"两张图(各自刻度);时间范围可选 近一周 / 近一月 / 近三月(默认近一周)
- 按模型汇总表:各模型的 token 用量、费用、占比
- 按会话汇总表:按费用排序,每个会话按模型拆行(一个会话用了多个模型就多行,各自显示模型、tokens 与费用),含标题、项目目录、子代理标记
- 价格配置:页面上直接编辑价格表 JSON(含汇率),保存到
~/.dsh/cost-dashboard.json,立即生效 - 价目表自动同步:从 LiteLLM 价目 JSON 自动补齐内置/覆盖里没有的模型(24 小时 TTL + 磁盘缓存,网络失败自动降级),不覆盖内置与手工价格
- 实际账单(可选):配置供应商只读密钥后,显示 DeepSeek/OpenRouter 真实余额、OpenAI/Anthropic 真实花费,并与估算折线对照;国内云厂商(火山/阿里/腾讯)不接 API,价格走配置文件
- 自动刷新:看板打开期间每 15 秒拉取一次;宿主侧只增量重扫有变化的日志文件(mtime + size 校验)
安装
dsh plugin --profile web add <spec>
<spec> 支持本地路径 / npm 包名 / GitHub 仓库,例如:
# 本地路径开发安装
dsh plugin --profile web add /path/to/dsh-cost-dashboard
# GitHub
dsh plugin --profile web add github:mike-lee0120/dsh-cost-dashboard
dsh plugin add 会在 profile 目录(~/.dsh/profiles/web)执行 pnpm 安装,并自动把声明了 dsh.bundle 的包追加进 dsh.profile.bundles(无需手改 profile 配置)。安装后重启 dsh web 并刷新页面,打开 设置 → 费用看板。
卸载:dsh plugin --profile web remove dsh-cost-dashboard(自动移出 bundles)。
要求:dsh 0.1.0-rc.7+,Node ≥ 22.15(node:zlib 的 zstd API,宿主本身依赖它写会话日志)。
数据来源与记账规则
- 只读扫描
$DSH_HOME/sessions/*/*/session.jsonl.zstd(或明文.jsonl),不写入、不改投影。 - 记账语义与官方
@deepseek-ai/dsh-token-meter的tokenUsage投影一致:assistant/chunk {type:'usage'}是请求的早期样本(请求后续失败也计数);assistant/message的usage是同(turn, step)的最终样本,替换前者而非重复计数;- 四个不相交桶:输入(未命中缓存,DeepSeek
prompt_tokens已扣除缓存命中)、缓存命中、缓存写入、输出。
- 模型归属:
assistant/message自带message.source.provider/model;仅有 usage chunk(失败请求)时归属最近一条request/header的模型。 - 会话中途切换模型也能正确拆分到各模型。
- 可运行
node scripts/verify-totals.mjs与官方session_projcache.json逐会话对账(开发环境实测逐会话一致;正在写入的活跃会话可能因实时时间差出现微小偏差,属正常)。
价格表
内置 21 个主流模型(单位:每百万 tokens,核对于 2026-08-18;「命中」= 缓存命中价,「写入」= 缓存写入价,缺省按未命中输入价计):
人民币标价(CNY)
| 模型 | 输入(未命中) | 输入(命中) | 输出 | 备注 |
|---|---|---|---|---|
| deepseek-v4-pro | 4.5 | 0.15 | 13.5 | 峰时翻倍:9 / 0.30 / 27(9-12、14-18 点) |
| deepseek-v4-flash | 1.5 | 0.05 | 4.5 | 峰时翻倍:3 / 0.10 / 9.0 |
| kimi-k3 | 20 | 2 | 100 | 月之暗面国内标价 |
| qwen3.8-max | 12 | 1.5 | 36 | 阿里云百炼国内标价 |
| doubao-seed-2.1-pro | 6 | — | 30 | 火山方舟 |
| hy3 | 1 | 0.25 | 4 | 腾讯混元 |
| minimax-m3 | 3.15 | 0.63 | 12.6 | ≤512K 输入五折刊例价 |
美元标价(USD)
| 模型 | 输入(未命中) | 输入(命中) | 缓存写入 | 输出 | 备注 |
|---|---|---|---|---|---|
| gpt-5.6-sol | 5 | 0.5 | — | 30 | |
| gpt-5.6-terra | 2 | 0.2 | — | 12 | |
| gpt-5.6-luna | 0.20 | 0.02 | — | 1.20 | |
| gpt-5.5 | 5 | 0.5 | — | 30 | |
| gpt-5.4 | 2.5 | 0.25 | — | 15 | |
| gpt-5.1 | 1.25 | 0.125 | — | 10 | |
| claude-opus-5 | 5 | 0.5 | 6.25 | 25 | |
| claude-sonnet-5 | 2 | 0.2 | 2.5 | 10 | 2026-08-31 前临时价,之后 $3/$15 |
| claude-fable-5 | 10 | 1 | 12.5 | 50 | |
| gemini-3.6-flash | 1.5 | — | — | 7.5 | |
| gemini-3.5-flash-lite | 0.3 | — | — | 2.5 | |
| grok-4.6 | 2 | — | — | 6 | |
| grok-4.6-fast | 4 | 1 | — | 12 | |
| glm-5.3 | 1.40 | — | — | 4.40 | Z.ai 标价,火山方舟渠道请自行覆盖 |
- DeepSeek V4 系列自 2026-08-17 起执行峰谷定价(空闲为高峰一半,高峰时段 9:00-12:00、14:00-18:00);每条用量记录带时间戳,看板按宿主本地时区精确分时段计价。
- 未配置价格的模型只统计 tokens、不计费用,页面会提示。
覆盖价格
看板底部 价格配置 编辑器直接保存 ~/.dsh/cost-dashboard.json(按模型名整条覆盖内置价;汇率按 fx 覆盖):
{
"fx": { "cnyPerUsd": 6.79 },
"models": {
"glm-5.3": { "currency": "USD", "input": 1.4, "inputHit": 0.14, "output": 4.4 },
"my-local-model": { "currency": "CNY", "input": 2, "output": 6,
"peak": { "input": 4, "output": 12 }, "peakHours": [[9, 12], [14, 18]] }
}
}
字段:fx.cnyPerUsd(美元兑人民币,默认 6.79,用于跨币种换算显示);每个模型 currency(CNY|USD)、input(未命中输入价)、inputHit(缓存命中价,缺省=input)、cacheWrite(缓存写价,缺省=input)、output;可选 peak 与 peakHours(宿主本地时间,命中峰时用 peak 费率,peak 未写的字段回落平价)。看板默认以 USD 显示,CNY 标价按汇率折算;切换 CNY 时 USD 标价按汇率折算。
价目表自动同步
- 内置价之外,看板会从 LiteLLM 价目 JSON 自动补齐缺失模型(美元价,配合
fx换算显示)。 - 优先级:手工覆盖 > 内置价 > 目录价——目录只填缺口,永不覆盖内置峰谷价或您的手工配置。
- 每 24 小时刷新一次,结果缓存到
~/.dsh/storages/cost-dashboard-catalog.json;断网时自动降级为缓存,失败状态在看板页脚可见,可点「刷新价目」手动重试。
实际账单(可选)
- 展开「实际账单」区块,配置供应商只读密钥后可显示真实余额与花费,与估算折线对照。
- 支持:DeepSeek
/user/balance(余额)、OpenRouter/api/v1/key(额度)、OpenAI Cost API(日花费)、Anthropic Cost Report(日花费)。 - 凭证保存到
~/.dsh/cost-dashboard-credentials.json(0600 权限),格式:
{
"providers": {
"deepseek": { "apiKey": "sk-..." },
"openrouter": { "apiKey": "sk-or-..." },
"openai": { "adminKey": "sk-admin-..." },
"anthropic": { "adminKey": "sk-ant-admin-..." }
}
}
- 凭证为只读/账单级密钥,请勿使用高权限密钥;删除对应条目即可停止拉取。国内云厂商(火山/阿里/腾讯)不接 API,其价格在「价格配置」里维护。
开发
纯 .mjs 零构建(host 侧仅 Node 内置模块,client 侧手写 module-loader bundle;图表用仓库内 vendor 的 ECharts 5,Apache-2.0,由 /cost-dashboard/vendor/echarts 本地提供,无 CDN 依赖)。改动 host(index.mjs/scan.mjs/pricing.mjs/routes.mjs)或 client(client.mjs)后重启 dsh web 并刷新页面生效。
安全
- GET 数据路由与 dshmarket 等插件的自有路由同等暴露面(仅本机数据、无凭据)。
- 价格写入(POST)仅接受同源请求(Origin==Host 校验)。
- 不上报任何数据;扫描只读。
已知限制
- 费用为按标价的估算,不含套餐/折扣/代金券;峰谷按宿主本地时区判断。
- 会话日志删除后对应历史随之消失(统计完全基于本地日志)。
- 超大日志库(数千会话)冷启动扫描会变慢;增量缓存使日常刷新不受影响。
原始 README: https://github.com/mike-lee0120/dsh-cost-dashboard/blob/main/README.zh.md ↗
同类插件
查看全部 →
dsh-usage-plugin
DeepSeek Harness 用量与消耗插件(dsh-usage)—— 每次调用的 token 用量/缓存命中统计、峰谷计费、余额查询、CSV/JSON/PNG 导出,可经桌面端一键安装或命令行 dsh plugin add 安装。

dsh-whale-report
🐋 鲸鱼记事本 — 你的 Agent 年度报告:从会话事件日志生成日报/周报/月报/年报,任意区间、只读不改写

dsh-balance-meter
输入框 dock 显示 DeepSeek 账户余额与会话花费,自动拉取官方定价,支持高峰/低谷计价。

dsh-usage-stats
DeepSeek Harness 使用统计插件|Token 总量与构成、7/30 天趋势、年度活跃热力图、模型占比、工作区/任务筛选、CSV/JSON 导出

dsh-balance
DeepSeek 余额实时显示插件: 在 dsh Web UI 输入框 下方、命中率/输入输出 token 统计条所在的同一行 , 实时显示:

dsh-balance-monitor
DeepSeek 账户余额、剩余比例条与今日花费,显示在 dsh 侧边栏底部 · DeepSeek balance, remaining-ratio bar and today's spend in the dsh si