DSH Plugins
返回列表
🧠

dsh-session-repacker

记忆 更新于 2026.08.15

在终端中运行以下命令:

dsh plugin install kkishapppy/dsh-session-repacker

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

在 DeepSeek Harness 插件市场中搜索 dsh-session-repacker(源码地址:https://github.com/kkishapppy/dsh-session-repacker),点击安装即可启用会话帧重打包功能。

插件介绍

DSH 的 JSONL 会话后端在每次写入批处理时都会单独压缩成一个 zstd 帧再追加到文件尾部。流式输出期间每约 200ms 触发一批写入,一个稍长的对话就能积累上万个独立帧。而读取路径没有 seek 式后缀能力——无论你只要尾部几条记录还是全量回放,后端都必须逐帧解压整个文件。实测一个 5.49MB 的最大会话纯解压就要 660ms,真实打开路径拉长到 1.5 至 3 秒,GUI 加载、对话分支(fork 前需全量解码父会话)和子会话继承全部被拖慢。

dsh-session-repacker 做的事情很直接:把这上万帧重打包成 DSH 官方写入时的原生两帧形态——头部帧(恰好一行 header)加一个事件帧(其余全部明文拼接后重新压缩一帧)。明文逐字节不变,dsh 读取路径完全兼容;同时因为单个大帧的压缩率远好于万个小帧,压缩体积也减半。实测最大会话从 661ms 降到 126ms,约 6 倍加速;全量 24 个旧会话从 39,911 帧 / 20.08MB 降到 48 帧 / 10.67MB。

安全方面,插件只处理 .jsonl.zstd 文件,跳过活跃会话和近期修改的文件,替换前做字节级等价校验并发检测,临时文件加原子 rename 保证不破坏数据。重打包后的文件仍可被 DSH 正常追加新帧,后续也能再次重打包,完全幂等。适合拥有大量 DSH 历史会话、每次打开旧对话都要等好几秒的用户,一次重打包即可让所有旧会话回归毫秒级加载。

使用场景

  • 打开一个上万帧的长会话时,GUI 加载需要数秒
  • 对话分支(fork)前必须全量解码父会话,等待时间长
  • 批量整理磁盘上几十条旧会话,降低体积并统一帧形态

适合人员

  • 拥有大量 DSH 历史会话、每次打开旧对话都要等待的用户
  • 需要频繁对旧会话做 fork 或子会话继承的开发者
  • 关注 DSH 会话文件压缩比与 I/O 性能的运维人员