跳到主要内容

四、龙虾的手和脚

本章介绍 OpenClaw 的工具系统(Tools)——让龙虾从"只会聊天"变成"能干实事"的关键。完成后你将了解如何管理工具权限、使用联网搜索、浏览器自动化和定时任务等核心能力。

什么是 Tools?​

OpenClaw 的 AI 能力来自模型提供商而工具(Tools)就是龙虾的"双手"——没有工具,它只能跟你聊天;有了工具,它能搜索网页、操作浏览器、读写文件、执行命令、定时跑任务。

先厘清两个容易混淆的概念:

Tools(工具)Skills(技能)
是什么OpenClaw 内置的底层能力社区或用户编写的高层指令
举例执行命令、读写文件、搜索网页"每天早上发晨间简报"、"总结网页"
谁提供OpenClaw 核心代码ClawHub 技能市场 / 用户自己编写
如何管理openclaw.json 中的 tools 配置clawhub CLI 安装/卸载

简单来说:Tools 是手脚,Skills 是招式。技能通过调用工具来完成任务。

1. 工具配置档(Tool Profiles)​

Tool Profile 控制龙虾"能做什么"。OpenClaw 提供 4 个档位,从最开放到最受限:

配置档能力范围适用场景
full无限制,所有工具可用, 执行每个操作前都会请求确认推荐——个人电脑上的全能助手
coding文件读写、命令执行、会话管理、记忆、图片分析开发者专用,不含消息和浏览器
messaging消息收发、会话浏览、状态查看纯聊天机器人,不能操作文件或执行命令
minimal仅状态查看最小权限,几乎什么都不能做

1.1 查看和修改当前配置档​

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

# 设置为 full(推荐)
openclaw config set tools.profile full
openclaw gateway restart

1.2 为特定 Agent 单独设置配置档​

如果你运行多个 Agent(如一个全能助手 + 一个客服机器人),可以为每个 Agent 设置不同的配置档:

{
"tools": { "profile": "full" },
"agents": {
"list": [
{
"id": "support",
"tools": { "profile": "messaging", "allow": ["slack"] }
}
]
}
}

上面的配置让默认 Agent 拥有全部工具,而 support Agent 只能收发消息和使用 Slack。

2. 内置工具一览​

OpenClaw 内置了丰富的工具,按功能分为以下几类:

分类工具说明
文件操作read write edit apply_patch读写文件,批量打补丁
命令执行exec process运行 Shell 命令、管理后台进程
网页web_search web_fetch搜索引擎查询、抓取网页内容
浏览器browser完整的浏览器自动化(点击、输入、截图)
消息message跨渠道收发消息(飞书/QQ/Telegram 等)
定时任务cron创建和管理定时 / 周期性任务
画布canvas驱动配套 App 的画布功能
设备nodes发现配套设备、拍照、录屏、获取位置
图片/PDFimage pdf分析图片内容、解析 PDF 文档
网关gateway重启网关、查看和修改配置
会话sessions_* agents_list管理对话会话、生成子 Agent

你不需要逐个记住这些工具——龙虾会根据你的指令自动选择合适的工具。你只需确保对应的工具已启用(配置档为 full 时全部可用)。

工具组速查表​

OpenClaw 提供预定义的工具组,方便在配置中批量引用:

工具组包含的工具
group:fsread, write, edit, apply_patch
group:runtimeexec, bash, process
group:webweb_search, web_fetch
group:uibrowser, canvas
group:sessionssessions_list / history / send / spawn, session_status
group:memorymemory_search, memory_get
group:automationcron, gateway
group:messagingmessage
group:nodesnodes
group:openclaw所有内置工具(不含插件)

在后续的权限管理中会用到这些组名。

3. 联网搜索​

联网搜索让龙虾可以查询实时信息,而不仅仅依赖训练数据中的旧知识。

3.1 支持的搜索引擎​

搜索引擎说明
Brave隐私友好,免费额度充足,推荐入门使用
PerplexityAI 增强搜索,结果质量高
Kimi国内可用,中文搜索优化
GeminiGoogle 搜索能力
GrokxAI 提供的搜索

3.2 配置搜索​

最简单的方式是通过配置向导:

openclaw configure --section web

向导会引导你选择搜索引擎并填写 API Key。

手动编辑配置文件

编辑 ~/.openclaw/openclaw.json:

{
"tools": {
"web": {
"search": {
"enabled": true,
"provider": "brave",
"maxResults": 5
},
"fetch": {
"enabled": true,
"maxCharsCap": 50000
}
}
},
"env": {
"BRAVE_API_KEY": "你的 Brave API Key"
}
}

修改后运行 openclaw gateway restart 生效。

搜索结果默认缓存 15 分钟,避免重复请求浪费 API 额度。

3.3 使用示例​

配置完成后,直接在对话中提问即可——龙虾会自动判断是否需要联网:

今天有什么科技新闻?
帮我搜索"OpenClaw 最新版本"的更新内容

龙虾会自动调用 web_search 查询,并将搜索结果整合到回答中。

网页抓取:除了搜索,web_fetch 工具可以从指定 URL 抓取网页内容并转为文字。对于 JavaScript 渲染的动态网页(如单页应用),建议使用下一节介绍的浏览器工具。

4. 浏览器自动化​

浏览器工具让龙虾可以像人一样操作网页——打开页面、点击按钮、填写表单、截取屏幕。

4.1 支持的浏览器操作​

操作说明
status查看浏览器是否运行
start / stop启动 / 关闭浏览器
open打开指定 URL
tabs / focus / close标签页管理
snapshot获取页面快照(识别可操作元素)
screenshot截取当前页面图片
act交互操作:click / type / press / hover / drag / fill / resize / wait
navigate前进 / 后退 / 刷新
console查看浏览器控制台日志
pdf将当前页面导出为 PDF
upload上传文件

snapshot 有两种模式:ai(默认,使用 Playwright 分析页面结构)和 aria(返回无障碍树)。act 操作需要引用 snapshot 返回的元素编号。

在 OpenClaw 中,浏览器主要有三种运行方式,分别是:OpenClaw 托管浏览器、Chrome 扩展、远程 CDP 连接。这三种方式在使用场景、隔离性、依赖条件、能力范围上有明显区别,见下表。

对比项OpenClaw 托管浏览器Chrome 扩展远程 CDP 连接
是否需要额外安装无需安装额外浏览器/插件,仅需 OpenClaw 网关需安装 OpenClaw Chrome 扩展,并手动激活目标标签页无需本地安装,需配置远程 CDP 端点地址及认证信息
是否启动新浏览器实例是,独立启动专用 Chromium 实例否,复用本地已打开的 Chrome 浏览器否,连接远程 Chromium 实例(本地/云端均可)
浏览器隔离性完全隔离,不影响个人浏览器数据不隔离,共享个人浏览器会话、Cookie、登录状态无本地隔离,依赖远程浏览器环境的隔离策略
截图/快照能力支持:普通截图、全屏截图、AI快照(数字ref)、角色快照(eXX ref)支持:普通截图、快照(需Playwright,ref稳定性一般)支持:普通截图、快照(需Playwright,ref稳定性依远程环境)
元素操作能力完整:点击、输入、拖动、选择、文件上传、弹窗处理部分支持:依赖Playwright,复杂操作可能受限部分支持:依赖Playwright,本地配置类操作(如文件上传)受远程环境限制
适用场景强隔离自动化、测试、爬虫、独立任务复用个人账号、临时操作、快速调试远程/云端浏览器控制、无头自动化、分布式任务、托管浏览器服务对接

4.2 启用浏览器(OpenClaw 托管浏览器)​

浏览器工具默认已启用(browser.enabled: true)。确认状态:

openclaw config get browser.enabled

如果返回 false,手动启用:

openclaw config set browser.enabled true
openclaw gateway restart

前提:系统需要安装 Chrome 或 Chromium 浏览器。大多数电脑已经预装了 Chrome。

4.3 启用浏览器插件模式​

  1. 需要先安装浏览器插件,然后在开发者模式中加载插件
openclaw browser extension install
  1. 在浏览器中加载插件

启动chrome、点击chrome的扩展程序图标(在网址栏的最右侧),在弹出的界面中启用开发者模式

浏览器插件

  1. 加载插件 浏览器插件
如何找到浏览器插件位置

执行下方的命令

openclaw browser extension path

4.填写token 浏览器插件

怎么知道Gateway token的值

openclaw.json文件中复制gateway.auth.token的值 浏览器插件

5.在目标网站上激活扩展程序

浏览器插件

如果没有这个图标,再次点击扩展程序按钮就可以看到了

4.4 浏览器多实例(Profile)管理​

如果你需要同时登录多个账号(如个人 + 工作),可以创建多个浏览器实例:

{
"browser": {
"enabled": true,
"defaultProfile": "chrome",
"profiles": {
"chrome": { "port": 18800 },
"work": { "port": 18801 }
}
}
}

每个 Profile 有独立的 Cookie 和登录状态。在对话中指定使用哪个:

用 work 浏览器打开飞书文档

Profile 命名规则:小写字母 + 数字 + 短横线,最长 64 字符。端口范围 18800–18899(最多约 100 个实例)。

5. 定时任务(Cron)​

Cron 让龙虾按计划自动执行任务——比如每天早上发天气预报、每周生成工作汇报、每隔一段时间检查邮件。

5.1 创建定时任务​

# 每天早上 8 点发天气预报
openclaw cron add --name "天气预报" --cron "0 8 * * *" \
--message "查询今天的天气,发送给我" \
--channel "feishu:chat:你的ChatID"

# 每 30 分钟检查一次
openclaw cron add --name "定期检查" --every 30m \
--message "检查有没有需要我处理的事情"

# 20 分钟后提醒我(一次性)
openclaw cron add --name "提醒" --at 20m \
--message "提醒:该休息一下了!"

三种调度方式:

  • --cron "表达式":标准 Cron 表达式,精确控制执行时间
  • --every 间隔:固定周期重复(如 10m、1h、6h)
  • --at 延时:从现在起延迟一次性执行
Cron 表达式速查

Cron 表达式格式:分 时 日 月 周

表达式含义
0 8 * * *每天早上 8:00
0 9 * * 1-5工作日(周一到周五)上午 9:00
*/30 * * * *每 30 分钟
0 20 * * 5每周五晚上 8:00
0 0 1 * *每月 1 日零点

如果不熟悉 Cron 表达式,用 --every(周期间隔)或 --at(延时一次)更直观。

5.2 管理定时任务​

# 查看所有任务
openclaw cron list

# 手动触发一次
openclaw cron run 天气预报

# 查看执行历史
openclaw cron runs --id <taskID>

# 暂停 / 恢复任务
openclaw cron disable 天气预报
openclaw cron enable 天气预报

# 编辑任务
openclaw cron edit <jobId>

# 删除任务
openclaw cron rm <jobId>

注意:Cron 任务依赖 Gateway 持续运行。如果 Gateway 关闭(如电脑关机),任务不会执行。重新启动后任务会自动恢复。

--channel 参数格式因平台而异,例如:feishu:chat:<ChatID>、telegram:chat:<ChatID>、qqbot:group:<groupid>。

6. 命令执行(Exec)​

exec 工具让龙虾直接在你的电脑上运行 Shell 命令。这是它"干活"最核心的能力——安装软件、处理文件、运行脚本等都靠它。

6.1 使用示例​

帮我创建一个文件叫 hello.txt,写上今天的日期和"Hello from OpenClaw!"
用 Python 写一个猜数字小游戏,保存为 game.py 并运行它

龙虾会自动使用 exec 执行命令,每次执行前会请求你确认。

6.2 exec 工具的核心参数​

参数说明默认值
command要执行的命令(必填)—
timeout超时秒数,超时后终止1800(30 分钟)
background立即后台运行false
yieldMs超过该毫秒数后自动切后台10000(10 秒)
pty是否需要真实终端false

后台运行的命令可以通过 process 工具管理:

操作说明
list列出所有后台进程
poll获取新输出和退出状态
log查看输出日志
write向进程写入输入
kill终止进程
clear或remove清理已完成的进程

6.3 exec 安全策略​

exec 工具有三种安全级别:

级别说明
deny完全禁止执行命令
allowlist仅允许白名单中的命令
full允许执行任何命令(需用户确认)

如果你需要限制龙虾可以执行的命令范围,可以在 openclaw.json 中配置 tools.exec.security 和对应的白名单。

7. 工具权限管理​

有时你需要限制龙虾的能力范围——比如不让它操作浏览器,或者只允许文件操作。

7.1 允许 / 禁止特定工具​

通过 tools.allow 和 tools.deny 精确控制。编辑 ~/.openclaw/openclaw.json:

禁止浏览器:

{
"tools": {
"deny": ["browser"]
}
}

只允许文件操作和搜索:

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

规则:deny 优先于 allow。匹配不区分大小写,支持 * 通配符("*" 表示所有工具)。

修改后运行 openclaw gateway restart 生效。

按模型提供商限制工具

如果你使用多个模型提供商,可以为不同提供商设置不同的工具权限。通过 tools.byProvider 配置:

{
"tools": {
"profile": "coding",
"byProvider": {
"google-antigravity": { "profile": "minimal" }
}
}
}

byProvider 只能收窄权限,不能超出全局配置档的范围。支持 provider(如 siliconflow)或 provider/model(如 openai/gpt-5.2)两种粒度。

工具循环检测(Loop Detection)

如果龙虾陷入反复调用同一工具的死循环,可以启用循环检测:

{
"tools": {
"loopDetection": {
"enabled": true,
"warningThreshold": 10,
"criticalThreshold": 20,
"globalCircuitBreakerThreshold": 30
}
}
}

检测器会识别三种循环模式:

  • 重复调用:相同工具 + 相同参数反复调用
  • 轮询无进展:反复检查状态但结果不变
  • 乒乓模式:两个工具交替调用却无进展

默认关闭。如果你发现龙虾偶尔会"卡住"反复做同一件事,可以启用此功能。

8. 插件工具​

除了内置工具,OpenClaw 还支持通过插件扩展更多能力:

插件说明
Lobster工作流运行时,支持多步骤任务和可恢复的审批流程
LLM TaskJSON 格式的 LLM 调用,用于结构化输出(可选 Schema 校验)
Diffs文件差异查看器,支持 PNG / PDF 渲染
Voice Call语音通话插件
Zalo PersonalZalo 个人账号插件

插件可以注册自己的工具和 CLI 命令。

工具如何呈现给 AI 模型

OpenClaw 通过两个通道让模型"看到"工具:

  1. 系统提示词:人类可读的工具列表 + 使用指南
  2. 工具 Schema:结构化的函数定义,发送到模型 API

模型同时看到"有哪些工具"和"如何调用它们"。如果一个工具既不在系统提示词中也不在 Schema 中,模型就无法调用它。这就是 tools.allow / tools.deny 的工作原理——被禁止的工具不会被发送给模型。

9. 常见问题​

Q: 龙虾只会聊天,不执行任何操作?

A: 工具配置档可能是 messaging 或 minimal。修复:

openclaw config set tools.profile full
openclaw gateway restart

Q: 联网搜索不可用?

A: 需要配置搜索引擎 API Key。运行 openclaw configure --section web 进行设置。没有 API Key 之前,搜索功能无法使用。

Q: 浏览器工具报错?

A: 先确认浏览器已启用(openclaw config get browser.enabled),再确保系统安装了 Chrome 或 Chromium。Linux 服务器(无图形界面)需要安装 Chromium headless 模式。WSL2 用户可能需要额外配置。

Q: 定时任务没有执行?

A: 检查 Gateway 是否在运行(openclaw status)。Cron 任务依赖 Gateway 持续运行——电脑关机或 Gateway 停止期间的任务不会补执行。

Q: 如何知道龙虾调用了哪些工具?

A: 在 Web 控制面板(openclaw dashboard)中查看对话详情可以看到每次工具调用。也可以查看日志:

openclaw logs --limit 50
最后编辑时间:2026/03/16 09:18