Workspace 与执行环境

心智模型与规格契约: 理解工作区的安全隔离与信任边界,请查阅 安全与执行边界;查阅执行根绑定与 worktree 内部契约,请参阅维护者专属的 工作区与执行规格。

Workspace 是 Agent 的执行根目录,Agent 在这里读文件、跑命令、应用补丁。每个 Agent 始终只有一个活动 workspace。

Workspace 定义了什么

关注点由 workspace 决定
指令根目录AGENTS.md 和政策文件从哪里解析
执行根目录命令的默认工作目录
ApplyPatch 目标文件改动落在哪里
记忆范围Workspace 范围内的片段记录和索引

Workspace 与 shell 目录的区别

Workspace 不是 shell 的 cd。Shell cd 只改变那一个命令进程的目录。 Agent 用显式的绑定和激活工具来改变运行时工具的操作位置。

操作效果
在 shell 里 cd /other只影响该命令
AttachWorkspace添加 workspace 绑定,但不切换
SwitchWorkspace改变后续操作的活动 workspace
holon workspace attach /path为路径附加绑定,但不切换活动 workspace

Workspace 命令

附加(attach)

把项目目录附加到 Agent:

holon workspace attach /path/to/project
holon workspace attach --agent my-agent /path/to/project

这会为该目录发现或创建 workspace 记录,并把它绑定到 Agent。附加本身不会改变 活动 workspace;准备在那里工作时,用 SwitchWorkspace 激活它。该绑定会跨 会话保留。

退出(exit)

返回 Agent 的 home workspace:

holon workspace exit
holon workspace exit --agent my-agent

分离(detach)

彻底移除一条 workspace 记录:

holon workspace detach <workspace-id>

分离不会删除目录,只是把 workspace 记录从 Holon 的索引中移除。与该 workspace 关联的记忆和片段记录会保留。

Worktree 隔离

CreateWorktree 依据一个显式附加的 workspace、分支和基准引用,创建一个受管理的 链接 worktree:

CreateWorktree {
  workspace_id: "ws_...",
  branch: "feature/example",
  base_ref: "origin/main"
}

隔离 workspace 适合:

Agent Home 与项目 Workspace

Workspace 类型用途示例
Agent homeAgent 本地状态和记忆~/.holon/agents/my-agent/
项目 workspace正在处理的代码和文件/path/to/project

每个 Agent 启动时都以自己的 Agent home 作为活动 workspace。用 workspace attach 绑定项目 workspace,用 SwitchWorkspace 激活它,用 workspace exit 返回 Agent home。

Agent Workspace 工具

UseWorkspace 仍是为历史调用保留的隐藏兼容别名。

另见