工作区隔离
Workspace Isolation
为并行任务创建独立的代码工作区,防止文件冲突和分支污染
子问题
1.工作区创建与销毁
2.分支管理
3.符号链接共享资源
4.工作区恢复
5.多 orchestrator 实例共存的命名空间隔离
6.session 元数据归档与恢复
7.postCreate 钩子的安全执行
各项目的解法1 solutions
Signals
横向对比
| 维度 | Agent-Orchestrator |
|---|---|
| 隔离策略 | 插件化 Workspace 接口,默认 git worktree,可选 git clone --reference |
| 路径管理 | SHA256(configDir) 前 12 位 hash 命名空间 + .origin 碰撞检测 |
| 并发控制 | O_EXCL 文件系统原子标志预留 session ID,10 次重试 |
| 资源共享 | YAML 声明式 symlinks + postCreate shell 钩子 |
| 恢复机制 | 三级回退:本地分支 → 远程分支 → 默认分支重建 worktree |
| 安全防御 | 正则白名单 + resolve 后边界检查防止路径穿越 |
最佳实践
1.使用 git worktree 而非 clone 节省磁盘
2.原子化 session ID 预留防止并发冲突
3.用 .origin 文件检测 hash 碰撞保证多实例安全
4.worktree 销毁时不删分支,避免误删非本 session 创建的分支
5.symlink 路径做 resolve 后二次边界检查防穿越