OpenClaw 2026.3.2 更新后变傻只能聊天了?

更新日期:2026年3月2日
问题类型:Breaking Change(破坏性变更)


问题背景

OpenClaw 在 2026.3.2 版本(2026年3月2日发布)引入了一项重要的安全变更:

BREAKING: Onboarding now defaults tools.profile to messaging for new local installs (interactive + non-interactive). New setups no longer start with broad coding/system tools unless explicitly configured.

翻译: 新的本地安装现在默认将 tools.profile 设置为 messaging,新安装不再默认启用编程/系统工具,除非显式配置。


问题表现

如果你是新安装的 OpenClaw,可能会遇到以下情况:

症状 原因
智能体无法执行 shell 命令 exec 工具未启用
智能体无法读写本地文件 readwriteedit 工具未启用
智能体无法使用浏览器 browser 工具未启用
智能体只能发送消息 这是 messaging 配置文件的预期行为

默认 messaging 配置文件只包含:

  • message — 发送消息
  • sessions_list — 列出会话
  • sessions_history — 查看历史
  • sessions_send — 发送消息到其他会话
  • session_status — 查看状态

不包含的关键工具:

  • execprocess — 执行命令
  • readwriteedit — 文件操作
  • browsercanvas — 浏览器/Canvas
  • web_searchweb_fetch — 网络搜索

为什么这样设计?

这是一个安全优先的设计决策:

  1. 最小权限原则 — 新安装默认只给最基本的消息能力
  2. 防止意外操作 — 避免智能体在用户不知情的情况下执行危险命令
  3. 显式授权 — 用户需要主动开启更强大的工具

解决方案

方案一:修改工具配置文件(推荐)

编辑 ~/.openclaw/openclaw.json

{
  tools: {
    profile: "coding",  // 或 "full"
  },
}

可用的配置文件:

配置文件 包含的工具
minimal session_status
messaging messagesessions_*session_status(新安装默认)
coding group:fsgroup:runtimegroup:sessionsgroup:memoryimage
full 所有工具,无限制

推荐:

  • 日常使用:coding
  • 完全信任环境:full
  • 仅消息助手:messaging

方案二:单独允许特定工具

如果你只想启用特定工具:

{
  tools: {
    profile: "messaging",
    allow: ["exec", "read", "write", "browser"],  // 额外允许的工具
  },
}

方案三:允许工具组

使用工具组简化配置:

{
  tools: {
    profile: "messaging",
    allow: ["group:fs", "group:runtime", "group:web"],
  },
}

可用的工具组:

工具组 包含的工具
group:runtime execbashprocess
group:fs readwriteeditapply_patch
group:sessions sessions_listsessions_historysessions_sendsessions_spawnsession_status
group:memory memory_searchmemory_get
group:web web_searchweb_fetch
group:ui browsercanvas
group:automation crongateway
group:messaging message
group:nodes nodes

方案四:按智能体配置

如果你有多个智能体,可以为不同智能体设置不同的工具权限:

{
  tools: { profile: "coding" },  // 全局默认
  agents: {
    list: [
      {
        id: "support",
        tools: { profile: "messaging" },  // 这个智能体只能发消息
      },
      {
        id: "admin",
        tools: { profile: "full" },  // 这个智能体拥有完全权限
      },
    ],
  },
}

方案五:按提供商限制工具

为不同的模型提供商设置不同的工具权限:

{
  tools: {
    profile: "coding",
    byProvider: {
      "google-antigravity": { profile: "minimal" },  // 弱模型用最小权限
      "openai/gpt-5.2": { profile: "full" },  // 强模型用完全权限
    },
  },
}

快速修复命令

如果你想快速启用所有工具,运行:

# 查看当前配置
openclaw config get tools.profile

# 设置为 coding 配置文件
openclaw config set tools.profile coding

# 或设置为完全权限
openclaw config set tools.profile full

# 重启 gateway 使配置生效
openclaw gateway restart

验证配置

运行以下命令验证工具是否正确启用:

# 查看当前工具配置
openclaw doctor

# 在聊天中询问智能体
# "你有哪些工具可用?"

常见问题

Q: 我是老用户,为什么没有受影响?

A: 这次变更只影响新安装。如果你之前已有配置文件,你的 tools.profile 设置会被保留。

Q: 我不想给智能体太多权限怎么办?

A: 使用 coding 配置文件而不是 full,或者使用 allow/deny 精细控制。

Q: 如何在不重启 gateway 的情况下生效?

A: 目前需要重启 gateway 才能使工具配置变更生效:

openclaw gateway restart

Q: 如何查看当前有哪些工具可用?

A: 在聊天中问智能体"你有哪些工具",或运行 openclaw doctor


总结

问题 解决方案
新安装默认只有消息工具 设置 tools.profile: "coding""full"
想精细控制特定工具 使用 tools.allowtools.deny
多智能体环境 使用 agents.list[].tools.profile 按智能体配置
不同模型不同权限 使用 tools.byProvider 配置

参考文档:

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐