DSH Hub
dsh-all-usage cover

ParticleLight/dsh-all-usage

dsh-all-usage

UIWeb UI2 GitHub stars· updated 2026-08-23

dsh-all-usage is a community DeepSeek Harness plugin. Read the repository README before installing.

Install

npx @deepseek-ai/dsh plugin --profile web add github:ParticleLight/dsh-all-usage

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-all-usage DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-all-usage.svg)](https://dshhub.dev/plugins/dsh-all-usage)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from ParticleLight/dsh-all-usage, cleaned of badges and images.

dsh-all-usage

中文 · English

中文

DeepSeek Harness 全量用量看板:按模型、供应商、工作区和时间范围分析 Token、缓存与账户余额。

功能

  • 热力图:53 周使用热力图;按工作区筛选并查看每日回合与 Token 明细
  • 模型统计:支持混合查看、按模型合并、按供应商汇总三种维度,展示调用次数、各类 Token 与缓存命中率
  • 摘要与工作区:Token 用量、缓存命中、账户余额、连续使用、工作区 Token 分布和明细
  • 导出:按当前时间范围和模型聚合方式导出 CSV
  • 时间范围:今日、近 30 天、近 90 天、全部,或在全部可扫描历史日数据中自定义起止日期;热力图始终展示最近 53 周
  • 工作区别名:在侧栏入口打开看板后管理,持久化保存到 $DSH_HOME/storages 的 KV 单元 all_usage_aliases
  • 界面语言:在看板顶部切换中文与 English;选择会保存到浏览器本地
  • 完整历史与增量重建:基线扫描全部可读历史会话;独立用量账本同时作为每会话游标——未变化的会话直接复用账本,新增事件只增量回填,长历史重启不再全量重建
  • Token 口径:输入按「未含缓存命中」计,缓存命中 / 写入与推理独立成桶;全 0 用量的重放事件不会覆盖已记录的真实用量,仅缓存命中的请求也会计入

最近更新

v1.0.7

  • 增量游标:启动重扫只增量回填新增事件,未变化的会话直接从独立账本复用,不再全量重建
  • 全 0 用量防护:全 0 用量的重放事件不会覆盖已记录的真实用量;纯缓存命中的请求仍会计入
  • 结构化语义声明:API 返回机读的 token 口径(输入不含缓存命中,缓存与推理独立成桶)

完整版本记录见 CHANGELOG.md

截图 / Screenshots

安装

本插件是标准的 DSH 社区插件包(声明 dsh.bundle manifest 与 Web Client),数据来自持久化会话日志和独立用量账本,安装后自动回填历史。

官方插件命令(推荐)

dsh plugin --profile web add github:ParticleLight/dsh-all-usage

安装命令会装配 bundle;随后刷新浏览器页面以加载 Client,无需手动修改 profile。若当前 DSH 版本未动态装配新包,请按 DSH 的提示重载包或重启进程。

手动注册(本地包)

  1. 把本目录放入任意位置,并在 $DSH_HOME/profiles/node_modules/ 下创建指向本目录的符号链接(Windows 用 junction):

    New-Item -ItemType Junction -Path (Join-Path $env:DSH_HOME 'profiles/node_modules/dsh-all-usage') -Target '<本目录绝对路径>'
    
  2. 在 $DSH_HOME/profiles/web/cordis.patch.yml 添加一行:

    - insert:
        - id: all-usage
          name: dsh-all-usage
    

用户 patch 层会被热重载:保存后刷新页面即可。

架构

  • Host 端lib/index.js):扫描持久化会话日志聚合用量(turn/end + assistant/message.usage),监听 session/event 实时折叠;通过 webServer 服务注册数据路由:
    • GET /api/all-usage — 统计快照
    • GET /api/all-usage/balance?force=1 — 账户余额(复用 llm-deepseek 的 API Key 配置)
    • POST /api/all-usage/alias — 设置工作区别名
  • Client 端lib/client.js):window.__ModuleLoader__ 工厂格式的浏览器 bundle,注册侧边栏「用量统计」入口(sidebar.footer.action 槽位)。所有 API 仅接受本机 loopback 请求并拒绝显式跨域请求;余额读取与别名写入还要求插件启动时生成、仅在当前进程有效的令牌(余额 GET 兼容浏览器省略 Origin)。英文模式的日期分桶、范围筛选、连续使用、热力图和导出时间统一按 UTC;中文模式按本地时区。

数据说明

  • 使用次数与 Token 来自 DSH 会话日志,并在 session/flush 时写入独立用量账本;插件激活时会回填日志与账本历史,插件卸载/重启后已成功持久化的数据不丢
  • 按日范围统计会保留全部可读取历史会话的有使用记录日期;热力图仅作为最近 53 周的固定视图窗口
  • 会话删除后,已成功 flush 的用量仍从独立账本恢复;会话销毁提示和周期对账只负责触发重建,不会删除账本记录
  • 同一会话的同一 turn / step 只保留一份最终 usage;重试或替换消息会替换旧贡献,不重复累计
  • 输入 Token 按「未含缓存命中」计(缓存命中 / 写入独立成桶);全 0 用量的重放事件不会覆盖已记录的真实用量,纯缓存命中的请求仍会计入
  • 看板中的总处理量 = 输入 + 输出 + 缓存读写 + 推理;缓存命中表示复用的上下文 Token,不等于新生成 Token 或实际费用
  • 余额查询走 DeepSeek 官方 /user/balance 接口;未配置 API Key 时卡片显示引导文案
  • 仅统计能归属到已注册工作区(按会话 cwd 匹配)的会话

开发

  • 修改 lib/client.js 后刷新页面即可;修改 lib/index.js 后,需由 DSH 重载该包或重启进程,单纯刷新页面不会替换已运行的 Host 代码
  • 插件包无第三方依赖:Host 端只使用 Cordis 服务,Client 端只使用 runtime 提供的 React 模块

English

A full usage dashboard for DeepSeek Harness. Analyze tokens, cache behavior, account balance, and activity by model, provider, workspace, and time range.

Features

Related plugins