OpenClaw 常用内置Tools和浏览器自动化
作为 AI 助手框架,OpenClaw 提供了一系列强大的内置工具。本文聚焦日常开发最常用的内置工具和浏览器自动化能力,帮助你快速上手。
一、内置工具概览
OpenClaw 的内置工具采用类型化定义,AI 能清楚知道参数结构,直接调用即可。
1.1 工具控制体系
禁用工具:
{ tools: { deny: ["browser"] } }- deny 优先于 allow,支持通配符
"*"
Tool Profiles(预设权限组):
| Profile | 包含工具 |
|---|---|
minimal | 仅 session_status |
coding | group:fs, group:runtime, group:sessions, group:memory, image |
messaging | group:messaging, sessions_list, sessions_history, sessions_send, session_status |
full | 无限制 |
Tool Groups(工具组简写):
| Group | 展开为 |
|---|---|
group:runtime | exec, bash, process |
group:fs | read, write, edit, apply_patch |
group:sessions | sessions_list, sessions_history, sessions_send, sessions_spawn, session_status |
group:memory | memory_search, memory_get |
group:web | web_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:在配对设备执行
配置示例:
{
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 重复调用,避免无限循环。
{
"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:目标 URLextractMode:markdown | textmaxChars:最大字符数
2.5 PDF 工具
参数:
pdf:PDF 路径或 URL(支持多个)prompt:分析提示pages:页码范围(如 "1-5" 或 "1,3,5-7")
2.6 elevated — 提权模式
允许沙箱中的 Agent 在真实主机执行命令。
使用提权模式,Agent 可以绕过沙箱限制,直接在 Gateway 主机上执行命令。
| 指令 | 行为 |
|---|---|
/elevated on | Gateway 主机执行,保留审批 |
/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 驱动:通过配置文件定义工作流
典型场景:
- 自动化部署流程
- 批量文件处理
- 多步骤数据分析
配置示例:
{
"tools": {
"lobster": {
"enabled": true,
"installUrl": "https://get.lobster.dev"
}
}
}2.12 Exec Approvals — 命令审批
本地执行主机的命令审批机制。
配置文件:~/.openclaw/exec-approvals.json
{
"version": 1,
"rules": [
{ "pattern": "rm -rf /", "action": "block" },
{ "pattern": "sudo.*", "action": "prompt" }
]
}审批流程:
- Agent 调用 exec
- 返回
status: "approval-pending"和 approval id - 用户审批后执行
2.13 Thinking 模式
模型显式推理模式,让 AI 输出思考过程。
{
agents: {
defaults: {
thinking: {
provider: "anthropic",
budgetTokens: 1024
}
}
}
}三、浏览器自动化
3.1 两种浏览器模式
OpenClaw 支持两种浏览器模式:
| 模式 | 说明 | 优点 | 缺点 |
|---|---|---|---|
openclaw | OpenClaw 管理的独立浏览器 | 无需扩展,完全隔离 | 占用资源 |
chrome | 复用系统 Chrome | 不占资源 | 需要安装扩展 |
官方文档描述:"Think of it as a separate, agent-only browser."
3.2 核心操作
// 生命周期
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() // 删除 Profile3.3 重要行为说明
snapshot 格式:
- 默认返回
ai格式(安装 Playwright 时) - 使用
aria获取无障碍树 - 返回 refs 如
e12,供 act 使用
- 默认返回
act 操作:
- 需要先 snapshot 获取 ref
- 支持:click, type, press, hover, drag, select, fill, resize, wait, evaluate
- 避免使用 wait,优先依赖 UI 状态判断
Profile 机制:
- 端口范围:18800-18899(~100 实例)
- Profile 名称:仅小写字母+数字+连字符(最长 64 字符)
3.4 配置示例
{
browser: {
enabled: true,
defaultProfile: "chrome",
ssrfPolicy: {
dangerouslyAllowPrivateNetwork: true
},
profiles: {
openclaw: { cdpPort: 18800, color: "#FF4500" },
work: { cdpPort: 18801, color: "#0066CC" }
}
}
}3.5 登录处理
当网站需要登录时,有两种方式处理:
- 复用 Chrome 配置:使用
profile: "chrome"模式,继承系统 Chrome 的登录状态 - 手动登录:Agent 可以导航到登录页面,用户完成登录后继续任务
{
browser: {
defaultProfile: "chrome" // 复用系统 Chrome
}
}3.6 Chrome 扩展
支持通过 Chrome 扩展实现更复杂的浏览器控制。
使用方式:
- 在 Chrome 浏览器中安装 OpenClaw 扩展
- Agent 可以读取扩展的 cookies、session 等状态
- 适合需要登录态的自动化场景
- 可以自定义扩展来实现特定功能
配置示例:
{
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 和图片内容
五、安全注意事项
- 沙箱优先:默认在 sandbox 环境中执行命令
- 审批机制:敏感操作需要用户确认
- 循环检测:自动防止 Agent 进入死循环
- 权限控制:通过 profile 和 allow/deny 精细控制工具访问
官方文档明确指出:
"Avoid direct
system.run; usenodes→runonly with explicit user consent. Respect user consent for camera/screen capture."
六、总结
OpenClaw 的内置工具设计核心:
- 类型安全 — 工具定义用 TypeScript Schema
- 精细控制 — Profile / allow/deny 多层权限
- 安全优先 — 沙箱、审批、循环检测
- 双通道暴露 — System Prompt + Tool Schema 同时送达 AI
浏览器自动化让 AI 能够直接操作网页,配合内置工具可以实现各种自动化场景。掌握这些工具,能大幅提升 AI 助手的工作能力。