Quest 支持 Local 和 Worktree 等执行环境。本文将介绍不同环境的适用场景及配置方法,帮助你安全、高效地隔离与执行任务。
| 环境 | 说明 | 适用 |
|---|
| Local | 在当前打开的工作区直接改代码,变更落在当前项目目录 | 小改动、快速验证 |
| Worktree | 使用独立的 Git worktree 检出,与主分支工作区隔离,确认后再合并或应用 | 中等复杂度、多次应用、同一仓库并行多任务 |
Worktree
Worktree 模式基于 Git worktree 在后台创建独立工作区副本,让 Agent 在隔离环境中执行任务。主工作区保持干净,多个 Worktree 可并行运行。
适用场景
| 场景 | 说明 |
|---|
| 并行多任务 | 同时处理多个需求或重构,每条线独立推进,互不干扰 |
| 高风险重构 | 让 Agent 大胆尝试架构调整或大规模重命名,不满意直接丢弃,主工作区毫发无损 |
如何使用
创建工作树
- 在聊天面板顶部的运行环境区域,点击当前模式(如「本地模式」)
- 在下拉中选择 Worktree
- 在模式选择器旁的分支下拉中,选择 Agent 基于哪条本地分支创建工作树
- 输入任务描述并发送,Agent 会在独立的工作树中执行工作
如果主工作区存在未提交的改动,面板会显示「包含未提交变更」开关。开启后,创建时会将这些改动同步到工作树中,确保 Agent 看到你最新的代码状态。
移交到本地
当 Agent 在工作树中完成工作后,你可以将结果带回主工作区继续开发:
在左侧任务列表中找到对应的工作树会话,点击会话的「移交到本地」操作,将 worktree 中的分支状态和未提交改动移交到本地主工作区,后续任务直接在本地继续执行。
执行移交前,本地工作区需要处于干净状态(没有未提交的变更),建议先 commit 或 stash 当前改动。
审查与提交
如果你不需要将变更带回本地,可以直接在工作树中完成提交:在会话右侧打开「审查与提交」面板,查看 Agent 所做的所有文件变更。确认无误后,在面板中创建新分支并提交代码。
初始化脚本
如需在创建 Worktree 时自动执行初始化操作(如安装依赖、复制环境变量文件),可在设置中找到「本地任务的 Worktree 配置」,编辑启动脚本。
自动清理
系统会自动清理较早的工作树以释放磁盘空间。你可以在管理面板底部配置清理策略:
手动清理
- 在左侧会话列表中,对工作树会话进行「删除」,会一并删除相应工作树。
- 也可以在设置中统一管理和删除不再需要的工作树。
注意事项
- 需要 Git 仓库:项目必须是一个 Git 仓库,Worktree 选项才会出现。
- 移交前请保持工作区干净:执行移交时,本地工作区不能有未提交的变更。
- 磁盘占用:每个工作树是一份独立的文件检出,项目较大时多个工作树会占用相应的磁盘空间。合理配置最大保留数,避免空间不足。