xfqz86/dsh-usage-stats
DSH 的 Web 用量统计插件,按模型、会话、日期三个维度统计 token 用量与调用次数,挂载于侧边栏底部展示今日用量,点击打开详情面板。
catalog descriptioncatalog 简介 / catalog description:DSH Web 插件:侧边栏中的 Token 使用统计
Project Overview项目介绍
This is a usage statistics plugin for DSH Web. It tracks token usage and call counts by model, session and date, displays daily usage at sidebar bottom, supports viewing detailed stats and monitoring balance/quota for multiple API vendors. Use it when you need to track DSH API usage and remaining quota. Corresponding API keys must be configured in DSH credential center for quota monitoring.
这是DSH的Web端用量统计插件。它按模型、会话、日期三个维度统计token用量与调用次数,在侧边栏底部展示今日用量,点击可查看详情面板,还支持监控多供应商的账号余额与剩余额度。需要追踪API用量和配额时使用,需在DSH凭据中心配置对应API密钥才能查看供应商额度。
请帮我了解并安装插件:【dsh-usage-stats】【https://github.com/xfqz86/dsh-usage-stats】
Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。
Or use CLI install (for developers)或使用命令行安装(适合开发者)
CLI Install命令行安装
dsh plugin --profile web add @xfqz86/dsh-usage-stats
把 xfqz86/dsh-usage-stats 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-usage-stats — DSH 用量统计插件
DSH 的 Web 用量统计插件,按模型、会话、日期三个维度统计 token 用量与调用次数,挂载于侧边栏底部展示今日用量,点击打开详情面板。
功能
- 侧边栏底部今日统计,宽列与 56px rail 自适应展示
- 详情面板按概览、日期、会话、模型、设置组织
- 模型统计重定向:在设置页配置「把某个供应商的某个模型的用量算到另一个供应商的某个模型名下」,模型页按规则归并展示(账本原始数据不变)
- OpenCode Go 额度,展示滚动 5 小时、本周、本月三档剩余额度
- DeepSeek 余额,展示多币种余额
- Z.ai 额度,展示滚动 5 小时与本周百分比,以及每月 Web 搜索次数
侧边栏底部
概览 |
日期 |
会话 |
模型 |
设置 |
|
安装与卸载
本插件为标准 cordis 组合包,通过 profile 注入 web。
从 npm 安装
dsh plugin --profile web add @xfqz86/dsh-usage-stats
从 GitHub 安装
dsh plugin --profile web add github:xfqz86/dsh-usage-stats#release
从 tarball 安装
dsh plugin --profile web add https://github.com/xfqz86/dsh-usage-stats/releases/latest/download/xfqz86-dsh-usage-stats.tgz
固定地址,始终指向最新 Release 的 tarball;也可在 Releases 复制指定版本的
xfqz86-dsh-usage-stats-*.tgz链接。
本地开发
git clone https://github.com/xfqz86/dsh-usage-stats.git
cd dsh-usage-stats
pnpm install
pnpm build
dsh plugin --profile web add "link:$(pwd)"
# 后续改动后重新 pnpm build,浏览器刷新即可;服务端改动需重启 dsh
卸载
dsh plugin --profile web remove @xfqz86/dsh-usage-stats
设置
设置位于详情面板的设置 Tab,保存在 DSH 的配置文件 ~/.dsh/settings.yaml($DSH_HOME 改变时随之变化)的 usage-stats 段里,换浏览器、换设备登录同一台 DSH 都用同一份偏好。按 DeepSeek 余额、OpenCode Go 额度、Z.ai 额度三组自上而下排列。
- 启用 DeepSeek 余额监控与侧边栏展示,关闭监控则停止轮询,面板与侧边栏均不展示
- 启用 OpenCode Go 额度监控与侧边栏展示,仅控制芯片,面板内详情仍可见
- 启用 Z.ai 额度监控与侧边栏展示,逻辑同上
- 各额度抓取间隔均为默认 5 分钟,下限 3 分钟
配置文件里只写改过的字段,例如把 Go 额度抓取间隔改成 10 分钟:
usage-stats:
goFetchMinutes: 10
旧版本把设置存在浏览器本地存储里,升级后首次打开会把旧设置自动写进配置文件,之后不再使用浏览器存储(服务端设置不可用时旧值会保留,不会丢)。
设置 Tab 底部为账本操作(清零与重建),需二次确认;扫描历史会话期间(面板顶部显示“扫描中…”)两项置灰不可点,等扫描结束自动恢复。
需展示额度时,在 DSH 凭据中心配置对应 Key:
- OpenCode Go:
OPENCODE_GO_API_KEY - DeepSeek:
DEEPSEEK_API_KEY(兼容DEEPSEEK_APIKEY、DEEPSEEK_API_TOKEN、DEEPSEEK_TOKEN) - Z.ai:
ZAI_CODING_CN_API_KEY或ZAI_API_KEY(前者优先)
统计口径
- 数据源为携带
data.usage的记录:对话调用assistant/message,压缩上下文的调用compaction/summary total = input + output + cacheRead + cacheWrite,reasoning单列- 按模型维度取
provider与model(对话调用在message.source,压缩调用在事件顶层),缺失记为unknown - 按会话维度记录标题、工作目录、创建与最近活跃时间
- 按本地自然日划分日期
- 不含会话标题自动生成等辅助调用的用量:dsh 只记录这类调用的请求,不记录返回的用量
数据存储
账本位于 $DSH_HOME/storages/dsh-usage-stats/ledger.sqlite,SQLite 存储。首次启动自动扫描历史会话并导入,后续随事件实时增量更新,重启后可从账本恢复。
开发者
- 工程规范与架构说明见
AGENTS.md - 风格经验(lint 之外的统一约定)见
docs/STYLE.md - 接口协议见
docs/API.md - 模块结构见
docs/STRUCTURE.md,由pnpm tree生成 - 发布流程见
docs/PUBLISH.md - 更新日志见
CHANGELOG.md,每次发版同步记录功能更新与 Bug 修复
License
MIT
wssfk12138/dsh-damage-pulse
Ychris12138/dsh-usage-stats
yxxbc/dsh-balance-plugin
feiyang-dev/dsh-usage-plugin
Shiye-10Pages/dsh-whale-meter
LaoYueHanNi/dsh-token-usage
lanlandeli/dsh-usage-stats
OK-wx/dsh-ocgo-lite