dsh-api-usage-dashboard
DSH (DeepSeek Harness) plugin: a zero-config API usage dashboard — 24-hour bar chart, per-day drill-down, per-provider and per-model colors, aggregated from local session logs.
What it is
DSH (DeepSeek Harness) plugin: a zero-config API usage dashboard — 24-hour bar chart, per-day drill-down, per-provider and per-model colors, aggregated from local session logs.
How to install
Run this in the DSH web profile, then refresh the page.
$ dsh plugin --profile web add dsh-api-usage-dashboard@1.0.2
DSH versions accepted
Undeclared
Author and traction
LENS-Views · ★ 2 · Updated 2026-11-05
About this plugin
DSH API Usage Dashboard
你的模型 API 用了多少,一屏看完 · Know exactly where your tokens go
[中文](#-中文) · [English](#-english)
---
🇨🇳 中文
装完就有数据,不用配任何东西
这是一个 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)(DSH)插件。装上之后,左侧边栏多一个图标,点开就是你的模型 API 用量仪表盘——每个 provider、每个模型、每个小时,调用了多少次、烧了多少 token。
> 不需要填接口地址,不需要贴 API key,不需要另接 Prometheus / Langfuse。
> 插件直接读 Harness 自己的会话记录,你以后新接任何一家模型,第一次调用就会自动出现在图里。
为什么是它
| 常见做法 | 痛点 | 这个插件 |
| --- | --- | --- |
| 登录各家控制台看账单 | 要一个个平台切,且只能看到总额 | 一个面板汇总所有 provider |
| 接 Langfuse / Helicone 等平台 | 要改代码、要出网、有延迟 | 零侵入,装完即用 |
| 自己写脚本解析日志 | 要维护、没界面、不能下钻 | 现成的 24 小时图 + 按天钻取 |
你的数据一步都不出门:没有外部请求、不读取 API key、只在本机开一个 loopback 路由。
功能
- 🕐 24 小时柱状图:固定 00:00–23:00 全刻度,没调用的时段留空槽,图形不会因为"一天只有几小时"而失真
- 📅 按天钻取:日期选择器 + 最近 7 天快捷标签,随时回看某一天的小时分布
- 🖱️ 完全可交互:悬停出虚线定位线 + 气泡(时间段 / tokens / 请求数),点击可钉住柱子对照
- 🔀 Tokens / 请求次数 一键切换,Y 轴自动取整(1/2/5×10ⁿ)+ 网格线
- 🎨 彩色系列:Tokens 蓝 / 请求 琥珀;每个 provider、每个模型各有固定颜色,颜色贯穿卡片、迷你图、明细表
- 📊 按模型分组:每个模型一张 24 小时迷你柱图,看谁在烧 token 一目了然
- 🧾 明细表:provider 汇总 + 模型明细,调用 / 输入 / 缓存 / 输出 / 合计 / 占比一目了然
- 🌗 跟随宿主主题、中英双语、60 秒自动刷新
三步装上
1. 在 DSH 的插件管理器里选 install_bundle
2. 输入包名 dsh-api-usage-dashboard(已发布到 npm),也可以指向本地目录
3. 侧边栏点柱状图图标 → 完成
首次打开会扫一遍全部会话日志(23 个会话约 1–2 秒),之后走缓存,基本秒开。
> 不想用 npm 也行:把仓库拷到本地用目录路径安装,或者直接填 git 地址
> github:LENS-Views/dsh-api-usage-dashboard(本仓库 public,无需构建步骤)。
统计口径
| 指标 | 含义 |
| --- | --- |
| 调用次数 | 会话里记录的模型调用条数(含压缩摘要等非对话调用) |
| 输入 tokens | 未命中缓存的输入(inputTokens) |
| 缓存 tokens | 命中提示缓存的输入(cacheReadTokens) |
| 输出 tokens | 模型生成(outputTokens) |
| 合计 tokens | totalTokens = 输入 + 缓存 + 输出 |
同一 provider 下按模型分行;不同 provider 即使模型同名也分开统计。
隐私边界
- 只读本机
~/.dsh/sessions下的会话日志 - 不读取、不转发任何 API key
- 不向任何外部服务发请求
- 只注册一个
127.0.0.1路由,非本机请求直接 403
配置
cordis.patch.yml 的 config 可调,全部有默认值,不改也能用:
- insert:
- id: api-usage-dashboard
name: 'dsh-api-usage-dashboard'
config:
cacheTtlMs: 20000 # 扫描结果缓存(毫秒),0 = 每次重扫
maxSessions: 0 # 只扫最近 N 个会话,0 = 全部
scanConcurrency: 4 # 并发读取会话数(1–8)
常见问题
金额(¥)呢?
还没做。需要每个 provider 的单价,而自建网关通常不公开牌价;有单价就能加。
能统计不经过 Harness 的请求吗?
不能。它统计的是 Harness 实际发出的模型调用——这也正是"不会算错"的原因。
会拖慢 DSH 吗?
不会。扫描在宿主进程里做、结果按 20 秒缓存,界面每 60 秒取一次。
目录与维护脚本
index.js 宿主:用量聚合 + loopback 路由
client.js 浏览器:面板、图表、双语文案
cordis.patch.yml Loader 行
locale/{zh,en}.json 插件管理器里的显示名与描述Compare in this category
The five most-starred plugins in the same category.
| Plugin | Author | Stars | Version | Updated |
|---|---|---|---|---|
| dsh-our-free-model | Ebony-Vinyl | 68K | 2.1.0 | 2026-11-10 |
| next-ai-draw-io | DayuanJiang | 36.9K | 0.4.10 | 2026-11-09 |
| MemOS | MemTensor | 12.3K | 0.0.0 | 2026-11-09 |
| bisheng | dataelement | 12.2K | 0.0.0 | 2026-11-10 |
| webnovel-writer | lingfengQAQ | 7.9K | 0.0.0 | 2026-11-07 |