gord-dsh-worktree:为 DeepSeek Harness 提供的 Git Worktree 管理

前言

在 DeepSeek Harness(DSH)中,同时进行多个开发任务通常需要在同一个仓库或分支上操作,这容易导致冲突和上下文混乱。gord-dsh-worktree 插件通过引入 Git worktree 机制,允许在独立的目录和分支中隔离并行工作。它由 nightosong 维护,提供了一套从命令行到 UI 的管理方案,并附带了“快速模式”预设和任务注意力托盘。

核心功能

  • 创建与管理:支持通过命令行(worktree_list, worktree_create, worktree_status, worktree_remove, worktree_prune, worktree_relocate)或 UI(Settings → Worktrees)创建和管理 worktree。支持原子创建、安全删除(自动忽略 .env 等文件)以及双击重命名会话。
  • 会话隔离:在 New Session 行中使用工作树选择器,可以选择在当前 worktree 启动,或创建新的 worktree 并在其中启动会话。
  • 变更审查:侧边栏的 Changes 标签页会显示会话目录的未提交差异,包括文件变更统计和具体补丁。
  • 任务注意力托盘(0.6.0 新增):位于对话右侧索引下方,用于跟踪运行中、等待中或已结束但未查看的聊天。支持拖动保存位置、点击打开以及重置位置。
  • 快速模式:一个轻量级的代理预设,支持批量独立调用、上下文感知的错误解释以及在编辑前读取、编辑后重读。
  • 并发工具调用:通过可选补丁,允许 bash, glob 和 grep 等只读工具调用并发执行,而非串行运行。

安装与启用

使用官方安装命令添加插件:

dsh plugin --profile web add gord-dsh-worktree@0.6.0

安装完成后需要重启 dsh web 以加载插件。Fast mode(快速模式)由插件包声明,安装后即会出现在预设选择器中。

使用示例

  • 命令行操作:
    • 查看所有 worktree:worktree_list
    • 创建新 worktree:worktree_create
    • 迁移旧版工作树:worktree_relocate
  • UI 操作:
    • 在 New Session 行选择工作树。
    • 在 Settings → Worktrees 中管理列表、归档或迁移旧版工作树。
    • 双击侧边栏会话行进行重命名。

注意事项

  • 版本要求:插件依赖 DeepSeek Harness 引擎版本 ^0.1.5-rc.1 或更高。
  • 冲突处理:Fast mode 由 bundle layer 声明。如果 profile 中的 cordis.patch.yml 已有 preset-fast 声明,安装此插件会导致冲突(插件预设会覆盖或重复挂载)。
  • 功能依赖:任务注意力托盘功能需要 uiSession.sessionStatus 支持(版本 0.2.0-rc.2+)。
  • 旧版迁移:旧版本创建的工作树存储在 $DSH_HOME/worktree/,可通过 Settings → Worktrees 的“Move into project”或命令 worktree_relocate 迁移到项目目录内。

总结

gord-dsh-worktree 为 DSH 提供了标准的 Git worktree 管理能力,解决了多任务并行开发的隔离问题。配合快速模式和任务注意力托盘,能够提升开发效率和状态追踪能力。
GitHub 仓库 | SkillHub 目录

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜