什么是 Auto Mode Exec?

Auto Mode Exec 是 OpenClaw 在 2026 年推出的重要功能。它允许 Agent 在执行 shell 命令时跳过人工确认,直接执行。

在默认模式下,Agent 每次调用 exec 工具执行 shell 命令时,都需要用户确认。这在生产环境中很安全,但在自动化场景下会严重拖慢效率。

Auto Mode Exec 就是为了解决这个问题——在受控的范围内,让 Agent 自己决定执行

两种模式对比

🛡️ Safe Mode(默认)

  • 每次 exec 都需要用户确认
  • 适合生产环境
  • 适合不确定的任务
  • 安全但效率较低

⚡ Auto Mode

  • Agent 自主执行 shell 命令
  • 受白名单和规则约束
  • 适合自动化任务
  • 效率高但需要安全配置

配置方法

全局配置

# openclaw.json - 启用 Auto Mode Exec
{
  "exec": {
    "autoMode": {
      "enabled": true,
      "defaultPolicy": "ask",  // ask | auto | deny
      "rules": [
        {
          "pattern": "ls *",
          "policy": "auto"
        },
        {
          "pattern": "cat *",
          "policy": "auto"
        },
        {
          "pattern": "rm -rf *",
          "policy": "deny"
        },
        {
          "pattern": "sudo *",
          "policy": "deny"
        }
      ]
    }
  }
}

按 Agent 配置

# 不同 Agent 有不同的权限
{
  "agents": {
    "miaoquai": {
      "exec": {
        "autoMode": {
          "enabled": true,
          "rules": [
            { "pattern": "git *", "policy": "auto" },
            { "pattern": "npm *", "policy": "auto" },
            { "pattern": "curl *", "policy": "auto" },
            { "pattern": "docker *", "policy": "ask" }
          ]
        }
      }
    },
    "research-bot": {
      "exec": {
        "autoMode": {
          "enabled": false  // 研究类 Agent 不需要自动执行
        }
      }
    }
  }
}

临时启用

# 在聊天中临时启用 Auto Mode
/auto exec

# 临时禁用
/auto exec off

# 查看当前状态
/auto status

安全规则详解

规则匹配语法

# 通配符匹配
"ls *"          # ls 后跟任意参数
"git commit *"  # git commit 后跟任意参数
"npm install"   # 精确匹配

# 正则表达式匹配
"^git (status|log|diff)$"  # 只允许这几个 git 子命令
"^curl -s https://.*"      # 只允许 curl HTTPS 地址

# 路径限制
"cat /var/www/*"           # 只允许读取特定目录
"rm /tmp/*"                # 只允许删除临时文件

内置安全规则

# 以下命令始终需要确认,无法被 Auto Mode 覆盖
sudo *                    # 提权操作
rm -rf /                  # 危险删除
chmod 777 *               # 权限修改
curl | bash               # 管道执行
dd if=* of=/dev/*         # 磁盘操作
mkfs.*                    # 格式化
shutdown *                # 关机
reboot *                  # 重启

使用场景

场景一:自动化 SEO 巡检

# Agent 自动执行的命令序列
# 无需人工确认,全部自动执行
curl -I https://miaoquai.com          # 检查首页状态
curl -s -o /dev/null -w "%{http_code}" URL  # 检查死链
find /var/www -name "*.html" | wc -l  # 统计页面数
git -C /var/www diff                   # 检查变更

场景二:定时内容生成

# Cron 任务中 Agent 自动执行
# 01:00 每日 SEO 内容生成
1. curl 搜索热词 API
2. write 生成 HTML 文件
3. git add + commit
4. curl 更新 sitemap

场景三:CI/CD 集成

# Agent 参与 CI/CD 流程
npm test                    # 运行测试
npm run build               # 构建项目
git push origin main        # 推送代码
# 以上命令在白名单中,自动执行

监控与审计

执行日志

# Auto Mode 执行日志
[exec:auto] 2026-06-10 01:00:01 | agent=miaoquai | cmd="curl -I https://miaoquai.com" | policy=auto | status=success | duration=230ms
[exec:auto] 2026-06-10 01:00:03 | agent=miaoquai | cmd="find /var/www -name '*.html' | wc -l" | policy=auto | status=success | duration=45ms
[exec:deny] 2026-06-10 01:00:05 | agent=miaoquai | cmd="rm -rf /tmp/old-*" | policy=deny | reason="dangerous pattern" | blocked=true

告警配置

{
  "exec": {
    "autoMode": {
      "alerts": {
        "enabled": true,
        "onDeny": true,
        "onFailure": true,
        "onHighFrequency": {
          "threshold": 10,
          "windowSeconds": 60
        },
        "channel": "feishu"  // 告警发送到飞书
      }
    }
  }
}
🚨 安全红线:
  • 生产环境的数据库操作(DROP、DELETE、TRUNCATE)永远不能 Auto
  • 涉及用户数据的命令必须人工确认
  • 网络操作(curl POST、wget)需要严格白名单
  • 定期审计 Auto Mode 执行日志
💡 最佳实践:
  • 渐进式开放:先只开放只读命令(ls、cat、curl GET),再逐步放开
  • 白名单优于黑名单:明确允许什么,而不是试图禁止所有危险操作
  • 按 Agent 分权:不同 Agent 给不同权限,最小权限原则
  • 保留审计日志:所有 Auto Mode 执行都要记录,定期审查