本文说明:OpenClaw 内置了一套强大的工具体系,让 AI 能执行任意系统操作、处理代码补丁、调用外部LLM、控制浏览器、操作Web资源。本文深度解析 Lobster工作流运行时、ClawHub、exec工具、apply_patch、LLM Task、Web工具、Chrome扩展 等高级工具的全部命令与使用场景。
一、OpenClaw高级工具体系概览
💡 工具 vs Skills vs 命令的关系
OpenClaw 的工具(Tools)是AI可以调用的「函数」,Skills是可复用的工作流模板,命令(CLI Commands)是用户控制OpenClaw本身的操作。工具是AI内部使用的,技能是用户封装的最佳实践,三者配合构成完整的AI自动化体系。
二、Lobster工作流运行时完整解析
Lobster — 带审批门控的类型化工作流运行时
工作流引擎
Q:Lobster是什么?它和普通的AI技能有什么区别?
Lobster是OpenClaw内置的类型化工作流运行时,专为复杂多步骤自动化流程设计。与普通技能的区别:1) 类型安全:输入输出有明确类型定义(TypeBox schema),避免AI随意发挥;2) 审批门控(Approval Gates):在关键步骤可设置人工确认点;3) 可组合:多个Lobster流程可以嵌套调用;4) 可测试:支持单元测试验证工作流逻辑。
Q:Lobster的审批门控(Approval Gates)如何工作?
在工作流关键步骤插入审批节点:AI完成前一阶段后,暂停并通过聊天平台(WhatsApp/Telegram等)向用户发送确认请求,等待用户输入「确认」或「取消」。这保证了高风险操作(如删除文件、发送邮件、执行付款)在AI自主完成之前必须经过人工审核。
Q:如何查看当前系统中有哪些Lobster工作流?
运行 openclaw skills list --type lobster 查看所有Lobster工作流;openclaw skills show <flow-name> 查看特定工作流的定义、步骤和输入/输出schema;openclaw skills run <flow-name> --input "{...}" 手动触发执行。
Q:Lobster工作流执行失败怎么排查?
查看工作流执行日志:openclaw logs --filter lobster;每次执行都有唯一的 execution ID,用 openclaw skills execution-log <exec-id> 查看每一步的输入/输出和错误堆栈。审批门控超时(用户未响应)也会记录在此。
三、ClawHub技能市场命令详解
openclaw clawhub [search|install|publish|rate]
技能市场
Q:ClawHub是什么?和npm/pip这类包管理器的区别?
ClawHub 是 OpenClaw 的官方技能市场(clawhub.io),专门分享 OpenClaw 技能包(Skills)。与npm/pip的区别:ClawHub里的包是AI工作流描述(Markdown+代码),而非传统程序库,AI可以直接理解并使用。社区已有数百个技能包,涵盖邮件处理、日历管理、代码审查、图片生成等。
Q:如何通过CLI搜索和安装ClawHub技能?
openclaw clawhub search "github":搜索与GitHub相关的技能;openclaw clawhub install @community/github-pr-review:安装PR审查技能;openclaw clawhub list:查看已安装的ClawHub技能;openclaw clawhub update:更新所有已安装技能到最新版本。
Q:如何将自己的技能发布到ClawHub?
首先在ClawHub创建账号,然后:openclaw clawhub login登录;整理技能文件夹(包含skill.md和可选的脚本文件);openclaw clawhub publish --name "my-skill" --version "1.0.0"发布。发布前建议用 openclaw skills test <skill-name> 充分测试。
四、exec执行工具与apply_patch补丁工具详解
exec工具 — AI调用系统命令
系统执行
Q:exec工具和bash shell工具有什么区别?
bash工具:运行shell脚本,支持管道、变量、条件判断,适合复杂脚本;exec工具:直接执行单个命令(不经过shell),更安全(避免shell注入),适合执行特定程序。OpenClaw在沙盒模式下,exec可以限制只允许调用白名单内的程序。
Q:如何限制AI只能exec特定的命令?
在配置文件设置 security.exec.allowedCommands: ["git", "npm", "python3"],AI只能调用白名单内的命令。配合 security.exec.blockedPatterns 可以进一步禁止特定参数(如禁止 rm -rf /)。
⚠️ Q:exec命令执行的后台进程如何管理?
AI使用exec启动的后台进程(如服务器、构建工具)通过Background Exec工具管理。openclaw agents list --processes 查看所有后台进程;openclaw agents kill-process <pid> 终止特定进程。OpenClaw重启时后台进程会自动清理。
apply_patch工具 — 精确代码修改
代码补丁
Q:apply_patch工具是什么?为什么比直接写文件更好?
apply_patch 使用 unified diff 格式精确修改文件的特定行,而非重写整个文件。优势:1) 更安全(只改需要改的部分,不会误删其他内容);2) 更高效(不需要读取整个大文件再重写);3) 可审计(patch格式清晰展示了变更)。特别适合修改大型代码文件。
Q:apply_patch失败报错 "patch does not apply" 怎么解决?
通常是因为文件内容与patch的预期上下文不匹配(文件已被其他操作修改)。解决:1) 让AI重新读取最新文件内容再生成patch;2) 检查是否有其他工具同时修改了同一文件;3) 在沙盒中运行 git diff 确认当前文件状态再重试。
五、LLM Task与Web工具命令详解
LLM Task工具 — AI调用AI处理子任务
Q:LLM Task是什么?什么场景下使用?
LLM Task允许主AI将特定子任务交给另一个独立的LLM调用处理(可以是不同的模型)。典型场景:主任务用强大的Claude处理逻辑,将「翻译」子任务交给更便宜的GLM-4-Flash处理;或者将「代码审查」「摘要生成」「格式转换」等子任务并行分发,提高整体效率。
Q:LLM Task和sub-agents有什么区别?
LLM Task:轻量级单次LLM调用,用于处理独立的文本/数据转换任务,无工具调用权限;Sub-Agent:完整的Agent实例,有自己的工具调用权限(可以读写文件、执行命令),适合复杂的自主任务。LLM Task比Sub-Agent消耗资源少得多。
Web工具 + Chrome扩展 — 浏览器控制与数据提取
Q:Web工具包含哪些子工具?各有什么用?
OpenClaw的Web工具集:fetch(获取URL内容/API请求)、browser.navigate(导航到页面)、browser.click(点击元素)、browser.fill(填写表单)、browser.screenshot(截图)、browser.extract(提取页面数据)。全套工具让AI能完成任何人能在浏览器做的事。
Q:OpenClaw的Chrome扩展有什么作用?
Chrome Extension 让OpenClaw能控制已打开的Chrome浏览器(而非headless模式),实现:访问需要登录的网站(复用浏览器的已登录Session)、实时监控网页变化(配合polls使用)、在用户当前浏览的网页上执行操作。安装方式:openclaw browser install-extension。
Q:browser.login命令有什么特殊用法?
browser.login 是专门针对网站登录流程的工具,支持:标准用户名/密码登录、OAuth第三方登录(Google/GitHub等)、验证码识别(配合第三方服务)。登录成功后的Session Cookie会被自动保存,后续访问无需重复登录。
六、高级工具组合实战场景
🚀 真实场景:全自动代码Review工作流
- 1hooks:GitHub PR创建时触发webhook
- 2exec:git fetch拉取PR代码变更
- 3LLM Task:并行调用4个子任务分析(安全/性能/逻辑/格式)
- 4Lobster审批门控:将汇总结果发送给负责人审核
- 5apply_patch:自动应用被批准的修改建议到代码