用户手册

会话创建与 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. 典型工作流程

  1. 在主会话中,让 Claude 分析任务,然后 /vspawn-tree refactor the checkout module 生成子会话(需要 Vela Skills——详见第 2 节)。
  2. 查看确认卡片上的提示信息,点击“启动”——子会话会在其自身的工作树中启动,会在侧边栏中显示在父会话下方,状态点会变为绿色。
  3. 你继续在主会话中工作;当子会话有请求或完成任务时,其状态点会变为黄色,并会触发通知。
  4. 进入子会话进行查看,然后右键点击 → “Git ▸ 合并…”将其分支合并回主分支。
  5. 使用“工作树 ▸ 删除工作树…”进行清理,随后将子会话归档以留存记录。