1. OpenClaw 是干嘛的,先搞清楚再动手
先说结论:OpenClaw 是一个把大模型能力接进日常自动化流程的智能体运行框架。你可以把它理解成一个管家,它本身不带脑子,但能帮你调度脑子——本地跑一个 Ollama,或者接云端的大模型 API,然后让模型去操作文件、执行命令、访问网页、收发消息,甚至控制浏览器里的 Chrome 干活。
我最初关注 OpenClaw,是因为它和 Codex 这类编程智能体不是一个路子。Codex 聚焦在代码仓库里干活,OpenClaw 更强调"通用自动化"。搜索热词里经常看到"openclaw 微信""openclaw 容器 控制 chrome""micropython+pycoclaw,3 分钟搞定 esp32 跑上 openclaw",说明社区里已经有大量玩家把它当成一个"个人 AI 遥控器"来用。
为什么要在本地环境部署?两个原因。一来是隐私和数据可控,本地跑模型时你的日志、对话、任务记录全在自己机器上,不经过任何第三方;二来是成本可控,本地小模型虽然智商不如云端大模型,但胜在免费、离线、响应快。更妙的是 OpenClaw 支持"本地为主、云端为辅"的混跑模式,也就是标题里说的"本地云端集成"。
这篇文章我实测完成整个部署加联调不到 4 分钟,但中间有几个坑如果不提前避开,新手可能卡一晚上。接下来我会把完整流程、每一步的原理、踩过的坑全部写清楚。如果你是第一次接触这类工具,跟着走也能完成;如果你已经装过别的智能体框架,可以直接跳到第三节看 OpenClaw 特有的配置逻辑。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 部署前的三项准备,省得后面返工
2.1 硬件和系统环境自查
OpenClaw 本质上是一个 Python 项目,外加可选的 Docker 容器能力。官方推荐 Linux 环境,但 Windows 下用 WSL2 也能跑得很稳。我的实测环境是 Windows 11 + WSL2(Ubuntu 22.04),如果你用的是 macOS,流程基本一致。
硬件需求非常亲民:
| 资源 | 最低要求 | 推荐配置 | 说明 |
|---|---|---|---|
| CPU | 双核 | 四核及以上 | 模型推理时 CPU 占用明显 |
| 内存 | 4GB | 8GB 以上 | 跑 7B 量级本地模型建议 16GB |
| 磁盘 | 5GB 可用空间 | 20GB 以上 | 源码 + Python 依赖 + 模型文件 |
| 网络 | 能正常访问 GitHub | 能稳定访问 Docker Hub | 安装和拉镜像阶段必用 |
如果只是部署 OpenClaw 框架本身(不跑本地大模型),4GB 内存足够。但如果你打算用"OpenClaw + 本地 Ollama + DeepSeek/Qwen 系小模型"这套组合,请保证至少 16GB 内存,否则模型推理时系统会卡到怀疑人生。
2.2 安装依赖:Git、Python、Docker 三件套
以下命令基于 Ubuntu/Debian 系系统,如果你在 WSL2 里操作,同样适用:
bash复制# 更新系统源
sudo apt update && sudo apt upgrade -y
# 安装 Git 和 Python 工具链
sudo apt install -y git python3 python3-pip python3-venv
# 安装 Docker(可选但强烈推荐)
curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker $USER
Docker 这一步是可选的,但热词里有大量"openclaw 容器 控制 chrome""docker安装部署"的需求,器化跑 OpenClaw 可以把环境隔离得很干净,升级、卸载、换版本都方便。装完后记得重新登录一次终端,或者执行 newgrp docker 让用户组生效。
注意:Python 版本建议 3.10 以上。有些老教程用的 3.8/3.9,在安装较新依赖时会报错,白白浪费时间。
2.3 为什么推荐用 Git main 分支而不是官方 release 包
这是本篇文章的第一个关键选择。OpenClaw 迭代速度极快,官方安装脚本支持两种方式:一种是下载打包好的 release 版本,一种是通过 git 从 GitHub 的 main 分支直接检出源码安装。
热词里明确写着"openclaw 可通过安装脚本指定 git 安装方式,从 github 的 main 分支检出源码进行"。我实测下来,强烈推荐 git 方式,原因有三个:
第一,main 分支的更新是实时推送的,很多新功能和新 Skill 在 release 包出来前就已经在 main 里了。第二,git 方式天然支持 git pull 升级,不用重复跑完整安装流程。第三,源码方式排错直观,出问题了能直接看到代码位置。
官方安装脚本的调用方式如下:
bash复制# 从 GitHub main 分支检出源码安装
curl -fsSL https://raw.githubusercontent.com/openclaw/openclaw/main/install.sh | bash -s -- --git
脚本会自动完成依赖安装、虚拟环境创建、源码检出、初始配置生成这几个步骤。如果你的服务器访问 GitHub 速度很慢,可以把源换成镜像站,或者用代理加速,这部分属于网络环境问题,根据你自己的情况处理。
3. 实测四分钟部署:从零到启动 OpenClaw
3.1 安装脚本执行全程实录
我先说结论:纯官方脚本安装,从执行到看到启动成功的提示,我的机器耗时约 3 分 40 秒。下面是分步时间线:
| 阶段 | 耗时 | 说明 |
|---|---|---|
| 系统依赖检查与安装 | 约 20 秒 | 自动补装 curl、git 等 |
| Python 虚拟环境创建 | 约 10 秒 | 脚本在安装目录下创建 .venv |
| pip 安装核心依赖 | 约 90 秒 | 最耗时的一步,取决于网络 |
| 源码检出与初始化配置 | 约 60 秒 | git clone + 生成默认配置 |
| 首次启动验证 | 约 40 秒 | 启动服务、检查端口、输出日志 |
如果你第一次跑脚本出现网络超时,不要慌,重试一次大概率就过了。我建议先在终端里手动执行一遍上面的 git clone 命令做热身,让 DNS 缓存提前建立,这样正式安装时网络部分会顺畅很多。
3.2 安装完成后的目录结构和关键文件
OpenClaw 安装完成后,默认目录结构大致如下:
bash复制~/openclaw/
├── .venv/ # Python 虚拟环境
├── openclaw/ # 核心源码
├── config/
│ ├── config.yaml # 主配置文件
│ └── skills/ # Skill(技能)存放目录
├── data/
│ └── logs/ # 运行日志
└── run.sh # 快速启动脚本
其中 config.yaml 是 OpenClaw 的命根子,模型连接、渠道对接、自动化规则全在里面配。后面所有定制化操作基本都在这个文件里完成。
3.3 首次启动和验证部署成功
执行以下命令启动 OpenClaw:
bash复制cd ~/openclaw
./run.sh
看到以下日志输出,说明启动成功:
code复制[OpenClaw] Core service started on port 8080
[OpenClaw] Skill manager loaded 0 skills
[OpenClaw] WebUI available at http://localhost:8080
这里有几个验证点。第一,浏览器访问 http://localhost:8080 能看到 OpenClaw 的 WebUI 面板。第二,执行 curl http://localhost:8080/api/health 返回 {"status":"ok"}。第三,日志里没有明显的 ERROR 或 Traceback 字样。
提示:如果你在 WSL2 里运行,Windows 浏览器访问 WSL2 内的服务可能需要用
localhost直通,如果不行,查一下 WSL2 的端口转发设置,这在 WSL2 里比较常见。
4. 本地云端集成:让 OpenClaw 同时用上本地模型和云端大模型
4.1 模型接入的三种模式速览
OpenClaw 在模型接入上非常灵活,热词里反复出现的"openclaw 自定义中转站""ccswitch 切换模型""使用本地 ollama 如何安装 skill",说明很多人卡在这一步。我把它总结为三种模式:
| 模式 | 适用场景 | 配置复杂度 | 成本 |
|---|---|---|---|
| 纯本地模型(Ollama + 小模型) | 离线环境、隐私要求高 | 低 | 免费 |
| 云端 API(官方直连) | 追求效果、不差钱 | 低 | 按量计费 |
| 自定义中转站 | 聚合多家模型、统一管理 | 中 | 看中转站定价 |
我们说的"本地云端集成",最优雅的做法是:默认请求走本地 Ollama,遇到复杂任务自动切换到云端大模型。OpenClaw 提供的 ccswitch 命令就是干这个的。你可以把它理解成一个遥控器上的信号源切换键,按一下换一个模型来源。
4.2 本地模型接入实例:Ollama + DeepSeek 系小模型
先确保本地已经装好 Ollama,然后拉一个适合的模型:
bash复制# 安装 Ollama(Linux/Mac)
curl -fsSL https://ollama.com/install.sh | sh
# 拉取一个 7B 量级的模型,这里以 qwen2.5:7b 为例
ollama pull qwen2.5:7b
然后在 OpenClaw 的 config.yaml 里配置本地模型来源:
yaml复制model:
provider: ollama
base_url: http://localhost:11434
model_name: qwen2.5:7b
temperature: 0.7
max_tokens: 4096
重启 OpenClaw,然后测试一下:
bash复制./run.sh
# 在另一个终端
curl http://localhost:8080/api/chat -H "Content-Type: application/json" \
-d '{"message": "你好,请介绍一下你自己"}'
如果返回了正常的文本回复,本地模型接入就成功了。这里有一个新手容易忽略的点:OpenClaw 服务进程和 Ollama 服务进程必须同时保持运行,而且 OpenClaw 所在的网络环境要能访问到 Ollama 的 11434 端口。如果你把 OpenClaw 跑在 Docker 容器里,记得用 --network host 或者配置容器网络,否则容器里的 localhost 指向的是容器自身,根本访问不到宿主机上的 Ollama。
4.3 云端模型接入与自定义中转站配置
要接入云端大模型 API,修改 config.yaml:
yaml复制model:
provider: openai
api_key: sk-xxxxxxxxxxxxxxxx
base_url: https://api.example.com/v1 # 官方或中转站地址
model_name: gpt-4o-mini
关于自定义中转站,OpenClaw 的兼容性很好,只要中转站提供 OpenAI 风格的 /v1/chat/completions 接口,填上 base_url 和 api_key 就能用。实测下来,支持 deepseek 官方 API、各种聚合平台的接口,都能直接接入。
但这里有一个安全提醒:中转站会看到你所有的请求内容和模型输出,如果你要处理的是工作文档、代码仓库等敏感内容,建议还是走本地模型,或者用自己的腾讯云、京东云服务器搭一个可控的网关。
4.4 ccswitch 切换模型的操作细节
OpenClaw 的 ccswitch 子命令让你不需要改配置文件就能切换模型来源。用法:
bash复制# 查看当前模型
openclaw ccswitch
# 切换到本地 ollama 模型
openclaw ccswitch --provider ollama --model qwen2.5:7b
# 切换到云端 API 模型
openclaw ccswitch --provider openai --model gpt-4o-mini
这个功能在实践里极其有用。比如白天用云端强模型处理复杂任务,晚上流量低了切回本地模型跑批处理任务,全程不用重启服务。我个人的建议是:把常见的模型组合配置成 profile,这样一条命令就能整体切换,不用记忆一长串参数。
5. Skill 扩展:让 OpenClaw 真正干活的关键一步
5.1 Skill 是什么,为什么会卡住很多人
Skill 是 OpenClaw 的技能扩展包,类似手机上的 App。没有 Skill 的 OpenClaw 只是一个空壳,能对话但不会做具体的事;装上 Skill 之后,它才能操作文件、控制浏览器、发微信消息、管理容器。
热词里"openclaw skill""妙想skill安装openclaw教程""使用本地ollama如何安装skill"反复出现,说明这块确实是社区里的高频问题。我一开始也被卡住了,因为 OpenClaw 的 Skill 安装命令比较特殊。
5.2 安装 Skill 的标准流程
OpenClaw 的 Skill 安装分为两步:下载 Skill 定义文件,然后注册到配置里。官方推荐用 openclaw skill install 命令:
bash复制openclaw skill install <skill_name>
这个命令会从官方的 Skill 仓库拉取定义文件,并自动注册到 config.yaml。如果你安装的 Skill 在官方仓库里找不到,可以手动指定 Git 仓库地址:
bash复制openclaw skill install https://github.com/xxx/openclaw-skill-xxx
Skill 装好后,重启 OpenClaw 服务使其生效:
bash复制./run.sh --reload-skills
5.3 实测:如何让 OpenClaw 调用本地 Ollama 模型执行 Skill
热词里"openclaw 使用本地 ollama 如何安装 skill"的答案其实很简单:Skill 调用模型和执行模型是分开配置的。也就是说,Skill 负责定义工具能力,模型负责理解指令并决定调用哪个工具。底层模型用 ollama 本地跑还是云端 API,只影响 OpenClaw 的理解能力,不影响 Skill 本身。
实操上,你只要保证 config.yaml 里 model.provider 指向 ollama,然后 Skill 正常安装,OpenClaw 就会自动用本地模型去编排 Skill。我用 qwen2.5:7b 实测,简单的文件操作、网页摘要类 Skill 都能正确触发,速度比云端模型还快,因为没有网络往返延迟。
不过这里也得说实话:本地 7B 量级的模型在处理复杂多步任务时,指令跟随能力明显不如云端大模型。比如让 Skill 先搜索网页、再提取关键信息、最后写成 Markdown 表格,这个链路本地小模型经常会在中间步骤丢掉上下文。所以我的经验法是:简单标准化任务用本地模型省钱,复杂开放式任务切云端模型保效果,配合 ccswitch 正好完美解决。
5.4 CAU Computer 操作设置
热词里"openclaw 的cau computer如何设置"这个点,我展开说一下。CAU(Computer Action Unit)是 OpenClaw 的电脑操作模块,可以让模型直接模拟鼠标键盘操作界面。这是"OpenClaw 容器控制 Chrome"的基础。
配置方式是在 config.yaml 里打开 computer 模块:
yaml复制computer:
enabled: true
backend: docker # 可选 docker / host / esp32
browser: chrome
display: :0 # Linux 桌面环境下可用
开启后,模型就能执行"打开浏览器""输入网址""截图"这类操作指令。我实测在 Docker 容器里跑 Chrome 的沙箱模式,比直接在宿主机上操作要安全得多——如果模型执行了错误指令,最多影响容器内的环境,不会弄乱宿主机。
6. 常见问题与排查技巧实录
6.1 高频问题速查表
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| 安装脚本执行后长时间卡住 | 网络访问 GitHub 不稳定 | 重试,或检查网络环境 |
| 启动时报 Python 版本错误 | 系统 Python 版本过低 | 安装 Python 3.10+,重新安装 |
| 本地 Ollama 模型能跑但 OpenClaw 无响应 | OpenClaw 访问不到 Ollama 端口 | 检查 Ollama 监听配置,以及容器网络模式 |
| ccswitch 切换后不生效 | 缓存未刷新 | 重启 OpenClaw 服务 |
| Docker 内无法控制 Chrome | 容器缺少图形环境依赖 | 用 openclaw 官方镜像,自带 Chrome |
| Skill 安装了但看不到 | 未执行 reload-skills | 重启并加 --reload-skills 参数 |
| 模型回复全是乱码或重复文本 | 模型参数量太小 | 换更大的模型,或调低 temperature 到 0.5 |
6.2 部署过程中我踩过的三个坑
第一个坑:系统 Python 版本太老。我的 WSL2 自带 Python 3.8,安装依赖时 pip 一直在报不兼容错误。后来升级到 3.11 后一切顺畅。所以建议你在安装任何东西之前,先执行 python3 --version 检查一下版本,低于 3.10 就直接用 sudo apt install python3.11 装新的。
第二个坑:Docker 容器网络不通宿主机。刚开始我用默认 bridge 网络跑 OpenClaw,结果容器里的 localhost 访问不到宿主机上的 Ollama。查了很久才发现是网络模式的问题。后来改用 --network host 直接解决,OpenClaw 在容器里和宿主机共享网络栈,local别地址直接互通。
第三个坑:Skill 安装后立刻调用报错。OpenClaw 的 Skill 管理器有缓存,装完 Skill 不重启的话,即使注册表里已经显示了,实际调用时仍会报"skill not found"。这个踩过坑就知道,--reload-skills 一定要记住。
6.3 日志分析和排查方法论
OpenClaw 的日志文件在 ~/openclaw/data/logs/,按天切分。定位问题的最快路径是:
bash复制tail -f ~/openclaw/data/logs/openclaw.log
然后复现一次操作触发错误,仔细观察日志中从"任务接收"到"模型调用"再到"Skill 执行"这几个环节的日志输出,哪一步报错就修哪一步。这个方法比瞎猜配置要高效得多,尤其是模型接入类问题——日志会明确告诉你 api_key 无效、timeout、还是 model not found。
7. 最后分享几点个人经验
按这套流程走下来,从空白系统到 OpenClaw 能正常接本地模型、切云端模型、跑 Skill,我实测的时间在 4 分钟左右,主要时间都花在 pip 装依赖上。如果你网络环境好,3 分钟以内也能完成。
我个人在实际使用中最大的体会是:OpenClaw 的核心价值不在它自带多少功能,而在于它能把你手头的各种零散能力组装起来——本地模型、云端 API、微信、浏览器、Docker 容器,全部变成模型可以调用的工具。而且因为它是纯本地部署的框架,你对整个运行链路完全可控,这在调试和扩展的时候优势极大。
最后再分享一个进阶玩法:如果你手头有 ESP32 这类物联网设备,可以试试热词里提到的 micropython + pycoclaw 方案,把 OpenClaw 作为大脑,让单片机通过 WiFi 和它通信,这样你就能实现"对着手机说句话,家里的设备就执行对应动作"的初级智能家居效果。我自己已经在 ESP32 上跑通了 LED 亮度调节,后面有时间再展开写一篇细聊。
