OpenClaw给每个Agent单独指定workspace

2026-05-05阅读 0热度 0
人工智能 架构

在OpenClaw中为每个Agent独立配置Workspace

想让OpenClaw里的每个Agent都有自己专属的工作区,互不干扰,这个需求其实挺常见的。毕竟谁都不希望“写手”Agent生成的文件,被“开发”Agent不小心改掉吧?

实现起来并不复杂,核心就在于配置文件。你得在 agents.list 里,为每个Agent对象都明确写上 workspace 这个字段,用它来覆盖掉默认的路径。下面就是一个可以直接复制粘贴的完整配置方案,还附带了一些关键的注意事项。


一、核心配置写法(openclaw.json)

首先,找到这个文件:~/.openclaw/openclaw.json,然后参考下面的结构进行修改。

{
  "agents": {
    // 全局默认(可选,不写也可以)
    "defaults": {
      "workspace": "~/.openclaw/workspace-default"
    },
    // 每个 Agent 单独配置
    "list": [
      {
        "id": "main",
        "model": "gpt-4o",
        // 给 main 单独指定工作区
        "workspace": "~/.openclaw/workspaces/main"
      },
      {
        "id": "write",
        "model": "claude-sonnet",
        // 给 write 单独指定工作区
        "workspace": "~/.openclaw/workspaces/write"
      },
      {
        "id": "design",
        "model": "qwen-vl",
        // 给 design 单独指定工作区
        "workspace": "~/.openclaw/workspaces/design"
      },
      {
        "id": "dev",
        "model": "deepseek-coder",
        // 给 dev 单独指定工作区
        "workspace": "~/.openclaw/workspaces/dev"
      },
      {
        "id": "ops",
        "model": "gpt-4o-mini",
        // 给 ops 单独指定工作区
        "workspace": "~/.openclaw/workspaces/ops"
      }
    ]
  }
}

关键规则

这里有几条关键规则必须把握住:

  • 优先级原则:agents.list 里为单个Agent指定的 workspace,其优先级是最高的,会直接覆盖掉 agents.defaults.workspace 这个全局默认值。
  • 路径格式:路径支持使用 ~ 来代表用户目录,也支持绝对路径或相对路径。采用相对路径时,会基于 ~/.openclaw 这个目录来计算。
  • 自动创建:好消息是,不用担心手动建目录的麻烦。即使你指定的目录不存在,OpenClaw在启动时通常也会自动为你创建,这一点在其官方文档(docs.openclaw.ai)中也有说明。

二、先创建目录(推荐)

不过,话说回来,提前在终端里把所有独立的目录都建好,其实是个好习惯。这样做能避免一些潜在的权限问题,让整个过程更加顺畅。

# 创建父目录
mkdir -p ~/.openclaw/workspaces
# 为每个 Agent 创建独立工作区
mkdir -p ~/.openclaw/workspaces/main
mkdir -p ~/.openclaw/workspaces/write
mkdir -p ~/.openclaw/workspaces/design
mkdir -p ~/.openclaw/workspaces/dev
mkdir -p ~/.openclaw/workspaces/ops

三、验证是否生效

配置好了,怎么知道真的生效了呢?别急,按下面三步走,一验便知。

  1. 重启服务,加载配置:首先,让OpenClaw重新启动一下,确保新的配置被正确加载。

    openclaw restart
  2. 查看工作区路径:接下来,可以用命令行工具分别查看每个Agent当前使用的工作区路径,确认是否已经切换到我们指定的位置。

    # 查看 main 的工作区
    openclaw config get --agent main agents.list[0].workspace
    # 查看 write 的工作区
    openclaw config get --agent write agents.list[1].workspace
  3. 实战测试隔离效果:最直观的验证方法就是做个简单的读写测试。例如,切换到“write”Agent,让它创建一个文件;然后再切换到“dev”Agent,让它尝试去读取这个文件。如果“dev”提示找不到,那就恭喜你,目录隔离成功了。

    # 切换到 write,创建文件
    openclaw use write
    session_send write "write test.txt 'hello write'"
    # 切换到 dev,尝试读取(会提示找不到,隔离成功)
    openclaw use dev
    session_send dev "read test.txt"

四、命令行快速添加(不手动改JSON)

如果你觉得直接编辑JSON文件有点麻烦,OpenClaw也提供了更方便的命令行操作。用下面这条命令,可以一键创建一个已经配置好独立工作区的Agent,配置会自动写入到文件中。

openclaw agents add \
  --id write \
  --model claude-sonnet \
  --workspace ~/.openclaw/workspaces/write

五、搭配沙箱(彻底隔离)

对于安全性要求极高的场景,仅仅指定不同的工作目录可能还不够。这时候,可以考虑为Agent增加 sandbox 配置,实现彻底的运行环境隔离。这样一来,每个Agent不仅文件目录是独立的,其运行环境也完全被“关”在自己的沙箱里,无法越权访问到主机的其他目录。

{
  "id": "write",
  "model": "claude-sonnet",
  "workspace": "~/.openclaw/workspaces/write",
  "sandbox": {
    "mode": "all", // 强制开启沙箱模式
    "scope": "agent", // 每个 Agent 拥有独立沙箱
    "workspaceAccess": "none" // 沙箱内无法看到主机其他目录
  }
}
免责声明

本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。

相关阅读

更多
欢迎回来 登录或注册后,可保存提示词和历史记录
登录后可同步收藏、历史记录和常用模板
注册即表示同意服务条款与隐私政策