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_create 和 worktree_delete。
- 创建:当 AI 调用
worktree_create时,插件会在专用本地目录中创建 git worktree,同步必要文件(如.env文件),根据配置文件对目录(如node_modules)进行符号链接,并运行创建后钩子(例如pnpm install),然后自动启动一个运行 OpenCode 的新终端窗口。 - 删除:当 AI 调用
worktree_delete时,插件会运行删除前钩子,自动将 worktree 中的更改提交到分支,然后从系统中移除 worktree。
它支持 macOS、Linux 和 Windows 上的各种终端模拟器,以及 tmux 和 cmux 等多路复用器,以实现更程序化的控制。
适用人群
使用 OpenCode 并希望 AI 代理能够自主管理隔离开发会话的开发者,特别是偏好 CLI 优先工作流而非 GUI 工具的用户。
主要亮点
- 自动终端启动:为每个新 worktree 自动打开新的终端窗口或 tmux/cmux 工作区。
- 生命周期钩子:支持
postCreate和postDelete钩子,用于自动化设置和清理(例如启动/停止 Docker 容器)。 - 文件同步:可配置的文件和目录同步,确保隔离环境随时可用。
- 广泛的终端支持:原生支持所有主要操作系统上的多种现代终端模拟器。
相关
- 项目
- 项目
- 项目
- 项目
- 项目