DSH Plugins
返回列表
⚙️

dsh-session-repair

工作流 更新于 2026.10.19

在终端中运行以下命令:

dsh plugin install snow-The/dsh-session-repair

将以下提示词粘贴到 DeepSeek Harness 对话框中:

在 DeepSeek Harness 中执行 dsh plugin install snow-The/dsh-session-repair,或按仓库 https://github.com/snow-The/dsh-session-repair 的说明安装该插件。

插件介绍

DSH Harness 会把对话与运行轨迹写入 ~/.dsh/sessions 下的 session.jsonl.zstd。日志一旦格式不对,轻则解析报错,重则启动阶段直接失败,整段会话像「坏盘」一样无法继续使用。常见诱因包括:文件被压成「单帧 zstd」导致首帧不是单行 header,以及较新 Harness 写入了旧版本不认识的 event type,从而触发 SessionFormatUnsupportedError。

dsh-session-repair 面向这类「可修复的格式问题」而非业务逻辑本身。它提供 session_repair_scan 做只读体检:统计 zstd 帧数、行数、header 是否合法、解析错误与未知事件类型;session_repair_fix 则在备份原文件(.bak-repair-)后,按规范重建「每帧一行 JSON」的多帧布局,并对未知类型事件标记 ignorable: true,让旧 Harness 跳过而非拒读整份日志。修复流程遵循 backup → 临时文件重建 → 校验(frames == lines)→ 原子替换,扫描阶段绝不写盘。

适合经常切换 Harness 版本、从备份恢复会话、或排查「突然起不来 / 某条 session 一加载就炸」的开发者与插件维护者。运行 fix 后需重启 Harness;若你的当前版本其实已支持某些 event type,可通过 extraKnownTypes 避免误标为可忽略。系统需已安装 zstd CLI。

使用场景

  • Harness 启动失败,怀疑 session.jsonl.zstd 首帧不是单行 header
  • 升级或降级 Harness 后,旧会话因未知 event type 无法加载
  • 批量检查 ~/.dsh/sessions 下哪些会话存在帧数/行数或解析异常

适合人员

  • 经常切换 DSH Harness 版本的开发者
  • 维护 agent 工作流插件、需要排查会话损坏的人
  • 从备份恢复会话或做本地运维的同学