在 DeepSeek Harness(DSH)的使用中,长运行会话会积累大量上下文。内置的 /compact 命令可以压缩历史,但通常仍继续在原会话中进行。有时需要将压缩操作作为一个清晰的分支点:在保留压缩后状态的同时,在新的会话中继续工作,同时保持原会话可独立恢复。这对上下文窗口有限的场景尤其有用。dsh-compact-and-branch 插件实现了这一功能,它执行与 /compact 相同的操作,但将后续工作转移到新会话中。
插件定位¶
这是一个 DeepSeek Harness 插件,由 zeropointnine 维护,属于“记忆”分类。它是一个独立的插件,旨在将标准的上下文压缩作为一次干净的会话分支点。
核心功能¶
- 复用 Canonical 压缩:调用 DSH 内置的
/compact命令逻辑。 - 创建独立会话:在相同的工作区和预设下创建全新的根会话,不继承父会话的 fork 线性关系。
- 完整上下文迁移:保留压缩后的上下文,包括消息内容、顺序、身份来源以及工具调用对。
- 模型配置继承:新会话会继承源会话的模型选择配置。
- UI 优化:在浏览器界面中隐藏合成的导入回合行,仅显示一条原生提示行,保持界面整洁。
安装与启用¶
安装无需手动编辑配置文件。通过命令行添加插件:
dsh plugin --profile web add git+https://github.com/zeropointnine/dsh-compact-and-branch
添加、更新或移除插件后,必须重启 DSH 才能生效。
使用方法¶
在任意会话中输入:
/compact-and-branch
不需要参数。命令会通过 DSH 的 canonical /compact 机制压缩当前会话,随后在浏览器中打开一个新的根会话,该会话继承原会话的模型设置和压缩后的上下文。原会话保持可恢复状态。
兼容性与注意事项¶
- 版本要求:当前版本(0.3.x)要求 DSH 版本为
^0.1.5-rc.2。如果是 DSH0.1.1-rc.x用户,请锁定#v0.2.0。 - 进程权限:插件以当前 DSH 进程权限运行,安装前应检查源码与许可证。
- 依赖:该插件不包含构建脚本,通过 Git 安装无需额外配置。
总结¶
该插件通过将压缩操作转化为独立的分支会话,帮助开发者更好地管理长周期项目。通过将压缩后的上下文导入新会话,既保持了原会话的完整性,又为后续工作提供了一个新的起点。插件地址:https://github.com/zeropointnine/dsh-compact-and-branch。