← 返回列表
未验证
把会话统计变成科幻等级条与实时吞吐面板
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/11 · 已提供中文文档
将DeepSeek Harness会话统计转化为游戏风格的科幻HUD——具备实时等级条、吞吐量、缓存洞察、滚动令牌计数器,以及响应式完整/迷你模式。
综合分
30.2
GitHub 分
30.2
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add lauytgary/dsh_hud_plugin该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
dsh-stats-hud — 将会话实时统计重新构想为科幻 HUD
English · 简体中文
dsh-stats-hud
一个为 DeepSeek Harness 打造的科幻 HUD:会话的统计数据变成游戏风格的等级条,显示在 Web UI 最右侧边缘固定的垂直列中——同时不触碰原有的统计行。
screenshot
更新日志
2026-09-11 — 已针对 DSH 0.1.5-rc.1 验证(无需修改代码)
- 针对 dsh 0.1.5-rc.1(客户端包 0.1.5-rc.2)重新审查了 HUD 涉及的每一个接口:conversation.composer.dock 仍由 composer bar 声明,并且仍然以声明为条件进行渲染,因此 ctx.slots.inject(...) 注册保持不变;dock 的 id/order/label 选项、useSession / useProjection 标准 props(外加两个新 props:useResource / usePanelInfo)、全部四个投影(sessionStats、tokenUsage、contextPressure、contextBreakdown)以及 [data-composer-card] / data-slot DOM 标记均未改变。
- Manifest 契约未变(dsh.bundle.patch、dsh.client.platform、window.__ModuleLoader__.load({id, factory}));dsh plugin 仍然是 pnpm 转发器。移除了一个无用的 dsh.client.inject 条目:@deepseek-ai/dsh-client-runtime 已不再存在于依赖树中(未知名称会被无害地忽略)。包版本提升至 0.1.1。
- 文档:Install 部分现在区分了两条重载路径——link: 检出中的客户端半部分修改会被默认的 @deepseek-ai/dsh-client-hmr 热重载,而 add / remove / update 仍然需要重启 dsh web。
2026-09-08 — DSH 0.1.2-rc.1 兼容性(slot 注册变为以声明为条件)
- DSH 0.1.2-rc.1 重构了 Web 客户端的 slot 系统:slots.register() 现在是一个纯粹的附加 API,除非目标 slot 已由父条目的 children 表声明,否则会抛出异常。composer 子树——包括 conversation.composer.dock——由 conversation UI 树延迟声明,也就是说,是在插件加载器条目应用之后,因此 apply() 中旧的直接 ctx.slots.register(...) 调用会失败,并报错 slot "conversation.composer.dock" is not declared (a parent entry's children table must declare it),DSH 在启动时会显示 Failed to load plugins。
- 现在注册通过 ctx.slots.inject("conversation.composer.dock", () => ctx.slots.register({ name, id, order }, …)) 进行——这正是内置 StatsLine 对同一个 slot 所使用的模式。当 slot 已被声明时,slots.inject 会立即运行工厂函数,否则会等待其(重新)声明,而整个等待 + 注册过程都依附于插件自身的 fiber 以进行清理。
- 无需更改其他内容:dock 槽位的标准 props(useSession / useProjection)、[data-composer-card] / data-slot DOM 标记以及 HUD 读取的每个 projection 在 0.1.2-rc.1 中均未改变(已对照已安装的包源码验证)。
- 文档已同步(本 README 和 README-CN.md)。
2026-08-24 — 高峰 / 非高峰时段已更新
- CLOCK 徽章现在遵循 DeepSeek API 官方的峰谷定价:高峰 = 周一至周五 北京时间 09:00-12:00 / 14:00-18:00(即周一至周五 01:00-04:00 / 06:00-10:00 UTC);周末始终为非高峰(此前处于这些时段内的周末被错误地显示为高峰)。
- 将检查逻辑重构为纯函数 isDsApiPeak(date) 辅助函数(星期几按北京日历解析,因此在任何时区都正确),并通过仅用于测试的 __test 导出暴露。
- 新增 3 组单元测试,覆盖时段边界、周末以及北京/UTC 日期分界(共 9 个测试,全部通过)。
- 文档已同步(本 README、README-CN.md 和 Tuning 章节)。
从旧版 DSH 升级
在 DSH 迁移到声明式门控槽位(0.1.2-rc.1)之后,在此变更之前安装的本插件会在启动时失败,并显示:
Failed to load plugins
dsh-stats-hud
failed to apply loader entry … (dsh-stats-hud): slot "conversation.composer.dock" is not declared (a parent entry's children table must declare it)
将插件更新到修复后的版本(即上方 2026-09-08 的 Changelog 条目),然后重新加载:
- 从本地检出安装(link: 依赖):更新检出(git pull,或将新文件复制过去)。客户端部分由 @deepseek-ai/dsh-client-hmr 热重载到正在运行的页面中;仅当插件的宿主部分或其 cordis.patch.yml 补丁发生变化时,才需要重启 dsh web。
- 从 GitHub 或 npm 安装:使用 dsh plugin --profile web update dsh-stats-hud 重新解析最新版本,或再次 remove 并 add 该包,然后重启 dsh web —— 新解析出的安装路径会在启动时被扫描。
快速检查修复后的版本是否已就位:客户端代码必须包含新的注册模式 ctx.slots.inject("conversation.composer.dock", …)(参见 lib/client.js)。
如果重启后警报仍然显示,请强制刷新浏览器页面(Cmd+Shift+R)—— 插件的浏览器 bundle 按页面加载进行缓存。
仪表(全英文,LLM 术语)
| 仪表 | 数据 | 满量程 | 超出满量程 |
| --- | --- | --- | --- |
| CLOCK 徽章 | 本地时间(24 小时制)+ DS API PEAK / DS API OFF PEAK 费率 | 高峰 = 周一至周五北京时间 09:00-12:00 / 14:00-18:00(即周一至周五 01:00-04:00 / 06:00-10:00 UTC);周末及所有其他时段为非高峰(半价) | 高峰为橙色色调,非高峰为绿色色调 |
| STEPS / TURN 滚动行 | 步数 / 轮次以里程表滚筒形式显示(类似 CONTEXT 行) | — | 滚筒在挂载时旋转,在变化时滚动 |
| LLM / TOOLS 双条 | 两列(标签在数值上方),条形段 = 原始 LLM:TOOLS 时间比 | 无上限 — 2:1 时间意味着 2:1 条形 | — |
| THROUGHPUT 仪表 | tokens/s(吞吐量),居中标题,合并居中读数(146 tok/s) | 红线自动缩放 200→300→400…(弧形刻度随之变化) | — |
| CONTEXT USAGE 条 | 上下文窗口使用率 %,含 3 个分段:Sys Prompt(灰色)/ Tools(蓝色)/ Messages(紫色),按 token 比例 | 0-100% | ≥80% 整条变为纯红色;悬停显示三个 token 计数 |
| CACHE HIT 条 | 缓存命中率 % | 0-100% | = 1 && bjDow = 540 && bjMin = 840 && = 180 → full,否则为 mini(测量失败时回退到 full)— 再加上 .gsh-root.gsh-* 规则;@media (prefers-reduced-motion: reduce) 会禁用脉冲和过渡
发布到 npm(可选)
remove "private": true from package.json, then
npm publish
users install with:
dsh plugin --profile web add dsh-stats-hud
联系方式
有问题、想法或反馈?在 GitHub 上发起讨论:
- Discussions
许可证
MIT扫码进群