会话创建与 Git 协作
两项相互配合的功能:使用
vspawn将子任务派发到独立子会话(可选择隔离的 Git 工作树),再通过图形化合并将并行分支重新整合。二者结合,让“多个智能体并行处理同一仓库”成为日常工作流。
1. 什么是派发功能
在任意会话内部,均可拆分出一个子任务:VelaTerm 会在当前节点下创建一个新的子会话(这样树结构就会变为层级化:父节点 → 子节点 → 孙节点),可选地为该子会话配置一个独立的 Git 工作树,并将任务描述作为新会话的第一条消息传入——新的智能体在启动后会立即开始工作,无需再次解释。
你得到的是树结构中的一个真实会话——它拥有独立的进程,完全支持交互且可恢复——你可以随时查看或进入该会话。它并非隐藏的后台任务。
2. 四个入口点
| 入口 | 谁在使用它 | Worktree |
|---|---|---|
终端命令 vspawn "task" | 任何会话中的你 | 默认为关闭;--worktree 可启用 |
终端命令 vspawn-tree "task" | 同上 | 始终开启 |
/vspawn task 在 Claude 对话中 | Claude 会生成它(并将任务扩展为结构完整的独立提示语) | 默认为关闭 |
/vspawn-tree task 在 Claude 对话中 | 相同 | 始终开启 |
这两个终端命令会自动注入到每个会话的 PATH 中——无需安装。
使用
/技能的先决条件: 在 Claude 能够使用/vspawn或/vspawn-tree(或主动创建子会话)之前,需在“设置”→“常规”中启用 Vela Skills。这将把/vspawn、/vspawn-tree和/vopen技能作为一组安装到~/.claude/skills/中;这些技能会在应用升级时自动保持最新。启用后,请启动一个新的 Claude 会话(或重启现有会话),以便智能体加载这些技能。如果没有这一步,Claude 就根本不知道这些命令——只有通过终端输入的vspawn/vspawn-tree才能使用。
3. 创建前确认
默认情况下,每次生成时首先会显示一张确认卡片(位于右上角,非模态窗口,不会抢占焦点):

- 包含三个可编辑字段:提示(多行输入)、智能体类型(默认为父进程的类型),以及单独的 Git 工作树。
- 点击“启动”即可开始子会话;点击“取消”则放弃该请求。当一个智能体同时生成多个子进程时,这些卡片会逐个处理(卡片上会显示剩余数量)。
- 如果你希望完全跳过确认步骤,请在设置 ▸ 行为中关闭“生成前确认”选项。
4. 工作树:并行运行且互不干扰
启用工作树选项后,子会话会在其自身的工作目录中的新分支上运行——与主工作区及其他子会话相互隔离。这正是多智能体并行处理的理想架构。相关管理功能位于会话上下文菜单中的“工作树 ▸”选项下:可查看更改、复制/打开工作树文件夹,以及删除工作树(可选择强制丢弃未提交的更改)。
从非 Git 目录生成子会话仍然可行;此时会回退到共享父目录的模式,不会创建工作树。
5. 合并:图形化 Git 合并功能
当工作完成后,需将其合并到主分支中。任何工作目录为 Git 仓库的会话(无论是否使用工作树):右键点击 → “Git ▸ 合并…”即可打开合并对话框:
- 你可以选择源分支和目标分支,并且可以交换方向——要么将子会话的分支合并回主分支,要么将主分支的内容拉取到子会话中以更新其基准,所有操作都在同一个对话框中完成。
- 合并操作会在目标分支被检出的工作树中执行;如果源分支有未提交的更改,系统会先将其提交,以避免数据丢失。
- 遇到冲突时,场景会保持原样,供你(或某个智能体)在终端中解决冲突后继续工作。
合并操作不会自动删除工作树——请在确认无误后通过“工作树 ▸ 删除工作树…”来清理它。
6. 典型工作流程
- 在主会话中,让 Claude 分析任务,然后
/vspawn-tree refactor the checkout module生成子会话(需要 Vela Skills——详见第 2 节)。 - 查看确认卡片上的提示信息,点击“启动”——子会话会在其自身的工作树中启动,会在侧边栏中显示在父会话下方,状态点会变为绿色。
- 你继续在主会话中工作;当子会话有请求或完成任务时,其状态点会变为黄色,并会触发通知。
- 进入子会话进行查看,然后右键点击 → “Git ▸ 合并…”将其分支合并回主分支。
- 使用“工作树 ▸ 删除工作树…”进行清理,随后将子会话归档以留存记录。