kdcokenny/opencode-worktree

Zero-friction git worktrees for OpenCode. Auto-spawns terminals, syncs files, cleans up on exit.

解决的问题

该项目为 AI 代理提供了一种使用 git worktree 创建和管理隔离开发环境的方法。它消除了手动创建工作树、打开终端并在特定目录中启动 AI 编码工具(OpenCode)的繁琐操作,使代理能够在不干扰主代码库的情况下进行隔离实验。

工作原理

该插件与 OpenCode 集成,提供两个主要工具:worktree_createworktree_delete

  1. 创建:当 AI 调用 worktree_create 时,插件会在专用本地目录中创建 git worktree,同步必要文件(如 .env 文件),根据配置文件对目录(如 node_modules)进行符号链接,并运行创建后钩子(例如 pnpm install),然后自动启动一个运行 OpenCode 的新终端窗口。
  2. 删除:当 AI 调用 worktree_delete 时,插件会运行删除前钩子,自动将 worktree 中的更改提交到分支,然后从系统中移除 worktree。

它支持 macOS、Linux 和 Windows 上的各种终端模拟器,以及 tmuxcmux 等多路复用器,以实现更程序化的控制。

适用人群

使用 OpenCode 并希望 AI 代理能够自主管理隔离开发会话的开发者,特别是偏好 CLI 优先工作流而非 GUI 工具的用户。

主要亮点

  • 自动终端启动:为每个新 worktree 自动打开新的终端窗口或 tmux/cmux 工作区。
  • 生命周期钩子:支持 postCreatepostDelete 钩子,用于自动化设置和清理(例如启动/停止 Docker 容器)。
  • 文件同步:可配置的文件和目录同步,确保隔离环境随时可用。
  • 广泛的终端支持:原生支持所有主要操作系统上的多种现代终端模拟器。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目