Introducing the DeepSeek Harness Usage Statistics Plugin

前言

DeepSeek Harness (DSH) 的插件系统允许对核心功能进行扩展。在智能体开发或日常使用中,追踪 Token 消耗、查看模型活跃度是常见需求。dsh-usage-stats 是一个面向 DSH 官方桌面版的「使用统计」插件,它在设置页新增了专门的统计分区,提供五格终身摘要、GitHub 风格热力图及趋势折线等可视化功能。该插件的数据全部在本地落盘,不涉及网络上传,且不引入额外的运行时依赖。

核心功能

该插件主要提供以下可视化与数据功能:

  1. 五格终身摘要条:展示累计 Token 数、单日峰值 Token 数、最长聊天时长、当前连续天数以及最长连续天数。
  2. Token 活动热力图:呈现 52 周的 Token 活动情况,支持每日、每周/累计三档视图切换。
  3. 趋势折线:提供今日、近 7 日、近 30 日三种时间维度的趋势折线图,支持按模型查看。
  4. 模型用量环形图:显示选定时间范围内各模型的 Token 占比。
  5. 历史会话回填:插件启动时会自动扫描并回填历史会话数据;用户也可在页脚手动点击「回填历史」按钮触发。
  6. 本地 JSONL 落盘:数据以 JSONL 格式保存在本地,作为唯一真源。
  7. 零上传与零依赖:不向远程服务器发送任何数据,且无需执行 npm install。

安装与启用

安装该插件需要使用 DSH 的插件管理命令。确保宿主环境满足要求:DSH 版本 0.2.0-rc.2 及以上,宿主 Node.js 版本 >= 22.15。

使用 GitHub tag tarball 渠道安装(推荐):

dsh plugin --profile desktop add https://github.com/axuan-1314/dsh-usage-stats/archive/refs/tags/v0.2.0.tar.gz

安装后,插件会自动生效,并在设置页增加「使用统计」分区。若使用 web 或 headless profile,需将命令中的 --profile desktop 替换为对应 profile 名称。

数据与配置

数据位置

所有统计数据均存储在本地文件系统,不上传。默认路径为 ~/.dsh/usage-stats/。数据包括按月轮转的 JSONL 流水文件(records-YYYY-MM.jsonl)和日聚合缓存文件等。

配置项

插件支持以下配置键(通常在配置文件中设置):

  • enabled:是否启用插件,默认为 true。
  • storageRoot:自定义数据存储根目录。
  • sessionsRoot:自定义会话文件路径。

典型用法

安装并重启 DSH 后,可在设置页「使用统计」分区查看数据。若需通过 API 直接获取数据,可访问以下接口:

  • 获取摘要:GET /api/dsh-usage-stats/summary
  • 查看热力图:GET /api/dsh-usage-stats/heatmap?days=
  • 查看趋势:GET /api/dsh-usage-stats/trend?days=1|7|30
  • 查看模型用量:GET /api/dsh-usage-stats/models?days=7|30

对于历史数据,若插件未自动完成回填,可点击页脚的「回填历史」按钮。该操作采用 202 受理制,会在后台分片执行,不会冻结界面。

适用场景与注意事项

适用场景

该插件适合需要详细监控 Token 消耗成本、分析使用习惯以及管理多模型使用场景的开发者。

注意事项

  1. 单写者锁:若同时开启两个 DSH 实例,后加载的实例将降级为只读镜像,仅展示数据而不进行采集和回填。
  2. 内存状态:Live 折叠槽数据存储在内存中,进程重启后会丢失。
  3. 版本要求:请确保 DSH 版本不低于 0.2.0-rc.2,宿主 Node.js 版本不低于 22.15,否则无法正常工作。

总结

dsh-usage-stats 插件通过本地采集和回填机制,为 DSH 提供了一套轻量级的用量统计方案。它不需要复杂的依赖配置,数据完全可控,适合作为开发者监控和优化智能体成本的基础工具。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye