dsh-session-repair

by equinox7379

开发与运行时github收录于 08-23

DeepSeek Harness 插件:修复因未知事件类型导致无法打开的会话日志。

DeepSeek Harness plugin that repairs session logs that fail to open due to unknown event types.

安装

dsh plugin --profile web add github:equinox7379/dsh-session-repair

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

目录

DeepSeek Harness 插件:修复因未知事件类型导致无法打开的会话日志。

背景

dsh 0.1.0-rc.x 没有第三方事件类型注册机制。外置插件向会话日志写入自定义事件(如 message-edit/version)后,服务重启恢复该会话时抛出 SessionFormatUnsupportedError。官方读端支持 ignorable: true 标记,本插件即为这类事件补齐标记并按合规帧格式重写日志。

用法

  • 工具:session_repair
  • 参数:action(scan 只报告 / repair 修全部非 live / repair_id 修指定会话)、sessionId

示例(scan 输出):

{ "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 路由。

安装

dsh plugin --profile web add link:/path/to/dsh-session-repair
# 重启 dsh web

License

MIT

原始 README: https://github.com/Equinox7379/dsh-session-repair/blob/master/README.md ↗