OpenClaw 实战:让 AI 自动执行 Shell 脚本与浏览器任务
大语言模型(LLM)爆发后,我们习惯了将其视为'智囊团'。但传统 AI 往往'有脑无手'——它能告诉你如何写脚本,却不能直接运行;能分析趋势,却无法打开浏览器监控数据。
OpenClaw 的出现正是为了解决这个问题。它给 AI 装备上了强有力的'爪子',让我们能通过源码深入理解其核心机制,并落地到实际场景中。
核心机制:深入源码看 node.invoke
翻阅 OpenClaw 源码,一切逻辑的起点都指向一个核心方法:node.invoke。
在架构中,Node 是执行单元(即 Agent)。invoke 方法不仅仅是发送 Prompt,它启动了一个思考 - 决策 - 执行的闭环循环。
当我们调用 node.invoke 时,内部经历了几个关键步骤:
- 上下文注入:将任务描述、可用工具列表及历史记录打包发送给 LLM。
- 工具选择:LLM 根据任务判断需要哪个工具。例如任务涉及文件操作,它会返回调用
shell_executor的指令。 - 动作执行:OpenClaw 接收指令后,触发底层的
Shell或Browser驱动。 - 观察与反馈:工具执行结果(如 Shell 输出、网页 HTML)被重新喂给 LLM。
- 递归迭代:LLM 观察结果判断任务是否完成。若未完成则继续
invoke,否则输出报告。
这种机制让 AI 从生成文本转变为自治代理(Autonomous Agent)。
实战演练:让 AI 变成你的'超级助理'
场景一:自动整理本地磁盘文件
下载文件夹常堆满 PDF、图片、安装包和文档,杂乱无章。通过 Shell Claw,我们可以直接下达模糊指令:
'请帮我检查 ~/Downloads 文件夹,按文件类型建立文件夹,并把文件归类进去。'
AI 会先列出所有文件,分析后缀名识别类型,然后自动生成 mkdir 创建目录,再执行 mv 搬运文件。
代码示例:
const result = await node.invoke("整理我的下载文件夹,按文件类型分类。");
console.log("整理完成:", result.output);
这段代码看似简单,背后其实是 AI 在规划路径、调用系统命令并处理返回结果的完整过程。
场景二:定时监控网页变动
想监控开源项目的 Star 数或产品价格跳水,手动刷新太累。结合 Browser Claw(基于 Playwright/Puppeteer),OpenClaw 可模拟真实用户操作。
流程如下:
- 打开浏览器:启动 headless 模式导航至指定 URL。
- 元素提取:自动定位目标数据的 DOM 节点。
- 逻辑判断:对比当前抓取数据与历史存储值。
- 自动化反馈:发现变动后,通过 Shell Claw 调用邮件脚本或飞书机器人通知。

