omdsh-dev/dsh-session-health7

@deepseek-ai/dsh-session-health

DSH session health checker: frame-level diagnostics over multi-frame zstd session logs (torn/corrupt/empty detection), zero-dependency read-only scanner

AI Analysis

专门用于扫描和诊断 DSH 历史会话日志(zstd 格式)是否损坏或异常中断。适合在系统异常崩溃后,需要恢复或排查历史对话数据完整性的用户。

Package
@deepseek-ai/dsh-session-health
Version
0.0.1
License
MIT
Last updated
Aug 14, 2026

Install

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:omdsh-dev/dsh-session-health

一次性任务(headless)profile —— dsh run 默认使用 headless

dsh plugin --profile headless add "C:/path/to/dsh-session-health"


包内 `dsh.bundle.patch` 会在安装后自动把插件加入 profile 的 layer stack(row id:`tool-session-health`)。插件缺失的 peer 依赖(`cordis`、`@deepseek-ai/dsh-tools`)由 profile 的 healed `profiles/node_modules` 回退安装提供。

> ⚠️ web 与 headless 是**不同 profile**:web 安装不会自动覆盖 headless;`dsh run` 默认使用 headless profile。Windows 路径使用正斜杠(`C:/...`)。

### 验证安装

```sh
dsh --profile web --dump-config | grep tool-session-health

运行验证

dsh run "使用 session_health 工具扫描会话目录健康状态"

手动安装与旧版本兼容

仅适用于不支持 Profile Bundle 的旧快照或插件开发调试环境(本地 junction/symlink、手动编辑 profile 层)。

测试

node /node_modules/vitest/vitest.mjs run tests
  • zstd-scan.spec.ts:官方压缩器生成帧的边界/多帧/not-zstd/截断/保留位 + 真实会话差分(大/中/小文件与官方 scanZstdFrames 逐帧一致;只读本机会话,不入库)
  • files.spec.ts:两级目录枚举、stray/jsonl 识别、路径围栏(穿越/符号链接/越界拒绝)、会话 id 解析、只读保证
  • report.spec.ts:错误/可疑计数分桶、suggestions 模板、空结果、deep 降级标注
  • register.spec.ts:注册契约(AUDIT-CROSS-02 风格)

已知限制

  • deep 依赖动态 import 官方解码器:在 profile 运行时若无法解析该包,明确降级为帧级扫描(报告标注 deep: "unavailable"
  • 事件批次估算 = 帧数 - 1(每批至少 1 帧;不是精确事件数,报告已注明估算)

许可

MIT