跳到主内容

dsh-usage-stats

24Star3Fork7Issue0Watching

为 DeepSeek Harness 提供用量可视化:53 周 GitHub 风格热力图、Token 与缓存命中看板、DeepSeek 账户余额和工作区别名管理。

机审证据5/5方法论数据来源安装命令持续维护DSH 版本风险扫描
机审证据安装命令仓库已核验dsh-plugin Topic许可证READMEAI 百科
语言
JavaScript
License
MIT
分支
main
analyticsdeepseek-harnessdshdsh-pluginheatmapusage-stats

安装

命令web profile
$ dsh plugin --profile web add dsh-usage-stats

在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程

对话式安装

帮我安装 DeepSeek Harness 插件 Make0209/dsh-usage-stats:先查看仓库 https://github.com/Make0209/dsh-usage-stats 确认安全性,然后执行安装命令并验证插件加载成功。

把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。

一句话定位

为 DeepSeek Harness 增加一个"用量统计"设置页:用 GitHub 风格的 53 周热力图回顾每天的会话回合,并配以 Token 消耗、缓存命中率、DeepSeek 账户余额和工作区别名管理。面向想看清自己每周/每月到底"烧"了多少 Token 的普通用户。

核心能力

  • 渲染 53 周 × 7 天 GitHub 风格热力图,按回合数分四档绿色浓度,悬停查看当日各工作区回合与 Token 明细
  • 展示总回合数、总会话数、输入/输出/缓存读取/缓存写入/推理 Token 分项卡片与缓存命中率
  • 调 DeepSeek /user/balance 接口查询账户余额(CNY / USD 等多币种),5 分钟内复用缓存
  • 在头部维护工作区别名表,保存到本地 KV 存储并跨重启保留
  • 提供 30 天 / 90 天 / 全部三档时间范围切换,所有卡片与进度条随之重算

技术实现

  • 语言: JavaScript(ESM,无构建步骤)
  • 关键依赖: 无第三方运行时依赖(package.json 不声明 dependencies);host 半只用 Cordis 框架自带的服务(sessionQuery、workspaceRegistry、subprocess、credentials、settings、storage、webServer、timer),client 半通过运行时注入的 react 渲染
  • 架构模式: 双半插件(host 半 + web client 半)。host 半在启动时跑一次历史会话扫描回填 + 订阅 session/event 实时折叠 turn/end 与 assistant/message.usage;通过 webServer.register 暴露三个 HTTP 路由给前端;client 半以 window.__ModuleLoader__.load 工厂格式提供 React 组件,并 slots.inject('settings.section', ...) 把"用量统计"页注册进设置面板
  • 入口文件: lib/index.js(host)、lib/client.js(client bundle)、cordis.patch.yml(注入清单)

适用场景

经常用 DeepSeek Harness 跑长会话、想知道自己一周到底消耗了多少 Token、哪些工作区最"费钱"的用户;或者同时维护多个 DSH 项目目录、想给每个项目目录起个易记别名的用户。安装后能在设置面板直观看到活动节奏、Token 分布和官方账户余额,方便判断要不要调整模型档位或续费。

前置依赖与兼容性

依赖最低版本说明
DeepSeek Harness未声明插件无 engines/peerDependencies 字段;仅要求宿主提供 sessionQuery/workspaceRegistry/webServer/credentials/storage/subprocess/settings/slots 等 Cordis 服务
Node.js未声明插件代码使用 ESM 与 Buffer.concat 等基础 API,对 Node 版本无显式要求
平台跨平台(统计功能) / Windows 优先(账户余额)热力图、Token 看板、别名管理跨平台;余额查询走 curl.exe → powershell.exe 两条子进程链路
原生模块无package.json 未声明任何依赖,host 半仅使用 Cordis 服务、client 半仅使用 react

安装方式

dsh plugin --profile web add github:Make0209/dsh-usage-stats

配置项

本插件无需额外配置。安装即用,无需写环境变量或修改 cordis.patch.yml。

如需账户余额卡片显示数字,需确保宿主中 llm-deepseek 的 API Key 环境变量(默认 DEEPSEEK_API_KEY)已正确配置;插件不会自行写入该配置。

常见问题

Q: 安装后需要重启 DSH 才能看到用量统计页吗?

A: 不需要。host 半启动时立刻跑历史回填,client 半随 web 页面加载,刷新浏览器即可在设置面板的"用量统计"标签页看到内容。

Q: 余额卡片显示「未配置」该怎么办?

A: 插件读取的是 llm-deepseek 配置中的 API Key 环境变量(默认 DEEPSEEK_API_KEY),先把 DeepSeek 开放平台的 Key 配到该环境变量或 settings 配置里,再点余额卡片旁的刷新即可。

Q: 卸载插件后历史用量数据会丢失吗?

A: 不会。Token 与回合数全部来自 DSH 持久化的会话日志,会话日志不归本插件所有;插件删除后再次安装会重新回填全部历史。仅工作区别名属于插件自身存储。

Q: 能否只统计某一个项目工作区的用量?

A: 可以切换顶部「30 天 / 90 天 / 全部」时间范围查看总量,热力图本身是按天聚合;按工作区分项的 Token 用量与进度条在工作区栏会自动列出,但只能汇总,无法排除某个工作区。

Q: 账户余额走哪个接口,数据多久刷新一次?

A: 走 DeepSeek 官方 https://api.deepseek.com/user/balance 接口。插件内有 5 分钟缓存,需要强制刷新可访问 /api/usage-stats/balance?force=1。

Q: macOS / Linux 上能看到账户余额吗?

A: 余额查询依赖 curl.exe 或 powershell.exe 进程,在 macOS / Linux 上通常取不到余额;但用量热力图、Token 看板、缓存命中率、工作区别名均跨平台可用。

Q: 工作区别名保存在哪里,删除后能找回吗?

A: 保存在 DSH 的 $DSH_HOME/storages 下一个名为 usage-stats-aliases 的 KV 单元里(global 段)。插件卸载时只会关闭连接,不会主动清理;删除插件并清空 storages 后无法恢复。

Q: 热力图为什么只有最近 53 周?

A: 源码里写死只统计 53 周(约一年)内的日期,超出范围的当天格子不会渲染,统计卡片"全部时间"范围也只对 53 周内的事件重新聚合。

上手难度

入门 — 安装一条命令即可,零配置;安装后设置面板即出现"用量统计"标签页,所有交互都是鼠标点击。

已知问题与限制

  • 账户余额仅在能成功 spawn curl.exe 或 powershell.exe 的环境(即 Windows 或带 PowerShell 的环境)下生效,macOS / Linux 用户看到的余额卡片会处于"查询失败"状态(lib/index.js:438-441)
  • 热力图与"全部时间"统计均只覆盖最近 53 周,更早的会话日志会被聚合丢弃;热力图本身不回溯(lib/index.js:50-58)
  • 仅有「能归属到已注册工作区」的会话(通过会话 cwd 匹配工作区路径)会被统计;未注册工作区或 cwd 为空的会话不出现在任何卡片与热力图中(lib/index.js:226-233)
  • 余额查询结果会缓存 5 分钟;余额数字变动需要主动调用 ?force=1 或等缓存过期才会刷新(lib/index.js:410)

查看使用指南 →

该插件的安装步骤、关键要点、FAQ 与兼容性说明(基于已收录字段派生)。

收录徽章

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/Make0209/dsh-usage-stats)

把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。

返回插件目录