Bundle
dsh-session-repair
Session log repair tool for DSH: scans zstd session logs for unknown event types and marks them ignorable with a compliant frame rewrite (backup included). Read-only scan by default.
- Source
- Equinox7379
- License
- MIT
- Updated
- Updated 10 hours ago
Readme
# dsh-session-repair
DeepSeek Harness 插件:修复因未知事件类型导致无法打开的会话日志。
## 背景
dsh 0.1.0-rc.x 没有第三方事件类型注册机制。外置插件向会话日志写入自定义事件(如 `message-edit/version`)后,服务重启恢复该会话时抛出 `SessionFormatUnsupportedError`。官方读端支持 `ignorable: true` 标记,本插件即为这类事件补齐标记并按合规帧格式重写日志。
## 用法
- 工具:`session_repair`
- 参数:`action`(`scan` 只报告 / `repair` 修全部非 live / `repair_id` 修指定会话)、`sessionId`
示例(scan 输出):
```json
{ "action": "scan",
"files": [ { "file": "--E-surdet--/session-…/session.jsonl.zstd",
"unknown": { "message-edit/version": { "count": 1, "ignorable": 0 } }, "fixable": true } ] }
```
## 可靠性
- `scan` 默认零改动;`repair` 只处理非 live 会话文件;
- 修复前强制备份(`.before-ignorable`),幂等(已标记事件不重复处理);
- 帧格式合规:首帧恰为 header 一行,之后每行一帧,压缩带校验和;
- 解压失败/首行非法时中止该文件并报告,不强行写回;
- 零运行时依赖、无自定义会话事件、无 HTTP 路由。
## 安装
```sh
dsh plugin --profile web add link:/path/to/dsh-session-repair
# 重启 dsh web
```
## License
MIT
Install
dsh plugin --profile web add github:Equinox7379/dsh-session-repair#2f2f2f5165341fe00ec5c4bfaaaf345e6019953a
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-session-repair from the hub