@weibaohui/dsh-dashboard
Usage dashboard: offline-scans session logs to chart daily/weekly/monthly tokens, estimated costs, model/tool/skill/command leaderboards, output speed, working hours and quality metrics; gridstack+ECharts cards are drag-and-drop composable, with custom formulas and AI arrangement (prompt round-trip
Install
dsh plugin --profile web add @weibaohui/dsh-dashboard
Sandbox test results
| Stage | Result |
|---|---|
| 1 install | ✓ |
| 2 list | ✓ |
| 3 mount | ✓ |
| 4 boot | — |
Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).
README
@weibaohui/dsh-dashboard



使用量仪表盘:离线扫描本机全部 dsh 会话日志,把每天/每周/每月的 token 用量、估算费用、模型/工具/技能/命令榜、输出速度、工作时段与质量错误做成可编排的 Dashboard——gridstack 拖拽卡片 + ECharts 图表 + GitHub 同款日历热力图,支持自定义公式、AI 编排整页配置,不监听任何运行时事件、全部统计在本地完成。
效果演示
概览:四统计卡 + 热力图 + 趋势 + 模型榜 · Token 与费用:趋势/构成/命中率/明细 · 模型与质量:速度/错误率/明细/重试榜
命令与技能:四类调用榜 · 工作时段热力图 + 会话明细 · 洞察卡 + 错误码分类 + 聚簇
输入与时长:次数/长度/运行时长 · 会话下钻:单会话完整画像 ·
核心功能
- 八个出厂预设页:概览(四统计卡 + 52 周热力图 + token 趋势 + 模型榜)、Token 与费用、模型与质量、命令与技能、工作时段与会话、错误分析、输入与时长、上下文与效率——装上即有完整 Dashboard
- 上下文与效率统计(口径对齐 dsh-context):上下文构成趋势(单会话逐请求六类堆叠——系统提示/工具 Schema/用户输入/注入/Skill/助手/工具结果,压缩事件 ✂ 锚点,可切会话)、注入上下文来源榜(「上下文税」按插件/Skill 归因)、缓存命中率与缓存写占比、压缩回收 tokens、首响应延迟 TTFT 分布(按模型箱线)、思考时间占比(reasoning/text/toolarg 解码分桶)、人的时间(审批与问答等待分钟数)、文件活动(读写搜索次数、代码行增删、无效搜索率)、DeepSeek 峰谷分时成本(off 系数价格)
- 深度错误分析:供应商 × 错误码分类表(限流/配额、服务端 5xx、超时、空响应、传输——宿主重试策略自带分类学)、错误聚簇 Top(归一化计数,如「429 请求频率过高」×162)、错误样本表、异常日排行(回合错误率)、工具报错榜
- 洞察卡(7 张独立卡,一类洞察一张最合身的图型):异常日错误率(横向条形 + 中位参照虚线,点条下钻当日)、Token 异常日(×中位数倍数条形,×1 基线)、重试风暴(供应商 × 重试码堆叠条)、慢工具耗时榜、命令失败率(绿→黄→红严重度条形)、错误聚簇矩形树图(面积 ∝ 次数,按错误类别着色)、会话榜单合并表(费用/失败/输入/时长/压缩五榜合一可排序,行点击下钻会话);旧版 11 区合一
insights卡保留兼容,卡片编辑器与 AI 编排目录同步收录新卡型 - 三级下钻:热力图点某天 → 当日明细(会话/工具/技能/命令/错误/小时热度);模型榜点某模型 → 模型画像(逐日趋势/速度/重试/费用/Top 会话);会话行点某行 → 会话画像(按天分解/模型分布/工具统计/错误样本)
- 输出速度精确计量:每条 assistant 消息内嵌流式 chunk 时序(delta 时间戳数组),解码窗口首尾相减得 tokens/s——按模型/按日出 p50 级精度,而非粗糙估算
- 估算费用:内置常见模型占位价格表,按模型 × in/out/缓存读写单价换算,UI 明示「估算」并列出未定价模型;价格表可视化编辑
- 可编排:gridstack 拖拽/缩放、加卡片、建页/改名/删页,布局与卡片配置即 JSON 自动持久化
- 22 种图类:堆叠柱、矩形树图(项目→模型构成)、旭日图、桑基流向图、主题河流、雷达(模型质量五维)、平行坐标(会话多维)、箱线图(速度分布)、K 线(每日速度区间)、直方图(输入长度分布)、费用预算仪表盘
- 自定义公式:卡片支持安全表达式(Pratt 解析器,禁 eval)——
pct(cacheReadTok, cacheReadTok + inTok)、perSec(decodeTok, decodeMs),序列函数ma(x,n)移动平均、delta(x)环比 - AI 编排:描述需求 → 生成带指标目录与 JSON Schema 的提示词 → 交给任意 agent 会话 → 返回 JSON 一键导入,宿主按 Schema + 指标白名单双校验,坏配置进不来
- 入口可选:默认左侧栏 Global panels 最上方(完整主面板形态);⚙ 设置里可切换为设置页内 / 两者都显示
- 明暗主题跟随:按官方约定读取
body[data-ds-dark-theme]/html[data-ds-theme-source]主题属性,MutationObserver 属性监听即时跟随 dsh 切换主题(纯事件驱动,无轮询;matchMedia 兜住系统深浅),整套 UI 与全部图表实时重着色,无需刷新、无设置项 - 性能自律:多帧 zstd 逐帧解压(结构化扫帧,不用一次性解压 API 防静默截断)、mtime 增量扫描日常秒级、事实表内存缓存 + storage 持久化、零 npm 运行时依赖
安装
dsh plugin --profile web add @weibaohui/dsh-dashboard -w
装完重启 dsh web 即生效,启动后自动增量扫描 ~/.dsh/sessions。入口:左侧栏最上方 📊 仪表盘(⚙ 设置里可切换为设置页内 / 两者)。
使用
1. 装上即有八个出厂预设页:概览 / Token 与费用 / 模型与质量 / 命令与技能 / 工作时段与会话 / 错误分析 / 输入与时长 / 上下文与效率,页签直接切换
2. 编辑布局:进入编辑模式拖拽/缩放卡片、加卡片、新建页/改名/删页,改动自动保存
3. 下钻:热力图点某一天、模型榜点某个模型、会话表点某一行、洞察条目点击——逐级从总览定位到单个会话
4. AI 编排:设置 → AI 编排新页面 → 描述需求生成提示词 → 交给任意 dsh agent 会话 → 把返回 JSON 粘回导入
5. 费用:默认按内置价格表估算;设置 → 编辑价格表按模型调整单价(每 M token,含缓存读写);⚙ 设置里可设月预算,Token 与费用页的预算仪表盘实时显示达成率
6. 扫描:启动自动增量扫描(按文件 mtime 跳过);设置里可手动增量重扫 / 全量重扫
7. 自定义公式:卡片编辑器填公式(优先于指标),支持 pct(a,b)、perSec(tokens,ms)、序列级 ma(x,n)、delta(x)
8. 输入与时长分析:输入次数/字符量趋势、平均输入长度、会话运行时长排行、子代理调用量
页面 → 板块
预设页 · 卡片
概览 · 今日费用/tokens/活跃会话/平均速度四卡 · GitHub 同款热力图 · 每日 token 趋势 · 模型榜
Token 与费用 · 每日费用趋势 · 费用构成饼图 · 缓存命中率(公式卡) · 按模型明细表
模型与质量 · 输出速度趋势(按模型) · 回合错误率 · 模型质量明细 · 重试榜
命令与技能 · shell 命令榜 · skill 调用榜 · 工具调用榜 · 斜杠命令榜
工作时段与会话 · 星期 × 小时热力图 · 最近会话表 · 回合与错误趋势 · 项目榜
错误分析 · 洞察卡 · 错误趋势 · 供应商 × 错误码 · 错误样本与聚簇 · 工具报错榜
输入与时长 · 输入次数/运行时长统计卡 · 输入趋势 · 平均输入长度 · 直方图 · 会话明细
上下文与效率 · 上下文构成趋势(可切会话) · 缓存命中率(按模型) · TTFT 箱线 · 思考占比 · 注入来源榜 · 等待/审批/回收/提问四统计卡 · 代码行增删 · 文件写入榜 · 会话规模直方图
卡片配置 schema(页面 JSON)
页面配置即 JSON(gridstack 布局 + 卡片定义),存宿主 storageDomain;手排、AI 排都是改这份 JSON。
{
id: 'overview', title: '概览', cols: 12,
layout: [{ i: 'ov-today-cost', x: 0, y: 0, w: 3, h: 2 }, …],
cards: {
'ov-today-cost': {
type: 'stat', // stat|line|bar|pie|table|calendarHeatmap|punchcard|sessions
// errorSamples|retryCodes|insights|stack|treemap|sunburst
// sankey|themeRiver|radar|parallel|boxplot|candle|histogram|gauge
title: '今日估算费用',
query: {
measures: ['cost'], // 指标名(见 /api/catalog 指标目录)
granularity: 'day', // day | week | month
range: 'today', // today | 7 | 30 | 90 | 365 | all
groupBy: '', // model|tool|skill|cmd|slash|project|session|''
scope: 'all', // all 含子代理 | top 仅顶层会话
project: '', // 按项目名过滤
},
options: { unit: 'USD', top: 8, stack: true },
},
},
}
指标目录(measures)
msgs 模型响应数 · inTok/outTok/cacheReadTok/cacheWriteTok/totalTok · turns/turnsError 等 · retries/retryExhausted · toolCalls/toolErrors/toolMs · llmMs/decodeMs/decodeTok · speed 输出速度 · sessions/skills/cmds/slashCmds · cost 估算费用 · `error
…(truncated)
Rendered from the README published on npm. Formatted only, not edited.
Versions
Published on npm::9,最后更新 2026-10-29