
🚩 2026 年「术哥无界」系列实战文档 X 篇原创计划 第 30 篇,OpenClaw最佳实战「2026」系列第 12 篇 大家好,欢迎来到 术哥无界 | ShugeX | 运维有术。 我是术哥,一名专注于 AI 编程、AI 智能体、Agent Skills、MCP、云原生、Milvus 向量数据库的技术实践者与开源布道者! Talk is cheap, let's explore。无界探索,有术而行。

图1:OpenClaw Tools 体系全貌
💡 为什么叫"小龙虾"?OpenClaw 的 Claw 意为"钳子",像极了小龙虾的大钳子,故得此名。
上周有个需求:每天早上自动抓取竞争对手网站的价格变动,生成报告发到公司群。传统做法是写个 Python 脚本,配合 Selenium + 定时任务。但我当时就想——这种重复性工作,为什么不能让 AI 直接搞定?
当我用 OpenClaw 配置完整个流程后,说实话有点意外:整个过程没写一行代码,只是用自然语言描述了需求,AI 就自己打开浏览器、抓数据、发消息。更关键的是,它能处理登录、验证码这些我原本以为会卡住的环节。
这让我开始好奇:OpenClaw 的 Tools 体系到底是怎么设计的?为什么 AI 能如此顺畅地操作浏览器、执行命令?它的安全机制靠谱吗?带着这些问题,我翻阅了大量官方文档和源码,整理了这篇文章。

图2:Tools 在 OpenClaw 体系中的位置
一句话定义:Tools 是 OpenClaw 智能体直接操作外部世界的标准化接口。
传统 AI 助手的能力很有限——你问它问题,它只能给你文本回答。但 OpenClaw 的智能体不一样,它能:
这些能力的实现,都依赖于 Tools 体系。
很多开发者会混淆 Tools 和 Skills,这里说清楚:
概念 | 作用 | 类比 |
|---|---|---|
Tools | 智能体能调用的功能单元 | 程序员的"工具箱" |
Skills | 指导智能体如何使用工具的提示词 | 程序员的"操作手册" |
举个栗子:browser 是一个 Tool,它提供了打开标签页、截图、点击等能力。但智能体怎么知道"购物网站需要先登录再下单"?这些操作流程的指导,就是通过 Skills 配置的。
OpenClaw 的 Tools 有个关键设计:所有工具都是强类型的。
// 传统方式(危险):通过 shell 调用
// 容易被注入攻击
exec(`git commit -m "${message}"`)
// OpenClaw 方式(安全):类型化工具调用
{
"tool": "exec",
"params": {
"command": "git commit -m {{message}}",
"security": "allowlist"
}
}
这个设计解决了两个问题:
OpenClaw 把工具分为 10 大组,每组负责一类任务:

图3:10 大工具组分类概览
工具组 | 包含工具 | 典型场景 |
|---|---|---|
group:runtime | exec, bash, process | 执行 Shell 命令、管理后台进程 |
group:fs | read, write, edit, apply_patch | 文件读写、代码编辑 |
group:sessions | sessions_spawn, sessions_send | 子智能体生成、会话管理 |
group:memory | memory_search, memory_get | 智能体记忆检索 |
group:web | web_search, web_fetch | 网络搜索、网页抓取 |
group:ui | browser, canvas | 浏览器自动化、Canvas 渲染 |
group:automation | cron, gateway | 定时任务、网关管理 |
group:messaging | message | 跨平台消息发送 |
group:nodes | nodes | 外部设备控制 |
group:openclaw | 所有内置工具 | 完整工具集 |
说实话,第一次看到这个分类时,我被 group:nodes 吸引了——它竟然能控制扫地机器人、空气净化器这些 IoT 设备。后面会细说这个能力。
不是所有智能体都需要全部工具。OpenClaw 提供了 4 种预设配置:
Profile | 包含工具 | 适用场景 |
|---|---|---|
minimal | 仅会话状态 | 最小权限,只读 |
coding | fs + runtime + sessions + memory | 编程助手 |
messaging | messaging + sessions | 消息机器人 |
full | 所有工具 | 完全访问 |
// 给智能体配置 coding profile
{
tools: {
profile: "coding",
deny: ["gateway", "cron"], // 禁止网关和定时任务
}
}

图4:Browser 工具的推荐工作流程
browser 是 OpenClaw 最强大的工具之一,也是我踩坑最多的部分。
官方文档推荐的工作流程是这样的:
// 1. 检查/启动浏览器
browser → status / start
// 2. 获取页面快照(关键!)
snapshot (ai 或 aria)
// 3. 执行 UI 操作
act (click/type/press)
// 4. 可选:视觉确认
screenshot
踩坑记录:我最开始直接用坐标点击(click(x=100, y=200)),结果页面布局一变,脚本就废了。后来才知道应该先用 snapshot 获取元素引用,再用 ref 点击:
// 错误方式(脆弱)
{ "tool": "browser", "action": "click", "x": 100, "y": 200 }
// 正确方式(稳定)
// 1. 先获取快照
{ "tool": "browser", "action": "snapshot", "mode": "ai" }
// 返回:<button ref="12">提交</button>
// 2. 用 ref 点击
{ "tool": "browser", "action": "click", "ref": "12" }
OpenClaw 默认使用一个独立的浏览器配置(openclaw),不会污染你个人的 Chrome:
{
browser: {
enabled: true,
defaultProfile: "openclaw",
profiles: {
openclaw: {
cdpPort: 18800, // 独立端口
color: "#FF4500" // 橙色标识,一眼识别
},
work: {
cdpPort: 18801,
color: "#0066CC"
},
},
}
}
这个设计很贴心:你可以同时运行多个浏览器实例,一个用于测试,一个用于生产。
快照是 browser 工具的核心能力。有两种模式:
ref="12"ref=e12// AI 快照示例
{
"tool": "browser",
"action": "snapshot",
"mode": "ai"
}
// 返回结果(简化版)
/*
[1] <input ref="1" type="text" placeholder="搜索">
[2] <button ref="2">搜索</button>
[3] <div ref="3">热门推荐</div>
...
*/
快照的好处是:智能体能理解页面结构,而不是盲目点击。不过说实话,有些复杂页面(比如表格嵌套)的快照会很大,可能需要调整 depth 参数。

图5:Exec 工具的多层安全检查流程
exec 是另一个核心工具,让智能体能在你的电脑上执行命令。但这也带来了安全风险——如果 AI 随便执行 rm -rf / 怎么办?
OpenClaw 的解决方案是 Exec Approvals。
当你让智能体执行命令时,系统会依次检查:
1. 工具策略(allow/deny)
↓
2. 执行目标(sandbox/gateway/node)
↓
3. 安全模式(deny/allowlist/full)
↓
4. 审批配置(ask: off/on-miss/always)
用白话解释:
这是我推荐的配置方式:
{
defaults: {
security: "allowlist",
ask: "on-miss", // 不在白名单时询问
askFallback: "deny", // 无法询问时拒绝
},
agents: {
main: {
allowlist: [
{ pattern: "~/Projects/**/bin/rg" }, // 允许特定目录的 rg
{ pattern: "~/.local/bin/*" }, // 允许 ~/.local/bin 下所有命令
],
},
},
}
实际效果:智能体想执行 npm install,不在白名单,系统会弹窗问我是否允许。我说"这次允许,以后记住",它就会被加入临时白名单。
对于高风险场景,可以启用 Docker 沙箱:
{
agents: {
defaults: {
sandbox: {
enabled: true, // 启用沙箱
image: "node:20", // 使用 Node 20 镜像
workdir: "/workspace", // 工作目录
},
},
},
}
沙箱模式下,命令在容器里执行,不会影响宿主机。缺点是启动稍慢,但对安全要求高的场景很有必要。
除了 Exec Approvals,OpenClaw 还有几层安全机制:
三级配置:全局 → 智能体 → 提供商
{
tools: {
profile: "coding",
deny: ["group:runtime"], // 全局禁止运行时工具
byProvider: {
"google-antigravity": {
profile: "minimal" // 特定模型用最小权限
},
},
},
}
防止智能体陷入无限工具调用:
{
tools: {
loopDetection: {
enabled: true,
warningThreshold: 10, // 10 次重复时警告
criticalThreshold: 20, // 20 次时阻止
},
},
}
说实话,这个功能我遇到过:智能体在尝试修复代码时,不断重复相同的编辑操作。循环检测帮我及时发现了这个问题。
防止二进制劫持:
# 这些环境变量会被拒绝
export PATH=/malicious/path:$PATH
export LD_LIBRARY_PATH=/malicious/lib
Tools 提供能力,Skills 提供知识。两者配合才能让智能体真正"聪明"。
Skills 是 AgentSkills 兼容的 SKILL.md 文件,用于:
browser,什么时候用 exec# SKILL.md 示例
## 使用 browser 工具的正确方式
1. 先用 snapshot 获取元素引用
2. 用 ref 而不是坐标点击
3. 复杂操作前先截图确认
## 环境变量
- OPENAI_API_KEY: 用于 web_search
- GITHUB_TOKEN: 用于仓库操作
OpenClaw 有个公共技能市场 ClawHub,类似 npm 之于 Node.js。
你可以直接使用社区贡献的 Skills:
# 安装一个 skill
openclaw skill install github-pr-reviewer
# 查看已安装的 skills
openclaw skill list
插件可以注册额外的工具和 CLI 命令:
// openclaw.plugin.json
{
name: "my-custom-tools",
tools: [
{
name: "slack_notify",
description: "发送 Slack 通知",
params: {
channel: "string",
message: "string"
}
}
]
}
除了内置的 group:*,你也可以定义自己的工具组:
{
tools: {
groups: {
"custom:devops": ["exec", "web_fetch", "message"]
}
}
}
用了一段时间后,我总结了几个建议:
不要给智能体超过必要的权限:
// 代码助手配置
{
tools: {
profile: "coding",
deny: ["gateway", "cron", "group:nodes"] // 禁止网关和设备控制
}
}
// 推荐:明确允许什么
{
exec: {
security: "allowlist",
allowlist: ["npm", "git", "rg"]
}
}
// 不推荐:猜测可能危险的命令
{
exec: {
security: "full",
deny: ["rm", "sudo", "chmod"] // 永远猜不全
}
}
{
defaults: {
ask: "on-miss", // 不在白名单时询问
}
}
这会稍微降低效率,但能避免意外。
// 1. 总是先获取快照
await browser.snapshot({ mode: "ai" })
// 2. 用 ref 而非坐标
await browser.click({ ref: "12" })
// 3. 关键操作后截图确认
await browser.screenshot()
如果一个任务需要多个工具配合,考虑用子智能体:
{
"tool": "sessions_spawn",
"prompt": "帮我分析这个网页的内容,总结要点",
"context": {
"url": "https://example.com/article"
}
}
子智能体有独立的工具权限,不会相互干扰。
OpenClaw 的 Tools 体系给我最大的感受是:它在安全性和易用性之间找到了平衡。
从技术角度:
从使用角度:
rm -rf说到底,Tools 体系解决了一个核心问题:如何让 AI 安全地获得"手脚"。 这不是简单的 API 调用,而是一套经过深思熟虑的设计。
如果你也在探索 AI Agent 开发,OpenClaw 的 Tools 体系值得仔细研究。
相关资源
OpenClaw 官方文档:https://docs.openclaw.ai/tools
中文文档:https://docs.openclaw.ai/zh-CN/tools
GitHub 仓库:https://github.com/OpenClawAI/openclaw
ClawHub 技能市场:https://github.com/OpenClawAI/clawhub
好啦,谢谢你观看我的文章,如果喜欢可以点赞转发给需要的朋友,我们下一期再见!敬请期待!