OpenClaw Auto Mode Exec 完全指南:自动化执行的安全与效率

📅 2026-06-15🏷️ 自动化⏱️ 阅读约 8 分钟✍️ 妙趣AI

🤖 什么是 Auto Mode?

Auto Mode 是 OpenClaw 的自动执行模式。默认情况下,Agent 执行敏感操作(如 shell 命令、文件写入)需要用户确认。Auto Mode 可以跳过确认,让 Agent 自动执行。

这在以下场景非常有用:

  • 定时任务 - Cron Job 无人值守运行
  • CI/CD 集成 - 自动化构建和部署
  • 批量操作 - 大量文件处理、数据转换
  • 后台监控 - 持续运行的监控 Agent
Auto Mode 给予 Agent 完全的执行权限。请确保你信任 Agent 的行为,并配置好安全策略。

📊 Auto Mode 级别

Level 0: Manual(默认)

# 所有敏感操作都需要用户确认
exec:
  autoMode: false  # 默认值

Level 1: Ask on Miss

# 未匹配规则的操作需要确认
exec:
  autoMode: "on-miss"
  allow:
    - "git *"
    - "ls *"
    - "cat *"

Level 2: Auto(全自动)

# 所有操作自动执行,无需确认
exec:
  autoMode: true

Level 3: Auto with Guardrails

# 自动执行 + 安全防护
exec:
  autoMode: true
  guardrails:
    maxExecutionTime: 300  # 最大 5 分钟
    blockedCommands: ["rm -rf /", "dd if=*"]
    requireApproval:
      - "sudo *"
      - "docker *"

🛡️ 安全策略配置

命令白名单

# config.yaml
exec:
  autoMode: "on-miss"
  allow:
    # 文件操作
    - "ls *"
    - "cat *"
    - "head *"
    - "tail *"
    - "wc *"
    - "find *"
    
    # Git 操作
    - "git status"
    - "git log *"
    - "git diff *"
    - "git add *"
    - "git commit *"
    
    # 包管理
    - "npm list *"
    - "pnpm list *"
    
    # 系统信息
    - "uname *"
    - "df *"
    - "free *"

命令黑名单

exec:
  block:
    # 危险操作
    - "rm -rf /*"
    - "dd if=*"
    - "mkfs.*"
    - ":(){ :|:& };:"  # Fork bomb
    
    # 网络操作(可选)
    - "curl * | bash"
    - "wget * | sh"
    
    # 权限操作
    - "chmod 777 *"
    - "chown root *"

📋 白名单与黑名单

路径白名单

exec:
  pathWhitelist:
    - "/var/www/*"
    - "/home/user/projects/*"
    - "/tmp/openclaw/*"

路径黑名单

exec:
  pathBlacklist:
    - "/etc/*"
    - "/root/.ssh/*"
    - "/var/run/docker.sock"

组合策略

# 生产环境推荐配置
exec:
  autoMode: "on-miss"
  allow: ["git *", "ls *", "cat *", "npm *"]
  block: ["rm -rf *", "sudo *", "docker *"]
  pathWhitelist: ["/var/www/*", "/home/*"]
  pathBlacklist: ["/etc/*", "/root/*"]
  maxExecutionTime: 300

⚠️ 常见陷阱

陷阱 1: 通配符过于宽泛

# ❌ 危险:允许所有 git 命令
allow: ["git *"]

# ✅ 安全:只允许特定 git 命令
allow: ["git status", "git log *", "git diff *", "git add *", "git commit *"]

陷阱 2: 忘记限制执行时间

# ❌ 没有时间限制,Agent 可能陷入死循环
exec:
  autoMode: true

# ✅ 设置最大执行时间
exec:
  autoMode: true
  maxExecutionTime: 300  # 5 分钟

陷阱 3: 未限制输出大小

# Agent 可能执行产生大量输出的命令
find / -name "*.log" 2>/dev/null  # 输出可能有数万行

# 使用 limit 参数
exec:
  defaultLimit: 100  # 默认限制 100 行输出

🏆 最佳实践

  • 渐进式开放 - 先用 Manual 模式观察,逐步放开权限
  • 白名单优先 - 用白名单明确允许的操作,而不是黑名单禁止
  • 日志审计 - 记录所有自动执行的命令,定期审计
  • 告警机制 - 异常命令触发告警通知
  • 定期复审 - 每月复审白名单/黑名单,根据实际情况调整
# 开启执行日志
exec:
  logging:
    enabled: true
    logFile: /var/log/openclaw/exec.log
    logLevel: info
更多安全配置,请参考 安全最佳实践Auto Mode 详细指南

🤖 妙趣AI - 让 AI 更有趣

发现更多 AI 工具、教程和最佳实践

探索更多 →