HaoyueQin/dsh-usage-statistics-panel

HaoyueQin★ 1TypeScript最后同步: 2026-08-22

在 GitHub 打开

DSH web plugin: per-day token usage statistics with a GitHub-style activity heatmap, cache hit-rate curve and per-model breakdown

README 摘要

DSH Usage Statistics Panel English 中文 DSH web 插件的用量统计面板:按天 Token 趋势、GitHub 风格活跃热力图、缓存命中率曲线、按模型用量拆分(环形图 + 列表),在设置页新增一个"使用统计"页面。 所有图表均为手绘 SVG,不依赖图表库;配色使用 GitHub Primer 的 data-viz 双套色板(前 5 名模型各取一个等级色,其余归入灰色 "Other" 桶),并随 DSH 主题自适应。 预览 功能 - 时间范围 :最近 7 / 14 / 30 / 90 天,或自定义起止日期 - 汇总卡片 :Token 用量、会话数量(完成的 turn)、请求数量、活跃天数、平均缓存命中率、最常用模型 - 26 周活跃热力图 :每日 token 用量的 GitHub 风格色阶,悬停查看当天明细 - 按天 Token 趋势 :堆叠柱状图叠加平滑的缓存命中率曲线(Catmull-Rom 样条),悬停查看各模型拆分 - 模型用量 :环形图 + 列表,前 5 名模型分色,其余折叠为可展开的 "Other" 明细 - 历史回扫 :首次启用时枚举并回放既有会话日志;对挂载后才首次观测到的活跃会话,其挂载前的历史会在下一次启动时按事件序号边界回放补全,从安装日起尽量还原历史用量 - 本地持久化 :数据写入 $DSH HOME/storages/usage history.json (storage-domain),纯本地、无外部依赖 安装 装完 硬刷新浏览器 (Cmd/Ctrl+Shift+R):client 半的改动 DSH 会热加载,无需重启;仅 host 半(采集/存储/路由)更新时需要重启 DSH。 插件挂载后,在 Web UI 的设置页左侧导航会出现"使用统计"页面。 数据来源 面板的数据采集是 观测式 的:插件订阅会话事件流( session/event )中的 assistant/message 与 assistant/chunk ,提取 provider 上报的 token 用量(输入 / 输出 / 缓存读 / 缓存写),在 单个会话内 按 (turn, step) 去重(同一调用只计一次、保留先到的样本——两个官方适配器对流式采样与最终上报的数值完全一致;并发会话各自独立计数、互不吞样本)。模型归因优先取消息自带的 source (每次调用各自标注),缺失时回退到会话的路由折叠( request/context 事件或会话的 requestContext() ),宿主重启后也不会落入 "(unknown)" 桶。首次启用时还会回扫既有会话日志补齐历史。 提示:Token 用量从插件启用(含回扫)之日起累计;更早的会话日志若无 provider 上报的用量数据,则无法回溯。 Token 口径 :汇总卡片与趋…

在 GitHub 查看完整 README →
工具/开发cordisdata-visualizationdeepseek-harnessdsh-pluginllmpluginreactsettings-panel

分类