前言¶
在 DeepSeek Harness(DSH)里跑长对话或复杂工具链时,上下文窗口会悄悄涨满,同一工具也可能连续报错;任务卡在「进行中」却看不到量化依据,往往只能翻日志或凭感觉判断。社区插件 dsh-session-health(维护者 kingrenqi-wq)在界面右下角提供一张只读悬浮卡片:展示最近一次请求的上下文占用比例,并在「同类工具连续失败」或「任务长时间无终态」时用黄边与文案提示;点开可看证据面板,数字均来自本机会话日志,不联网、不写文件。
这是什么¶
dsh-session-health 是 DSH 的客户端插件(package.json 中 dsh.client.platform 为 web)。它挂载在 DSH 的 shell.overlay 插槽,依赖 useSessions 等宿主 hook,读取 ~/.dsh/sessions/**/session.v4.jsonl.zstd,重建会话视图并计算状态。它不评判任务对错、不预测耗时、不主动停止或重试、不触发压缩,也不显示余额/花费(避免与专门插件重复)。
卡片上显示什么¶
正常时卡片展示类似 上下文 31%,表示最近一次请求输入侧占窗口的比例(口径:totalTokens − outputTokens / contextWindow)。上下文 ≥50% 时数字呈琥珀色,≥65% 呈红色(仅改颜色,不加额外文字;自动压缩多在 65–70% 附近触发,具体随模型与配置变化)。
| 状态 | 表现 | 说明 |
|---|---|---|
| 采样超过 90 秒 | 数字 60% 透明度 | 数据变旧,不清零 |
| 压缩中 | 更新中 + 压缩进行中 |
压缩期间不沿用旧快照 |
| 压缩结束/换模型 | 等待下一次请求 |
旧快照失效 |
| 同类失败 ≥2 次 | 黄边 + 同类失败 ×2 |
同一工具、同一错误类别,跨目标合并 |
| 任务 >300 秒无终态 | 任务状态待确认 |
不判断任务是否仍存活;该轮结束即退场 |
| 记录解析失败 | 末行 记录不完整 |
中间记录读不出时历史可能缺项 |
失败判定只认结构化信号:tool/result.data.error;shell 工具另按结尾 [exit code: N] 计;aborted 不算失败。长任务提示仅在 300 秒~30 分钟窗口内出现,超过 30 分钟无新证据则退场进历史。
证据面板与交互¶
点击卡片打开证据面板,可查看来源采样时间、失败工具/类别/条数/目标、seq 区间,以及最近 3 条已结束提示(含结束原因)。「最近记录」由日志重建,携带整段会话历史;标题右侧 清除 仅在本地隐藏此前条目,不改日志,换会话互不影响。
使用方式(来自 README):
- 卡片默认在右下角,拖动可改位置,位置保存在
localStorage - 点击打开面板,
Esc或点外部关闭 - 键盘:
Tab聚焦,Enter/Space打开
安装与启用¶
在 DSH 侧栏 插件 → 添加插件,输入下列任一形式:
# npm(发布后)
dsh-session-health
# Git
https://github.com/kingrenqi-wq/dsh-session-health
# 本地目录
/绝对/路径/dsh-session-health
装完后点 立即启用。若安装的是链接目录,改客户端代码后刷新页面即可;若改宿主侧 index.js,需重启 DSH。
当前 package 版本为 1.3.0(以仓库 package.json 为准),许可 MIT。Node 引擎要求 >=22.13.0(需支持 zstd 解压会话文件)。
适用场景与注意¶
适合需要在 DSH 界面里持续观察上下文占用、并在工具反复失败或任务长时间无终态时快速对照本地证据的开发者。插件以当前 DSH 进程/浏览器上下文运行,安装前应自行审阅 GitHub 源码 与许可证;只读本地会话,但仍会读取 ~/.dsh/sessions 下 v4 格式日志。
已知限制(README 与 PRD):宿主重启、时钟跳变、多窗口、超时合并、分页等场景未充分验证;DSH 升级后若 shell.overlay 或 useSessions 变更,卡片可能消失但不影响 DSH 本体;仅支持会话 v4,格式变化会退化为不可用而非崩溃。仓库含 91 条行为断言与只读审计测试,可在克隆后的开发环境中按 README 运行 tools/session-health-*.test.mjs 验证规则(测试通过 DSH_SESSION_HEALTH_ROOT 指向临时目录,不碰真实会话)。
结尾¶
dsh-session-health 把「上下文还剩多少、同类失败是否堆叠、任务是否久无终态」收敛到一张本地只读卡片,需要细节时再打开证据面板,避免在长会话里盲翻日志。目录与说明见 SkillHub 插件页,源码与完整状态表见 GitHub:kingrenqi-wq/dsh-session-health。