1. 为什么大家都在云端部署OpenClaw
1.1 OpenClaw到底是什么东西
如果你还没接触过OpenClaw,我先用一句话说清楚:它是一个开源的AI代理(Agent)运行时框架,负责帮你把大模型、消息渠道、工具调用这些零零碎碎的东西串起来。你可以把它理解成一个“AI管家的大脑”——它本身不生产模型能力,但它能把模型能力接到微信、飞书、网页、命令行这些入口上,再配合一套Skill机制让模型调用外部工具。
我说得再直白一点。你在本地跑一个Claude Code或者Codex,本质上只是“命令行里的AI助手”。而OpenClaw做的事情更高一层:它把大模型装进一个常驻服务里,对外提供统一接口,然后你想让这个AI出现在哪里,它就出现在哪里。今天挂在微信上帮你回消息,明天推到飞书机器人里帮你查工单,后天变成网页对话框给团队内部用。这也是为什么最近“OpenClaw接入微信”“OpenClaw接入飞书”这些搜索词突然多了起来。
1.2 为什么我推荐你直接上云端而不是本机跑
很多人在自己电脑上装OpenClaw,装完兴奋了半小时,然后发现几个尴尬的问题:电脑一合盖,AI服务就断了;出门在外手机想连,发现家里路由器的端口映射没做好;更别提Mac mini或者Windows笔记本长时间开机的功耗和风扇噪音。
云端部署解决的恰恰就是这些事。一台2核4G的云服务器,一年不过几百块,OpenClaw常驻上面,做到真正的7x24小时在线。你白天在公司用手机和它聊,晚上回家打开电脑继续同一段上下文,全部走公网访问,完全不依赖你本地的网络环境。
有人担心云服务器配置会不会不够。实测下来OpenClaw本身对CPU和内存的要求非常温和,模型调用全部走API,真正的算力消耗在云厂商那边,本地服务器只负责跑逻辑和转发请求。2核4G跑OpenClaw加一套Control UI(可视化控制台),内存占用大概在1GB上下,非常宽裕。
另外一个选云端的原因是后续扩展。OpenClaw的Skill机制、多渠道接入、定时任务,这些功能本质上都需要一个常驻进程才能发挥作用。本地部署你还要考虑断网、休眠、IP变更这些乱七八糟的问题,云端一台机器全部搞定。
1.3 这篇教程到底适合谁
如果你满足下面任意一条,这篇教程就是给你准备的:
- 想搭一个7x24小时在线的个人AI助手,但不想折腾硬件
- 已经有一台云服务器但还没想好跑什么,OpenClaw是个好选择
- 想用阿里云百炼(通义千问系列模型)但不太清楚怎么和OpenClaw对接
- 试过本地部署OpenClaw,但卡在APIKey配置或者Control UI启动失败这一类问题上
我尽量把每一步写细,包括命令、配置文件、报错排查,按着抄就行。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 部署前的准备工作:服务器、环境、域名
2.1 云服务器怎么选
OpenClaw官方推荐的部署方式是Docker,所以服务器只要能跑Docker就行。操作系统建议Ubuntu 22.04 LTS或者Debian 12,这两个系统踩坑最少,网上的资料也最全。
配置方面,我前面说了2核4G足够。如果你打算让Control UI对多人开放,或者准备在上面跑多个Agent实例,可以考虑升到4核8G。带宽选3M到5M就够用了,因为OpenClaw主要是文本交互,偶尔传个图片,流量不大。
地域方面看你的用户群体在哪。如果只是自己用,选离你近的节点就行,延迟低一些。如果以后要接微信公众号,建议选阿里云华北2或者华东2,离微信接口服务器近一点,回调延迟会小一些。
注意:如果你在国内云厂商(阿里云、腾讯云)买服务器,后续如果用80和443端口对外提供Web服务,需要完成ICP备案。如果只是自己通过IP加端口访问,或者用SSH隧道转发,不占用80端口,就不需要备案。这个细节很多人第一次部署时不清楚,后面搭建Control UI的时候要注意。
2.2 用命令初始化服务器环境
拿到一台全新的Ubuntu服务器后,先登录进去做基础初始化。这里我直接给出整套命令,你按顺序执行就好。
bash复制# 切换root身份,或者用sudo执行
sudo -i
# 更新系统软件源和系统包(这步会花一两分钟)
apt update && apt upgrade -y
# 安装必要工具
apt install -y curl git vim ufw
# 安装Docker(用官方脚本,一步到位)
curl -fsSL https://get.docker.com | bash
# 安装Docker Compose插件
apt install -y docker-compose-plugin
# 验证安装
docker --version
docker compose version
执行完最后两条命令能看到版本号,就说明Docker装好了。这两条命令输入后如果你看到类似"version 24.0.x"和"version v2.2x.x"的输出,说明环境没问题。
我强烈建议装一个ufw防火墙,并且只放行需要的端口。现在不用管具体放行哪些端口,后面部署完再统一配置,省得开一堆乱七八糟的口子,安全风险也小一些。
2.3 关于网络环境的提醒
有一点需要提前说明:OpenClaw的代码托管在GitHub上,如果你部署的云服务器在境外,直接拉取代码没有任何问题。如果你用的是国内云服务器,从GitHub拉取代码或者拉取Docker镜像可能会遇到超时或者速度很慢的情况。
这时候最简单的办法是给Docker配置镜像加速源,阿里云、腾讯云都提供免费的容器镜像加速服务,去它们的控制台找到专属加速地址,配置到 /etc/docker/daemon.json 里,重启Docker即可。代码仓库拉不下来就用代理或者手动上传源码包,方法有很多,这里不展开。
3. 云端7分钟快速部署:从零到能聊
3.1 先把OpenClaw项目拉下来
Docker准备好之后,我们正式进入部署环节。注意,我给的是标准流程,全部敲完7分钟是够的,前提是你别在中间卡住去研究某个参数。
找一个合适的目录,把OpenClaw项目代码克隆到服务器上。
bash复制mkdir -p /opt/openclaw && cd /opt/openclaw
git clone https://github.com/openclaw/openclaw.git .
如果你的网络环境不太好,拉不下来或者拉得很慢,有一个备选方案:直接在GitHub页面上把项目打包成zip文件下载,然后通过 scp 或者宝塔面板上传到服务器,解压到 /opt/openclaw 目录。效果一样,只是少了git版本管理的便利。
然后创建配置文件目录和基础目录结构。
bash复制mkdir -p config data skills logs
3.2 编写docker-compose.yml和.env
OpenClaw官方提供的Docker镜像已经包含了运行时、Control UI和默认的Agent运行时。我们用一个 docker-compose.yml 把它编排起来。
注意:不同版本的OpenClaw在配置文件的具体字段上可能会有差异,我这里给的是当前版本比较通用的写法。如果你拉取的版本更新,以官方仓库里的示例配置为准。
yaml复制version: "3.8"
services:
openclaw:
image: openclaw/openclaw:latest
container_name: openclaw
restart: always
ports:
- "8000:8000"
- "8001:8001"
volumes:
- ./config:/app/config
- ./data:/app/data
- ./skills:/app/skills
- ./logs:/app/logs
env_file:
- .env
environment:
- TZ=Asia/Shanghai
接着创建 .env 文件,这是OpenClaw读取环境变量的核心文件。
bash复制vim /opt/openclaw/.env
写入以下内容(先把APIKey留空,后面专门讲怎么填):
code复制OPENCLAW_MODEL_PROVIDER=bailian
OPENCLAW_MODEL_NAME=qwen-plus
OPENCLAW_API_KEY=
OPENCLAW_API_BASE=https://dashscope.aliyuncs.com/compatible-mode/v1
OPENCLAW_AGENT_NAME=my-agent
OPENCLAW_AUTO_APPROVE=false
这里的几个变量解释一下:
OPENCLAW_MODEL_PROVIDER指定模型服务商,这里填的bailian就是阿里云百炼OPENCLAW_MODEL_NAME指定模型名,qwen-plus是通义千问的中端型号,综合能力和价格比较均衡OPENCLAW_API_KEY就是百炼的APIKey,我们现在先留空OPENCLAW_API_BASE是百炼OpenAI兼容模式的接入地址,这个固定不变OPENCLAW_AUTO_APPROVE是否自动批准工具调用,个人使用建议填false,安全第一
所有配置就绪后,启动服务。
bash复制cd /opt/openclaw
docker compose up -d
第一次启动会拉取Docker镜像,根据网络情况可能需要几分钟。拉取完成后,查看容器运行状态:
bash复制docker ps
看到 openclaw 容器状态是 Up,说明核心服务已经跑起来了。再看日志确认没有报错:
bash复制docker logs -f openclaw
正常情况下日志里会出现类似“Agent initialized”“Control UI available”这样的输出,等它稳定下来就可以进行配置了。
3.3 为什么要用OpenAI兼容模式
这里说一个很多新手容易懵的点。OpenClaw官方默认接的是OpenAI的接口,但模型本身可以换成任何一家。阿里云百炼提供了OpenAI兼容模式的接口,也就是说你只需要把 OPENCLAW_API_BASE 指到百炼的兼容地址,把模型名换成通义千问的型号,其他一切照旧。
这个设计我觉得非常聪明。OpenClaw不用为每一家模型服务商单独写SDK适配,而百炼也省去了推广专属SDK的成本。用户拿到手就是一套熟悉的OpenAI接口格式,几乎零学习成本。
如果你以后想换其他模型服务商,比如国外的一些平台,只需要改 API_BASE 和 API_KEY,再确认模型名是否支持就行,配置文件不用动结构。
4. 百炼APIKey的获取与配置:核心环节
4.1 开通百炼服务并创建APIKey
你要用通义千问的模型,先得有阿里云账号,这个不用我说了。登录之后进入百炼控制台。
具体步骤是这样的:
- 访问阿里云百炼控制台(在阿里云官网搜"百炼"就能找到入口)
- 首次使用需要开通百炼服务,一般会赠送一些免费额度,足够你测试用
- 在控制台左侧菜单找到"API-KEY管理"
- 点击"创建新的API-KEY",系统会生成一串以
sk-开头的密钥
创建完成后页面只会显示一次完整的APIKey,一定要先复制保存好。如果不小心关了页面,就只能重新创建一个,旧的立刻失效。我头一回就是没保存好,硬生生多花了三分钟重新建。
注意:APIKey就是钱袋子,百炼是按token计费的,谁拿到你这串Key,谁就能用你的账号调用模型刷钱。绝对不要把它提交到公开的GitHub仓库里,也不要写在博客、演示代码里。我自己见过太多人把Key带进代码后推到公开仓库,几小时内就被盗刷的案例。
4.2 把APIKey填进OpenClaw配置
拿到APIKey之后,回到服务器,编辑之前的 .env 文件:
bash复制vim /opt/openclaw/.env
把 OPENCLAW_API_KEY= 后面填上你的Key,例如:
code复制OPENCLAW_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx
填完之后重启OpenClaw让配置生效。
bash复制docker compose down
docker compose up -d
查看日志确认模型连接成功:
bash复制docker logs -f openclaw
如果看到类似“Connected to model qwen-plus via bailian”或者“Model provider initialized”这样的日志,就说明百炼APIKey配置成功了。
4.3 百炼模型选型建议:qwen-turbo、qwen-plus还是qwen-max
百炼上面通义千问的系列模型有几个常见型号,价格和能力递增。初次部署OpenClaw时,模型选型直接影响对话质量和成本。
我用了一个表格来对比:
| 模型 | 适合场景 | 价格水平 | 我的建议 |
|---|---|---|---|
| qwen-turbo | 轻量问答、简单任务 | 最低 | 测试环境首选,日常工具类调用也够用 |
| qwen-plus | 多轮对话、内容生成 | 中等 | 个人助手推荐,综合体验好 |
| qwen-max | 复杂推理、代码生成 | 最高 | 对质量要求极高的场景才需要 |
OpenClaw默认配置用 qwen-plus,我个人建议就保持这个。如果你只是想把环境跑通,先改成 qwen-turbo 更省钱,跑通了再换回去也行。
补充一个搜索热词里的问题:"unknown model: deepsee"。这是典型的模型名填错了。OpenClaw本身不支持直接填DeepSeek的模型名,如果你想用DeepSeek模型,需要在百炼的“模型广场”开通DeepSeek的模型服务(百炼上也提供DeepSeek模型,用
deepseek-chat这样的模型名),或者通过兼容接口来配置。这里只讲百炼,如果你想接其他模型,去看模型服务商提供的模型名列表,别凭感觉猜。
4.4 APIKey安全加固的额外建议
前面说了APIKey不能公开,这里再补几个实操中常用的保护手段:
.env文件要加入.gitignore,别把配置提交到版本库- 如果你用了Git管理配置,出现过Key泄露,立刻去百炼控制台删除旧Key重新生成
- 给百炼设置预算告警,在控制台配置每个周期的消费上限,防止异常调用导致扣费失控
我见过有人把Key配置到OpenClaw之后,觉得本地没问题就不管了。结果后来OpenClaw的Web服务暴露到公网,又没有加鉴权,被扫描器扫到后疯狂调用接口。所以后端服务部署完一定要控制访问,这个下一节会讲。
5. 验证部署成果:Control UI和渠道接入
5.1 Control UI打不开怎么办
OpenClaw带了一个网页版控制台(Control UI),默认跑在8001端口。部署完按理说访问 http://你的服务器IP:8001 就能看到登录界面。但如果你发现打开超时,八成是防火墙没有放行端口。
bash复制# 放行需要用到的端口
ufw allow 22/tcp
ufw allow 8000/tcp
ufw allow 8001/tcp
# 启用防火墙
ufw enable
如果用的是云厂商控制台的安全组,还要去安全组规则里把8000和8001放行。这个两个地方都要设置,缺一个都不行。
另外一个常见问题是Control UI进程没起来。如果你在日志里看到类似"openclaw control ui did not start"的报错,大概率是8001端口被占用了,或者容器内依赖的某个服务初始化失败。先排查端口占用:
bash复制netstat -tlnp | grep 8001
如果端口被别的进程占用,把容器停掉,清理端口,再重启。如果日志里有其他报错信息,去GitHub仓库的Issues搜一下,大部分问题都能找到答案。
5.2 通过Web界面测试对话
Control UI成功打开后,你会看到一个聊天窗口,这不只是一个演示页面,你可以直接在里面和OpenClaw交互。
我建议做两件事来验证系统是否正常:
第一,发一句普通的问候语,确认基础对话链路通畅。如果模型正确连接,AI会正常回复,这证明APIKey、模型名、网络都通了。
第二,配置一个简单的Skill,让AI调用外部工具。OpenClaw的Skill相当于给AI装插件,你可以在 skills 目录下放一个自定义Skill,或者用官方市场里现成的。比如让它查询当前服务器时间,或者让它帮你总结一段文本。能执行这一类工具调用,说明完整链路OK,而不只是纯聊天。
5.3 接入微信、飞书等消息渠道
OpenClaw支持接入微信、飞书、Telegram、Discord等多个渠道,这也是它比较受欢迎的原因。每个人只需要在消息软件上和AI对话,底层模型自动调用,体验和在Web上聊天差不多。
以飞书为例,流程一般是:在飞书开放平台创建一个机器人应用,拿到App ID和App Secret,再配置好事件订阅地址,把回调地址指向你的云服务器。然后在OpenClaw的配置里开启飞书渠道,填入对应的凭证。具体字段名不同版本可能有细调,按官方文档来。
微信相对麻烦一些,因为个人微信的接口限制比较多,需要借助企业微信或者一些中转方案。如果你只是为了个人娱乐,先用飞书或者Telegram体验会比较顺畅,没必要一上来就挑战高难度。
提醒一下,不管是接哪个渠道,回调地址都要求能被公网访问,且必须走HTTPS或者加上Token签名。如果服务器没有备案,80/443端口受限,有些平台就不支持,可以考虑用反向代理加自定义端口的方式解决。
6. 部署后的常见问题与排查实录
6.1 高频报错速查表
这些是我在使用过程中以及帮网友排查时遇到的高频问题,整理成表格方便你对照。
| 报错信息 | 可能原因 | 解决办法 |
|---|---|---|
401 Authentication Failure |
APIKey错误、过期,或者账号没有开通对应服务 | 重新生成APIKey,确认百炼控制台对应的模型服务已开通 |
unknown model: deepsee |
模型名填错了,填了DeepSeek但在百炼路径下该模型名不存在 | 改为百炼支持的模型名,如 qwen-plus,或者确认DeepSeek模型已单独开通 |
Connection timed out |
网络不通,或API_BASE地址配置错误 | 检查 .env 里的API_BASE地址,在服务器上直接curl测试百炼接口 |
openclaw control ui did not start |
端口被占用、容器内服务启动失败 | 清理端口占用,查看容器完整日志定位具体错误 |
agent failed before reply: ... |
Agent运行时初始化失败,模型未正确连接 | 逐项检查模型提供商、模型名、APIKey,用最小配置测试 |
insufficient_quota |
百炼账号欠费或流量包用完 | 去阿里云控制台充值或续费 |
6.2 怎么验证APIKey本身有没有问题
排查问题的时候,最关键的一步是先确认APIKey和模型接口是通的。与其纠结OpenClaw的配置,不如先直接用curl测试百炼的OpenAI兼容接口。
bash复制curl -X POST "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions" \
-H "Authorization: Bearer 你的APIKey" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-plus",
"messages": [{"role": "user", "content": "说你好"}]
}'
如果返回一段JSON,里面有 choices 字段,说明APIKey和网络都没问题。如果返回401或者其他错误,说明问题出在Key或者模型名上,和OpenClaw没任何关系。
这个排查顺序极其重要。很多人一看到OpenClaw报错就疯狂改配置,折腾一晚上发现是自己的Key复制错了。先验证APIKey,能省掉至少一半的排查时间。
6.3 模型调用很慢?先别急着骂服务器
部署完测试发现回复特别慢,很多人的第一反应是服务器带宽不够。其实大部分时候不是带宽问题,而是模型接口本身的响应时间。
通义千问在百炼上的响应速度取决于模型型号、输入长度、当时的负载。qwen-turbo通常1-3秒就有首字返回,qwen-max在复杂推理时可能要等十几秒。如果你用的是免费额度或者低优先级调用,排队时间也会算进去。
要测试到底是模型慢还是OpenClaw慢,直接用上面那行curl测一次,看耗时。如果curl也慢,那就是模型服务的问题,换模型或者优化Prompt复杂度。如果curl很快但OpenClaw慢,再去看日志排查是不是Skill加载、上下文过长导致的。
7. 进阶玩法:让OpenClaw真正值回票价
7.1 用Skill机制扩展AI能力
OpenClaw的Skill机制是它区别于普通聊天机器人的核心,相当于给AI装上了“手”。默认状态下AI只能对话,不能执行操作。但你一旦挂上Skill,它就能查天气、读写文件、调用API、操作数据库。
Skill本质上是一段特殊格式的配置加脚本。以“让AI写小说”这个热门场景为例,你可以在 skills 目录下放一个专门处理文学创作的任务描述,告诉模型“根据用户给定的主题和风格,输出情节完整的小说章节”。这样一来,OpenClaw就从一个通用助手变成了定向创作工具。
Skill的挂载逻辑也很简单,把Skill文件放到 .env 里配置的 skills 目录下,重启服务即可。不需要改任何代码,整个框架的动态加载能力就是这样设计的。
7.2 让OpenClaw跑定时任务
云端部署还有个很大的好处就是定时任务。你可以让OpenClaw每天早上9点自动生成一份摘要,或者定期检查某个接口的健康状态,发现异常主动告警。
实现方式有两种:一种是在OpenClaw的配置里启用定时触发器,这是框架内置的能力;另一种是借助系统的crontab,在固定时间点向OpenClaw的接口发送一条消息,触发Agent执行任务。第二种方案更灵活,也更容易控制。
我之前做的一个小项目,就是用crontab每半小时向OpenClaw推送一条指定格式的指令,让AI去汇总一个数据源的变化,写入日志文件。整个过程不需要人工参与,稳定性很好。
7.3 本地模型和NVIDIA NIM的搭配
如果你不想完全依赖云端API,OpenClaw也支持接入本地模型或者NVIDIA NIM这类私有化部署方案。
用NVIDIA NIM,你可以在自己的GPU服务器上运行开源模型(比如Llama系、Qwen系),再通过OpenClaw统一代理出去。这样模型推理在本地完成,APIKey和对话数据都不出你的服务器,数据安全性更高,也省去了按token付费的成本。当然,前提是你有一块过得去的GPU,否则推理速度会比较感人。
这一块配置相对复杂,适合对模型部署有一定经验的人。第一次玩OpenClaw的话,先老老实实用百炼APIKey跑通,后续再慢慢折腾本地部署。
8. 聊聊我这段时间部署OpenClaw的亲身体会
从最开始在Mac mini上折腾本地部署,到后来彻底搬到云服务器,前后也踩了不少坑,这里挑几个最有感触的说说。
第一,别信那些“一键部署工具”的付费服务。OpenClaw本身完全开源,官方就提供Docker镜像,照着教程自己装完全能搞定,没必要花冤枉钱买什么终身会员。我看到搜索词里有“OpenClaw一键部署工具终身会员特惠”这类关键词,大家小心,这大概率是利用信息差收割新手。
第二,APIKey管理和模型选型这两个问题一定要花时间搞清楚,项目越大这里越值钱。我刚部署时图便宜用qwen-turbo,后来发现写长文章时质量确实差一点,换到qwen-plus之后效果好了不少,成本也就多几块钱。别为了省几块钱把体验牺牲掉,先跑起来再优化比什么都强。
第三,云端部署的核心价值是“常驻”。我自己的经验是,真正让OpenClaw发挥作用的不是它有多强的对话能力,而是它24小时在线之后,你可以基于它构建很多自动化流程。你可以把它当成一个免费的内部员工,专门处理那些流程化、信息整合类的任务。
希望这篇教程能帮你在7分钟内把OpenClaw跑起来。遇到问题别慌,先对着错误信息查日志,再对照上面的排查表依次检查,大部分问题都能自己解决。如果还有卡住的地方,去官方GitHub的Issues区搜索或者提问,开源社区就是这么运转的。
