前言¶
在 DeepSeek Harness(DSH)里跑多工作区、多会话时,官方 Web GUI 侧重操作与对话,并不会把历史会话里的 provider usage 聚合成可浏览的报表。若你想看清一段时间内的 Token 构成、估算花费、哪条会话最耗 Token,以及 DSH 宿主自身的 CPU 与内存占用,通常只能自己扫 ~/.dsh/sessions 下的 JSONL,或写脚本对账。
下面介绍社区插件 dsh-session-dashboard(维护者 starriv,GitHub 仓库 starriv/dsh-session-dashboard)。它在 Host 侧读本机会话日志,在 Web GUI 左侧栏提供「会话统计」面板,把用量、费用估算、趋势、排行和运行状态放在同一页,并复用 DSH 主题与鉴权。目录分类为 admin-security;截至社区目录信息,仓库约 3 stars、1 fork。插件以 MIT 许可发布,当前 npm 包版本为 1.4.1(以仓库 package.json 为准)。
这是什么¶
DSH Session Dashboard 是 DeepSeek Harness Web GUI 的会话统计插件。数据源是本机 DSH 会话目录(默认 ~/.dsh/sessions)中的 session.vN.jsonl 或 .zstd 日志;不依赖远程账单 API。界面从 sidebar.panellist 的 session-stats 入口进入,与 main 面板 key 对应。
环境要求(README 原文):
- DeepSeek Harness 0.2.1-rc.5 或兼容版本。
- Node.js >= 22.15(CI 覆盖 Node 22 与 24)。
- 安装包内需包含预构建的
client.js,供插件管理器加载。
核心功能¶
按 README 功能表,各区域职责如下。
| 区域 | 内容 |
|---|---|
| 全局范围 | 全部时间(默认)、今日、近 7/14/30 天;「今日」按浏览器所在 IANA 时区自然日从 0 点到现在,并与上一日对比 |
| 概览 | 总 Token、估算花费、平均每会话、缓存命中率;有上期数据时显示环比变化 |
| 每日消耗 | 按 Token 类型堆叠柱状图,虚线表示上一周期,底部显示日均值 |
| Token 构成 | 环形图与图例(精确值与占比) |
| 会话排行 | 按 Token 或活跃时长排序;展示占比条、花费、活跃时长与总时长(悬停可看首末活动时间) |
| 运行状态 | CPU、RSS、事件循环 p99、运行时长、PID、Node 版本及近 5 分钟 CPU 曲线 |
| 刷新 | 页面可见时每 5 秒刷新;隐藏时暂停;失败退避;支持手动刷新 |
Token 统计口径:只计 provider usage 中的 inputTokens、outputTokens、cacheReadTokens、cacheWriteTokens;压缩摘要中的独立 provider 调用按 compactionId 去重计入。费用为按模型与时间段的估算值(默认 CNY 价目快照,含峰谷窗口,默认时区 Asia/Shanghai),不等于平台账单;Search/Fetch 按次费、无 usage 的辅助调用等不在估算范围内(README「估算范围」一节有完整排除列表)。
界面使用 DSH 主题变量,支持浅色、深色与窄屏;切换统计范围时保留布局并用占位块加载,减少整页闪烁。
安装与启用¶
从 npm 安装(推荐)¶
在 DSH 插件管理器中执行(README 原文写法):
plugin_manager install_bundle -> dsh-session-dashboard
DSH 会从已配置的 npm registry 解析最新版本;有新版本时管理页可显示「可更新」并直接升级。安装完成后左侧栏出现「会话统计」;首次打开或更新插件后建议刷新一次 Web GUI。
开发与本地路径安装¶
修改 Host 侧 index.js、host/ 后需重启 DSH 宿主;Client 由插件管理器加载 client.js。本地路径或 link: 安装属于开发方式,不会收到 registry 更新提示;需要自动更新时请使用上述 npm 安装。
配置要点¶
cordis.patch.yml 中 row config 均可选。常用项示例:
| 键 | 默认值 | 说明 |
|---|---|---|
scope |
all |
Host 侧默认统计范围;打开面板仍以界面选择器为准 |
trendDays |
30 |
全部时间模式下趋势图天数(1–90) |
timeZone |
Asia/Shanghai |
峰谷计价与浏览器未上报时区时的日历兜底 |
refreshMs |
1500 |
同一份快照的最小重扫间隔 |
idleGapMinutes |
10 |
活跃时长:相邻事件间隔超过该值视为离开会话 |
rankingLimit |
100 |
排行最大条数 |
allowUnauthenticated |
false |
无 connection 服务时是否允许无鉴权访问 |
pricing / peakWindows 可覆盖内置价表与峰时窗口。allowUnauthenticated 会关闭元数据路由鉴权,不应在可被网络访问的 Host 上启用;默认在无 connection 时返回 503 auth-unavailable。
典型用法¶
- 确认本机存在 DSH 会话日志目录(默认
~/.dsh/sessions),且 DSH 版本与 Node 版本满足要求。 - 按上文在插件管理器中安装
dsh-session-dashboard。 - 在 Web GUI 左侧栏打开「会话统计」,用顶部范围选择器切换「全部时间 / 今日 / 近 7 天」等。
- 查看概览与「每日消耗」「Token 构成」判断近期用量结构;在「会话排行」中按 Token 或活跃时长排序,悬停时长列核对活动时间。
- 在「运行状态」区观察 Host CPU、RSS 与事件循环延迟,评估本机负载。
- 若需调整峰谷时区、扫描频率或排行上限,在插件 row config 中修改对应键后按 DSH 插件重载流程生效;改
pricing后需重新加载插件以重建计价缓存(仅刷新浏览器不会重算 Host 侧历史计价缓存)。
数据 API(README 安全章节):/dsh-session-stats/snapshot 与 /dsh-session-stats/ping 使用相同鉴权;存在 connection 服务时复用 Cookie/API 凭证,无 Cookie 的 curl 会得到 401。
适用场景与注意¶
适合:在本机长期使用 DSH、希望用 Web 界面复盘 Token 与估算成本、并顺带查看宿主健康状态的开发者或团队(数据不出本机会话目录)。
注意:
- 插件以当前 DSH 进程权限读取会话文件;安装前宜阅读仓库源码与 SECURITY.md,确认与部署边界一致。
- 响应包含会话标题、
cwd、Token 与费用估算,应通过 DSH 既有访问控制暴露 GUI,勿在公网裸奔 Host。 - 社区目录 skillhub.cn 插件页 为独立生态索引,与 DeepSeek / 幻方无官方从属关系;安装与升级以仓库 README 与 registry 包为准。
结尾¶
dsh-session-dashboard 把 DSH 会话日志里的 provider usage 聚合成可切换时间范围的统计面板,并补充 Host 运行指标,适合作为本地用量与成本粗算的日常入口。进一步的功能说明、数据口径与安全模型见 GitHub README;插件目录页:https://www.skillhub.cn/plugins/starriv/dsh-session-dashboard,源码:https://github.com/starriv/dsh-session-dashboard。