Skip to content

OpenClaw 常用内置Tools和浏览器自动化

作为 AI 助手框架,OpenClaw 提供了一系列强大的内置工具。本文聚焦日常开发最常用的内置工具和浏览器自动化能力,帮助你快速上手。


一、内置工具概览

OpenClaw 的内置工具采用类型化定义,AI 能清楚知道参数结构,直接调用即可。

1.1 工具控制体系

禁用工具

json
{ tools: { deny: ["browser"] } }
  • deny 优先于 allow,支持通配符 "*"

Tool Profiles(预设权限组)

Profile包含工具
minimal仅 session_status
codinggroup:fs, group:runtime, group:sessions, group:memory, image
messaginggroup:messaging, sessions_list, sessions_history, sessions_send, session_status
full无限制

Tool Groups(工具组简写)

Group展开为
group:runtimeexec, bash, process
group:fsread, write, edit, apply_patch
group:sessionssessions_list, sessions_history, sessions_send, sessions_spawn, session_status
group:memorymemory_search, memory_get
group:webweb_search, web_fetch

二、核心内置工具详解

2.1 exec — Shell 命令执行

exec 是 OpenClaw 最强大的工具,用于在 workspace 中执行 shell 命令。

核心参数

参数说明
command必填,要执行的命令
workdir工作目录(默认 cwd)
env环境变量覆盖
yieldMs超时后自动后台(默认 10000ms)
background立即后台执行
timeout超时秒数(默认 1800 = 30分钟)
pty启用 TTY(交互式终端)
host执行位置:sandbox(默认)| gateway | node
security安全模式:deny | allowlist | full
ask审批:off | on-miss | always

host 执行位置

  • sandbox(默认):在沙箱容器中执行,最安全
  • gateway:在 Gateway 主机执行
  • node:在配对设备执行

配置示例

json
{
  tools: {
    exec: {
      notifyOnExit: true,
      host: "sandbox",
      security: "deny",
      ask: "on-miss",
      pathPrepend: ["~/bin"],
      safeBins: ["git", "curl"]
    }
  }
}

2.2 apply_patch — 批量文件修改

用于跨多个文件应用结构化补丁,特别适合大型重构。

参数

  • input(必填):完整的补丁内容

格式

*** Begin Patch
*** Add File: path/to/file.txt
+line 1
*** Update File: src/app.ts
@@
-old line
+new line
*** Delete File: obsolete.txt
*** End Patch

特殊指令

  • *** Move to: — 重命名文件
  • *** End of File — 文件末尾插入

⚠️ 实验性功能,默认关闭,仅 OpenAI 模型支持


2.3 loop-detection — 循环检测

检测 Agent 重复调用,避免无限循环。

json
{
  "tools": {
    "loopDetection": {
      "enabled": true,
      "warningThreshold": 10,
      "criticalThreshold": 20,
      "detectors": {
        "genericRepeat": true,
        "knownPollNoProgress": true,
        "pingPong": true
      }
    }
  }
}

检测器类型

  • genericRepeat:相同工具+参数重复
  • knownPollNoProgress:poll 无进展
  • pingPong:A/B/A/B 交替

2.4 Web 工具

web_search:网页搜索

  • query:搜索关键词
  • count:结果数量(1-10)
  • 支持多种后端:Brave Search API、Perplexity

web_fetch:网页内容提取

  • url:目标 URL
  • extractMode:markdown | text
  • maxChars:最大字符数

2.5 PDF 工具

参数

  • pdf:PDF 路径或 URL(支持多个)
  • prompt:分析提示
  • pages:页码范围(如 "1-5" 或 "1,3,5-7")

2.6 elevated — 提权模式

允许沙箱中的 Agent 在真实主机执行命令。

使用提权模式,Agent 可以绕过沙箱限制,直接在 Gateway 主机上执行命令。

指令行为
/elevated onGateway 主机执行,保留审批
/elevated ask同上
/elevated full跳过审批,直接执行
/elevated off禁用提权模式

使用场景

  • 需要安装系统级依赖
  • 访问主机上的特定资源
  • 执行需要主机环境的任务

⚠️ 谨慎使用,默认建议关闭,需要时再启用


2.7 Reactions — 消息反应

跨平台消息 reaction(表情回应)工具。

  • 支持在 Telegram、Discord、Slack 等平台添加表情反应
  • 统一的 reaction 语义,跨通道兼容
  • 适合用于确认、点赞、提示等场景

2.8 Diffs — 差异查看器

差异查看 + PNG/PDF 渲染工具。

  • 支持渲染代码差异为图片或 PDF
  • 支持 before/after 对比模式
  • 支持 patch 格式解析
  • 可在系统中查看差异对比

2.9 Firecrawl — 网页抓取

反爬虫网页抓取备选方案。

  • 专为 AI 设计的网页抓取工具
  • 能绕过常见反爬虫机制
  • 支持动态渲染页面的内容提取
  • 配合 web_fetch 使用,提供更强大的网页获取能力

2.10 LLM Task — 结构化输出

LLM 步骤调用,实现结构化 JSON 输出。

  • 将复杂任务拆分为多个 LLM 调用步骤
  • 返回结构化 JSON 格式结果
  • 特别适合工作流引擎(如 Lobster)
  • 可用于需要精确数据格式的场景

2.11 Lobster — 工作流运行时

可恢复的工作流运行时。

Lobster 是 OpenClaw 的工作流引擎,让 AI 能够运行多步骤的工具序列作为单一确定操作:

  • 确定性管道:将复杂工作流封装为单个调用
  • 审批检查点:关键步骤需要用户确认
  • 可恢复状态:支持断点续传
  • JSON/ YAML 驱动:通过配置文件定义工作流

典型场景

  • 自动化部署流程
  • 批量文件处理
  • 多步骤数据分析

配置示例

json
{
  "tools": {
    "lobster": {
      "enabled": true,
      "installUrl": "https://get.lobster.dev"
    }
  }
}

2.12 Exec Approvals — 命令审批

本地执行主机的命令审批机制。

配置文件~/.openclaw/exec-approvals.json

json
{
  "version": 1,
  "rules": [
    { "pattern": "rm -rf /", "action": "block" },
    { "pattern": "sudo.*", "action": "prompt" }
  ]
}

审批流程

  1. Agent 调用 exec
  2. 返回 status: "approval-pending" 和 approval id
  3. 用户审批后执行

2.13 Thinking 模式

模型显式推理模式,让 AI 输出思考过程。

json
{
  agents: {
    defaults: {
      thinking: {
        provider: "anthropic",
        budgetTokens: 1024
      }
    }
  }
}

三、浏览器自动化

3.1 两种浏览器模式

OpenClaw 支持两种浏览器模式:

模式说明优点缺点
openclawOpenClaw 管理的独立浏览器无需扩展,完全隔离占用资源
chrome复用系统 Chrome不占资源需要安装扩展

官方文档描述:"Think of it as a separate, agent-only browser."


3.2 核心操作

typescript
// 生命周期
status, start, stop

// 标签页管理
tabs()     // 列出所有标签页
open(url)  // 新标签页打开
focus(id)  // 切换标签页
close()    // 关闭当前页

// 页面操作
snapshot(format: "aria" | "ai")  // 获取页面结构
screenshot()                      // 截图
act({ kind: "click", ref: "e12" })  // 点击
act({ kind: "type", ref: "e15", text: "hello" })  // 输入
navigate(url)  // 导航

// 文件操作
console()     // 获取控制台输出
pdf()         // 生成 PDF
upload()      // 文件上传
dialog()      // 处理对话框

// Profile 管理
profiles()           // 列出所有 Profile
create-profile()     // 创建新 Profile
delete-profile()     // 删除 Profile

3.3 重要行为说明

  1. snapshot 格式

    • 默认返回 ai 格式(安装 Playwright 时)
    • 使用 aria 获取无障碍树
    • 返回 refs 如 e12,供 act 使用
  2. act 操作

    • 需要先 snapshot 获取 ref
    • 支持:click, type, press, hover, drag, select, fill, resize, wait, evaluate
    • 避免使用 wait,优先依赖 UI 状态判断
  3. Profile 机制

    • 端口范围:18800-18899(~100 实例)
    • Profile 名称:仅小写字母+数字+连字符(最长 64 字符)

3.4 配置示例

json
{
  browser: {
    enabled: true,
    defaultProfile: "chrome",
    ssrfPolicy: {
      dangerouslyAllowPrivateNetwork: true
    },
    profiles: {
      openclaw: { cdpPort: 18800, color: "#FF4500" },
      work: { cdpPort: 18801, color: "#0066CC" }
    }
  }
}

3.5 登录处理

当网站需要登录时,有两种方式处理:

  1. 复用 Chrome 配置:使用 profile: "chrome" 模式,继承系统 Chrome 的登录状态
  2. 手动登录:Agent 可以导航到登录页面,用户完成登录后继续任务
json
{
  browser: {
    defaultProfile: "chrome"  // 复用系统 Chrome
  }
}

3.6 Chrome 扩展

支持通过 Chrome 扩展实现更复杂的浏览器控制。

使用方式

  • 在 Chrome 浏览器中安装 OpenClaw 扩展
  • Agent 可以读取扩展的 cookies、session 等状态
  • 适合需要登录态的自动化场景
  • 可以自定义扩展来实现特定功能

配置示例

json
{
  browser: {
    profiles: {
      work: {
        cdpPort: 18801,
        extensions: ["openclaw-chrome-extension"]
      }
    }
  }
}

3.7 推荐工作流

browser → status/start → snapshot → act → screenshot

四、常用工具组合

根据不同场景,推荐以下工具组合:

场景一:代码开发

  • exec + read/write/edit + apply_patch
  • 配合 loop-detection 防止死循环

场景二:信息收集

  • web_search + web_fetch + pdf
  • 快速获取和分析网络内容

场景三:自动化测试

  • browser + snapshot/act
  • 模拟用户操作进行 UI 测试

场景四:文档处理

  • pdf + image
  • 分析 PDF 和图片内容

五、安全注意事项

  1. 沙箱优先:默认在 sandbox 环境中执行命令
  2. 审批机制:敏感操作需要用户确认
  3. 循环检测:自动防止 Agent 进入死循环
  4. 权限控制:通过 profile 和 allow/deny 精细控制工具访问

官方文档明确指出:

"Avoid direct system.run; use nodesrun only with explicit user consent. Respect user consent for camera/screen capture."


六、总结

OpenClaw 的内置工具设计核心:

  1. 类型安全 — 工具定义用 TypeScript Schema
  2. 精细控制 — Profile / allow/deny 多层权限
  3. 安全优先 — 沙箱、审批、循环检测
  4. 双通道暴露 — System Prompt + Tool Schema 同时送达 AI

浏览器自动化让 AI 能够直接操作网页,配合内置工具可以实现各种自动化场景。掌握这些工具,能大幅提升 AI 助手的工作能力。