工作方向与隔离
一个工作空间对应一个项目。在这个项目里,你可以开出多条并行推进、互不干扰的工作方向;每条方向可以绑定项目之外的源码上下文,让 agent 直接读到依赖代码而不必猜。
工作方向
方向是工作空间内的并行工作线。每个工作空间天生带一条 主线,对应项目本身。你可以再开新的方向,让不同任务同时推进而不互相踩踏。
每条方向由自己的编排器负责,拥有独立的台账与成员。
自动隔离
在 git 项目里,一条被命名的方向会自动获得独立的工作副本与分支(git worktree):它的文件改动、提交都与主线和其他方向隔开,谁也不会覆盖谁。这一步对你透明——你看到的是「方向」,不必直接接触分支与 worktree。
- 主线始终与项目共用同一目录,不做隔离。
- 新方向在命名后进入「隔离中」,就绪后即为独立副本。
- 非 git 项目无法隔离,多条方向会共用同一目录(此时界面会给出提示,提醒可能互相覆盖)。
方向卡片会实时显示它的 git 状态:是否有未提交改动、当前分支、相对主线领先/落后多少个提交(纯本地比较,不联网拉取)。
合并回主线
一条独立方向完成后,可以合并回主线。合并会先保全它尚未提交的改动;若出现冲突,swarmx 会派一个 AI 协调者去解决,而不是把冲突丢给你。合并后可清理该方向。
你也可以把一条已有分支作为方向打开,直接在那条分支上工作,而不是新建。
源码上下文
很多任务需要参考项目之外的代码——被依赖的库源码、对等的兄弟项目、某个工具项目。创建工作空间时(或之后),你可以把这些目录作为源码上下文根挂载进来,并标注它们的角色:
- 主项目——agent 的终端在此工作。
- 依赖源码——被主项目依赖的库/服务源码。
- 工具项目——配套的工具或脚本项目。
依赖与工具可以挂到某个父项目之下,形成一棵逻辑依赖树。
挂载后,swarmx 会在工作空间的 CLAUDE.md / AGENTS.md 中写入一段受管理的上下文说明,把这些根的位置与角色告诉编排器——于是它直接去读挂载的源码,而不是凭空猜测接口。这段说明是幂等的:重复挂载只会原地更新,你自己写在标记之外的内容不受影响;移除最后一个根时,这段说明会被清除。隔离方向的独立副本里也会带上同样的上下文说明。