dsh-usage-stat
简体中文 · English
DSH Desktop 的本机主页概览插件。在没有打开其他会话时自动显示主页,也可以从“新会话”下方的顶部导航入口随时打开。
插件只读汇总 DSH 本机会话日志,不修改会话,也不会把统计数据发送到外部服务。
功能
- 今天、本周、本月的活跃项目、会话、模型调用和 Token 用量;
- 近 30 天 Token 趋势、活跃天数和峰值日期;
- 缓存复用率、平均输出量、主力模型与模型分布;
- 最近使用的会话和项目活动记录;
- 会话扫描耗时、读取失败数量和数据生成时间;
- 5 分钟内存缓存,以及“立即刷新”强制重算。
统计服务最多并发读取 4 个会话,避免一次打开大量历史日志时压垮本机。单个损坏或无法读取的会话会被隔离,并在主页显示失败数量。
安装
推荐安装固定版本到 DSH Desktop 使用的 desktop profile:
dsh plugin --profile desktop add https://github.com/oujnit/dsh-usage-stat/releases/download/v0.2.3/dsh-usage-stat-0.2.3.tgz
也可以跟随 main 分支安装:
dsh plugin --profile desktop add github:oujnit/dsh-usage-stat
安装后检查最终配置:
dsh --profile desktop --dump-config
完全退出并重新打开 DSH Desktop。进入 设置 → 插件 → 插件,确认 usage-stat 显示“运行中 / 已启用”。
卸载:
dsh plugin --profile desktop remove dsh-usage-stat
统计口径
- 模型调用来自会话日志中的
assistant/message 模型消息,包含子代理产生的调用;
- Token 数值采用 provider 写入日志的上报值,普通输入、输出、缓存读取和缓存写入分别统计;
- 自然日使用运行 DSH Desktop 的本机时区,一周从周一开始;
- 缓存复用率 = 缓存读取 ÷(普通输入 + 缓存读取);
- 项目按会话记录的工作目录汇总;最近使用记录按最后一条事件排序。
如果 provider 没有上报某类 Token,该项会显示为 0。这是日志统计,不是账单金额,也不能替代服务商的官方计费记录。
隐私与安全
插件不接入遥测服务,不上传统计结果,也不写入会话。浏览器通过同源的 /api/usage/state 读取本机聚合结果。
接口响应包含会话标题、工作目录和模型名称。如果你把 DSH Web 服务暴露给其他设备或网络,请沿用 DSH 自身的访问控制,不要把未受保护的服务开放给不可信用户。
兼容性
v0.2.2 已在以下环境完成真实运行验证:
- DSH Desktop 2.0.2;
- Desktop 内置 DSH 0.1.1-rc.2;
- macOS arm64;
- 浅色界面下的主页、任务看板、SSH 和技能中心并存场景。
客户端入口使用 DSH Desktop 当前提供的侧边栏和中央面板扩展位置。DSH Desktop 大幅调整 Web UI 结构后,旧版插件可能需要同步升级。
本地开发
需要 Node.js ^22.19.0 || >=24.0.0 和 pnpm 11.7.0:
pnpm install --frozen-lockfile
pnpm run check
pnpm pack --dry-run
本地安装当前 checkout:
dsh plugin --profile desktop add .
lib/ 构建产物会提交到仓库,GitHub 安装不需要在用户机器上执行构建脚本。
许可证
MIT