前言¶
DeepSeek Harness (DSH) 的理念是“一切皆插件”。在智能体开发与工程化过程中,会话的分支管理常与代码仓库的分支管理脱节。dsh-branchman 解决了这个问题,它将一个分支动作映射为一个 git worktree、一个继承对话历史的子会话,以及一个可视化的树状结构边。
核心功能¶
该插件提供树状分支工作区管理。一个动作包含 git worktree + 子会话 + 可视化树边。每个主树拥有独立分区,子树布局按真实父子关系排列。开发者可以在侧栏的“走向总览”中查看所有会话,包括尚未创建分支的节点。
功能详情¶
-
会话继承与创建
创建分支时,子会话可继承最新已完成轮次,或从特定助手消息开始继承。每个分支使用 UUID,生成独立的branchman/<UUID>分支和.branches/<UUID>工作树。交接说明保存在详情中,不会自动发送给模型。 -
可视化与筛选
提供层级列表,支持展开、收起、按仓库或主树筛选。图形视图支持搜索、分页(保留祖先)、刷新、相机控制(拖动、缩放、选中定位)及可缩放图形。 -
文件携带与操作校验
支持携带未提交文件(包括中文路径和二进制),但不携带符号链接、子模块及.branches内容。合并、同步、移除操作会检查实际工作树身份。未提交改动、未合入提交或冲突会阻止对应操作。 -
中断恢复
操作中断时会保留工作树和日志,使用“继续恢复”进行对账。
安装与启用¶
npm 发布完成后,可直接使用 dsh-branchman@0.3.2。
典型用法¶
- 创建分支:在侧栏底部“走向总览”处创建分支。
- 选择历史:从输入框创建时继承最新已完成轮次;从助手消息创建时继承该消息及之前的历史。
- 处理冲突:冲突处理后使用“检查工作树”。
- 恢复中断:中断后使用“继续恢复”对账。
注意事项¶
- 宿主兼容性:已验证宿主为
@deepseek-ai/dsh-desktop@0.2.0-rc.2,运行时版本为 Electron 44。运行依赖由宿主提供。 - 数据迁移:v1 数据迁移为独立
tree-v2.,原tree.保留。旧记录若缺少可信基点会标记为恢复;降级需考虑状态版本。 - CLI 限制:CLI
scripts/branchman.ps1需显式提供-BaseUrl,写操作通过-BodyFile提交,不绕过操作日志。 - 权限风险:插件以当前 DSH 进程权限运行。安装前应检查源码与许可证。
总结¶
dsh-branchman 通过将 Git worktree 与子会话结合,提供了一种可视化的工程方向管理方式。它适合需要清晰管理多分支会话与代码状态的 DeepSeek Harness 用户。