1. 为什么我要花两周时间整理这98个用例
第一次接触 OpenClaw 是在一个自动化需求特别密集的项目里。当时团队要处理大量重复性的浏览器操作——登录后台、抓取报表、填写表单、导出数据,人工做一天下来眼睛都花了。我试过用传统的爬虫框架,但遇到动态渲染和验证码就卡住了;也试过录制回放工具,但页面结构一变就全废。后来在一个开源社区里看到有人提到 OpenClaw,说它是"给 AI 代理装上手和眼睛"的工具,我就抱着试试看的心态部署了一套。
结果这一试就停不下来了。从最初的浏览器自动化,到后来的本地模型对接、ROS 机器人控制、嵌入式设备管理,OpenClaw 能做的事情远超我最初的预期。我把这两年里实际跑通的、看到别人分享的、以及社区里讨论比较多的用例整理了一遍,凑出了98个。这些用例覆盖了从个人效率工具到企业级自动化的各个层面,有的只需要十几行配置就能跑起来,有的则需要结合 Docker、Node.js 环境和本地模型做深度定制。
这篇文章适合几类人看:一是想入门 AI 代理但不知道从哪下手的新手,二是已经在用 OpenClaw 但想看看还能玩出什么花样的老手,三是做开源项目需要参考实际应用场景的开发者。我会把每个用例的核心思路、关键配置和踩过的坑都讲清楚,代码和命令能直接抄的我就直接贴出来。文章会比较长,建议先收藏再慢慢看。
2. OpenClaw 到底是什么,为什么值得折腾
2.1 一句话说清楚 OpenClaw 的定位
OpenClaw 本质上是一个AI 代理的执行框架。你可以把它理解成一个"中间层"——上面连着大语言模型(可以是云端的,也可以是本地跑的),下面连着各种实际操作能力(浏览器控制、文件系统、命令行、机器人接口等)。模型负责"想",OpenClaw 负责"做"。
这和直接用 ChatGPT 的插件系统有什么区别?区别在于可控性和扩展性。OpenClaw 是开源的,你可以看到每一行代码在干什么,可以自己写 skill 来扩展能力,可以把模型换成本地的 Ollama 实例,数据不出本机。对于有隐私要求或者需要深度定制的场景,这一点非常关键。
另一个区别是执行粒度。ChatGPT 插件更多是"调用一个 API 返回一个结果",而 OpenClaw 可以执行多步骤的复杂任务链——打开浏览器、等待页面加载、找到特定元素、输入内容、点击提交、截图存档、解析返回数据,这一整套流程可以打包成一个 skill,下次直接调用。
2.2 核心架构拆解:三个关键层
OpenClaw 的架构可以分成三层来理解,这样后面讲用例的时候你会更容易对上号。
第一层是模型接入层。这一层负责和 LLM 通信。OpenClaw 支持多种模型后端,包括 OpenAI 兼容接口、Ollama 本地模型、以及一些国内模型的 API。配置文件里通常是一个 JSON 或 YAML,指定模型地址、API Key、超时时间这些参数。如果你用 Ollama 跑本地模型,这一层就是本机的一个 HTTP 服务,延迟低但能力受模型大小限制;如果用云端模型,能力强但有网络延迟和费用。
第二层是 Skill 执行层。这是 OpenClaw 最核心的部分。每个 skill 是一个独立的功能单元,比如"打开网页"、"截图"、"执行 shell 命令"、"发送 HTTP 请求"。Skill 之间可以组合,模型会根据任务描述自动选择调用哪些 skill、按什么顺序调用。这一层的设计哲学是"小而专"——每个 skill 只做一件事,但要做得很稳。
第三层是环境适配层。这一层处理操作系统差异、依赖管理、权限控制。比如在 Windows 上跑需要 WSL 支持,在 Linux 上需要配置好显示环境(如果要操作浏览器),在 Docker 里跑需要挂载正确的卷和端口。这一层是最容易出问题的地方,后面我会专门讲排查技巧。
2.3 部署方式选择:裸机、Docker 还是 WSL
根据我的实际经验,部署方式的选择直接决定了后续折腾的成本。三种主流方式各有适用场景:
| 部署方式 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
| 裸机直接跑 | 开发调试、需要频繁改代码 | 性能最好、调试方便 | 环境依赖容易冲突、迁移麻烦 |
| Docker 容器 | 生产环境、多实例隔离 | 环境一致、迁移方便 | 浏览器操作需要额外配置、GPU 直通麻烦 |
| WSL + Windows | Windows 用户、需要图形界面 | 兼顾 Windows 生态和 Linux 工具链 | 文件系统性能有损耗、网络配置偶尔抽风 |
我个人的建议是:开发阶段用裸机或 WSL,稳定后用 Docker 打包部署。这样既能享受调试的便利,又能保证上线后的环境一致性。
Node.js 版本这块有个坑要注意。OpenClaw 官方推荐 Node.js 20 LTS 或更高,但我实测下来 20.x 系列最稳。24.x 虽然新,但有些依赖包还没跟上,会出现error installing 24.21.0: node.js v24.21.0 is not yet released这类报错。如果你用 nvm 管理版本,直接nvm install 20 && nvm use 20就行。
Docker 部署的话,Docker Desktop 在 Windows 上偶尔会报virtualization support not detected,这是因为 BIOS 里的虚拟化选项没开,或者 Hyper-V 和 WSL2 冲突了。解决办法是进 BIOS 开启 VT-x/AMD-V,然后在 Windows 功能里确保"虚拟机平台"和"适用于 Linux 的 Windows 子系统"都勾选了。
3. 98个用例的分类与精选解析
98个用例全部展开讲篇幅会失控,我按应用领域分成六大类,每类挑最有代表性的几个详细拆解,其余的用表格列出核心思路和关键配置。这样你既能拿到可以直接抄的实操方案,又能看到全貌方便按需探索。
3.1 浏览器自动化类(用例 1-22)
这类是用例数量最多、也是最多人关心的。核心场景就是让 AI 代理代替人操作浏览器。
用例 3:自动填写多页表单并截图存档
这个用例我实际跑了三个月,用在每周的报表提交上。流程是:打开内部系统 → 登录(账号密码从环境变量读)→ 导航到报表页 → 逐项填写 20 多个字段 → 上传附件 → 提交 → 截图保存到指定目录 → 发送通知。
关键配置在于等待策略。很多新手会写死sleep(3000),但页面加载时间不稳定,写死要么等太久要么不够。正确做法是用 OpenClaw 的waitForSelectorskill,等特定元素出现再继续:
// skill 配置示例 { "name": "fill_report", "steps": [ { "action": "goto", "url": "{{BASE_URL}}/report" }, { "action": "waitForSelector", "selector": "#report-form", "timeout": 15000 }, { "action": "type", "selector": "#field1", "value": "{{value1}}" }, { "action": "click", "selector": "#submit-btn" }, { "action": "waitForSelector", "selector": ".success-toast", "timeout": 10000 }, { "action": "screenshot", "path": "./screenshots/{{date}}.png" } ] }注意:截图路径一定要用绝对路径或者相对于 OpenClaw 工作目录的路径,用相对路径时容易因为工作目录变化而找不到文件。
用例 11:竞品价格监控与异常告警
这个用例的思路是定时抓取竞品页面价格,和数据库里的历史价格对比,如果波动超过阈值就触发告警。难点在于反爬应对——不是所有网站都欢迎自动化访问。我的做法是控制频率(每次请求间隔随机 3-8 秒)、模拟真实用户行为(随机滚动、随机停留)、以及遵守网站的 robots.txt。
用例 17:批量下载并重命名文件
这个用例看起来简单,但实际做的时候有个细节:下载的文件名往往是一串乱码或者时间戳,需要根据页面上的标题重新命名。OpenClaw 可以做到"读取页面元素文本 → 下载文件 → 用读取到的文本重命名",整个流程自动化。
| 用例编号 | 核心功能 | 关键 Skill | 难度 |
|---|---|---|---|
| 1 | 自动登录并保持会话 | cookie 管理 | 低 |
| 5 | 表格数据抓取导出 CSV | table 解析 | 低 |
| 8 | 多标签页协同操作 | tab 管理 | 中 |
| 14 | 验证码识别对接 | OCR 集成 | 高 |
| 19 | 页面变化监控 | diff 对比 | 中 |
| 22 | 自动化测试回归 | 断言 + 截图 | 中 |
3.2 本地模型与 AI 代理类(用例 23-41)
这类用例的核心价值在于数据不出本机。用 Ollama 跑本地模型,OpenClaw 做执行框架,整套系统可以完全离线运行。
用例 25:Ollama + OpenClaw 搭建私有知识库问答
这个组合我用了大半年。架构是:Ollama 跑一个 7B 或 13B 的模型 → OpenClaw 提供文件读取和检索 skill → 用户提问时,先检索本地文档,把相关片段喂给模型,模型生成回答。
部署步骤大致是:先装 Ollama(官网下载对应系统的安装包),ollama pull qwen2.5:7b拉模型,然后配置 OpenClaw 的模型接入指向http://localhost:11434。这里有个坑:Ollama 默认只监听 localhost,如果 OpenClaw 跑在 Docker 里,需要把 Ollama 的OLLAMA_HOST设成0.0.0.0,否则容器内访问不到。
用例 33:AI 代理自动整理下载文件夹
这个用例特别实用。下载文件夹里堆了几百个文件,PDF、图片、压缩包、安装程序混在一起。OpenClaw 可以读取每个文件的元信息,让本地模型判断文件类型和用途,然后自动移动到对应子文件夹。我跑了一次,整理出 400 多个文件,准确率大概 85%,剩下的手动调整一下就行。
用例 38:本地模型驱动的代码审查助手
把 Git diff 喂给本地模型,让它检查潜在问题——空指针、资源泄漏、命名不规范等。这个用例的价值在于代码不出本机,适合对代码保密有要求的团队。模型选 13B 以上的效果比较好,7B 的容易漏掉细节。
实操心得:本地模型的响应速度取决于硬件。我用一台 32G 内存 + RTX 4060 的机器跑 13B 量化模型,生成速度大概 15-20 token/秒,做代码审查够用。如果只有 CPU,建议用 7B 以下的模型,否则等得让人抓狂。
3.3 机器人与 ROS 集成类(用例 42-58)
这类用例是 OpenClaw 比较硬核的部分,把 AI 代理和机器人操作系统(ROS)结合起来。
用例 45:OpenClaw + ROS2 Humble + Gazebo 仿真控制
这个组合我在一个教学项目里用过。架构是:Gazebo 提供仿真环境 → ROS2 做通信中间件 → OpenClaw 作为高层决策节点。AI 代理接收自然语言指令(比如"把红色方块移到左边"),解析成 ROS 的 topic 消息,发给仿真里的机械臂执行。
配置的关键在于ROS bridge。OpenClaw 本身不直接说 ROS 协议,需要通过 rosbridge 或者自己写一个 skill 来转发消息。我选的是自己写 skill,因为这样控制粒度更细,调试也方便。
# 自定义 ROS skill 示例 import rclpy from rclpy.node import Node from geometry_msgs.msg import Twist class MoveSkill(Node): def __init__(self): super().__init__('openclaw_move_skill') self.publisher = self.create_publisher(Twist, '/cmd_vel', 10) def move(self, linear, angular): msg = Twist() msg.linear.x = linear msg.angular.z = angular self.publisher.publish(msg)用例 52:嵌入式设备远程管理
用 OpenClaw 管理一批树莓派或者 Jetson 设备,定时检查温度、磁盘、网络状态,异常时自动执行重启或告警。这个用例的难点在于设备发现和批量操作——设备 IP 可能变化,需要配合 mDNS 或者静态 DHCP。
| 用例编号 | 应用场景 | 涉及技术栈 | 难度 |
|---|---|---|---|
| 43 | 机械臂抓取规划 | ROS2 + MoveIt | 高 |
| 47 | 移动机器人导航 | ROS2 + Nav2 | 高 |
| 50 | 多机器人协同 | ROS2 + DDS | 高 |
| 54 | 传感器数据采集 | ROS2 + 串口 | 中 |
| 57 | 仿真环境自动化测试 | Gazebo + pytest | 中 |
3.4 开发运维自动化类(用例 59-76)
这类用例面向开发者和运维人员,把日常重复性工作交给 AI 代理。
用例 62:Docker 容器健康检查与自动恢复
写一个 skill,定时检查指定容器的状态,如果发现容器退出或者不健康,自动执行重启,并记录日志。这个用例配合 Docker 的 healthcheck 机制效果更好。
# 检查容器状态 docker inspect --format='{{.State.Health.Status}}' container_name # 如果不健康则重启 docker restart container_name用例 68:Node.js 项目依赖自动更新与测试
这个用例的思路是:定期检查 package.json 里的依赖有没有新版本 → 更新 → 跑测试 → 测试通过则提交 PR,不通过则回滚并通知。这个流程用 OpenClaw 串起来,可以省掉大量手动操作。
用例 73:日志异常检测与告警
把日志文件喂给本地模型,让它识别异常模式。传统的做法是写正则或者用 ELK 的规则引擎,但有些异常是"看起来正常但实际有问题"的,这种就需要模型来判断。我实测下来,7B 模型对明显的错误日志识别率很高,对微妙的异常还需要人工复核。
注意:自动更新依赖这个操作有风险,一定要在测试环境先跑通,而且要有回滚机制。我踩过一次坑,某个依赖的小版本更新引入了 breaking change,导致生产环境挂了半小时。
3.5 数据处理与办公自动化类(用例 77-89)
用例 79:Excel 报表自动生成
从数据库或者 API 拉数据 → 用 OpenClaw 的表格处理 skill 生成 Excel → 套用模板格式 → 发送邮件。这个用例我用来做周报,原来手动做要一个小时,现在全自动,五分钟搞定。
用例 83:PDF 批量提取与结构化
一堆 PDF 合同或者发票,需要提取关键字段(金额、日期、甲乙方)。OpenClaw 可以调用 OCR skill 提取文本,再用模型做结构化解析,最后输出 JSON 或 CSV。
用例 87:邮件自动分类与回复草稿
读取收件箱 → 模型判断邮件类型 → 分类到不同文件夹 → 对常见问题生成回复草稿。这个用例要注意隐私边界,建议只处理工作邮件,个人邮件不要接入。
3.6 创意与生活类(用例 90-98)
用例 92:自动整理照片并按内容分类
读取照片 EXIF 信息 → 模型识别照片内容(风景、人物、食物)→ 按类别和日期建立文件夹结构。这个用例跑一次能整理几千张照片,比手动快太多了。
用例 95:智能家居场景联动
OpenClaw 对接 Home Assistant 的 API,根据时间、天气、家庭成员位置自动调整灯光、空调、窗帘。这个用例的难点在于场景规则的编排,需要想清楚各种条件的优先级。
用例 98:个人知识库自动归档
浏览网页时一键保存 → 自动提取正文 → 生成摘要 → 打标签 → 存入本地知识库。这个用例配合浏览器插件使用体验最好。
4. 实操部署:从零跑通第一个用例
4.1 环境准备清单
在开始之前,确认你的环境满足以下条件:
- 操作系统:Windows 10/11(需要 WSL2)、Ubuntu 20.04+、macOS 12+
- Node.js:20.x LTS(不要用 24.x,有兼容性问题)
- Docker:24.0+(如果用容器部署)
- 内存:至少 8G,跑本地模型建议 16G 以上
- 磁盘:至少 20G 可用空间
Windows 用户特别注意:先确认 WSL2 装好了。在 PowerShell 里跑wsl --status,如果显示"未安装",先执行wsl --install,重启后再继续。如果报virtualization support not detected,进 BIOS 开启虚拟化支持。
4.2 安装 Node.js 和 OpenClaw
Ubuntu 下用 NodeSource 的源安装 Node.js 20:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - sudo apt-get install -y nodejs node -v # 应该显示 v20.x.x然后安装 OpenClaw:
npm install -g openclaw openclaw --version如果 npm 安装慢,可以换国内镜像:
npm config set registry https://registry.npmmirror.com4.3 配置模型接入
OpenClaw 的配置文件通常在~/.openclaw/config.json。如果接本地 Ollama:
{ "model": { "provider": "ollama", "baseUrl": "http://localhost:11434", "model": "qwen2.5:7b", "timeout": 60000 }, "skills": { "browser": { "enabled": true }, "filesystem": { "enabled": true }, "shell": { "enabled": true } } }如果接云端模型,把 provider 改成对应的,填上 API Key 就行。
4.4 跑通第一个用例:自动打开网页并截图
创建一个简单的 skill 文件hello.json:
{ "name": "hello_screenshot", "description": "打开指定网页并截图", "steps": [ { "action": "goto", "url": "https://example.com" }, { "action": "waitForSelector", "selector": "body", "timeout": 10000 }, { "action": "screenshot", "path": "/tmp/hello.png" } ] }执行:
openclaw run hello_screenshot如果一切正常,/tmp/hello.png会出现一张网页截图。这一步跑通了,后面的复杂用例都是在这个基础上叠加。
实操心得:第一次跑浏览器相关的 skill 时,如果报"浏览器未找到"或者"无法启动",大概率是缺依赖。Ubuntu 下执行
npx playwright install-deps安装系统依赖,然后再npx playwright install chromium下载浏览器内核。
5. 常见问题与排查技巧实录
5.1 部署阶段的高频报错
| 报错信息 | 原因 | 解决方法 |
|---|---|---|
virtualization support not detected | BIOS 虚拟化未开启或 Hyper-V 冲突 | 进 BIOS 开 VT-x/AMD-V,检查 Windows 功能 |
node.js v24.21.0 is not yet released | Node 版本过新,依赖不兼容 | 降级到 Node 20 LTS |
Cannot connect to Ollama | Ollama 未启动或监听地址不对 | ollama serve启动,检查 OLLAMA_HOST |
Docker daemon not running | Docker 服务未启动 | Windows 启动 Docker Desktop,Linux 用 systemctl |
Permission denied操作文件 | 权限不足 | 检查文件权限,必要时用 sudo 或改 ownership |
5.2 运行阶段的典型问题
问题一:浏览器操作超时
最常见的原因是页面加载慢或者选择器写错了。排查步骤:先用openclaw debug模式跑,看每一步的实际耗时;然后手动在浏览器里检查选择器是否唯一匹配。如果页面是动态渲染的,把waitForSelector的超时时间调大,或者改用waitForFunction等待特定条件。
问题二:本地模型响应慢
7B 模型在 CPU 上跑,生成速度可能只有 2-3 token/秒,一个稍长的回答要等一两分钟。解决办法:换更小的量化模型(比如 4-bit 量化的 3B 模型),或者上 GPU。如果必须用大模型,把timeout调大,避免请求被中断。
问题三:Docker 容器里访问不到宿主机服务
比如 OpenClaw 跑在容器里,Ollama 跑在宿主机上。容器内的localhost指向容器自己,不是宿主机。解决办法:用host.docker.internal(Docker Desktop)或者宿主机的实际 IP(Linux 下用172.17.0.1)。
问题四:中文乱码
在 Windows 上跑的时候偶尔遇到。原因是编码不一致。解决办法:确保所有文件用 UTF-8 保存,Node.js 启动时加--charset=utf-8,Docker 容器设置LANG=C.UTF-8。
5.3 独家避坑技巧
技巧一:用环境变量管理敏感信息
不要把账号密码、API Key 写死在配置文件里。用环境变量或者.env文件,配置文件里用{{ENV_VAR}}引用。这样配置文件可以安全地提交到 Git。
技巧二:给每个 skill 加超时和重试
网络操作和浏览器操作都可能失败,加超时和重试能大幅提升稳定性。OpenClaw 支持在 skill 级别配置retry和timeout,建议默认加上。
技巧三:日志分级输出
调试的时候开 debug 日志,生产环境用 info 级别。日志文件定期清理,否则跑几个月能占满磁盘。
技巧四:用 Docker Compose 编排多服务
如果 OpenClaw 需要配合数据库、消息队列、本地模型一起跑,用 Docker Compose 管理最方便。一个docker-compose.yml把所有服务串起来,启动一条命令搞定。
version: '3.8' services: openclaw: image: openclaw/openclaw:latest volumes: - ./config:/root/.openclaw - ./data:/data environment: - OLLAMA_HOST=http://ollama:11434 depends_on: - ollama ollama: image: ollama/ollama:latest volumes: - ./ollama:/root/.ollama ports: - "11434:11434"技巧五:定期备份配置和数据
OpenClaw 的配置、skill 文件、运行日志、以及本地模型的数据,都建议定期备份。我吃过一次亏,硬盘挂了之后重新配置花了一整天。现在用 rsync 每天自动备份到 NAS。
6. 从用例到落地:我的选型建议
98个用例看下来,新手容易犯的错是"什么都想试"。我的建议是按这个顺序推进:
先跑通浏览器自动化里的基础用例(打开网页、截图、填表单),这是最容易看到效果的,也能帮你熟悉 OpenClaw 的基本操作模式。然后根据你的实际需求,选一个能立刻解决你当前痛点的用例深入做——比如你每天要花一小时整理报表,那就把报表自动化做透。做完一个完整的用例之后,你对 skill 编写、调试、部署的整个流程就有感觉了,再扩展到其他领域会快很多。
本地模型这块,如果你的机器配置一般,先用云端模型跑通流程,等确定要长期用了再折腾本地部署。本地部署的硬件门槛和调试成本都不低,没必要一上来就啃硬骨头。
ROS 和嵌入式那部分,适合有相关背景的人。如果你没接触过机器人开发,从 Gazebo 仿真开始是比较稳妥的路径,不需要真实硬件就能跑通大部分逻辑。
最后再分享一个小技巧:OpenClaw 的 skill 是可以复用的。你为一个项目写的 skill,稍微改改就能用在另一个项目里。我建议建一个自己的 skill 仓库,把常用的功能都沉淀下来,用的时候直接引用,不用每次重写。这个习惯坚持半年,你会发现效率提升非常明显。