2026年了还要写OpenClaw的部署教程,说实话我自己都没想到。之前折腾这类个人AI助手,绕来绕去总被各种报错卡住,一度觉得“没点技术底子根本玩不动”。直到我把整套流程从云服务器到本地环境完整跑通之后才发现,选对路径的情况下,从一台干净的腾讯云服务器到OpenClaw能开口说话,真的可以控制在3分钟上下。这篇就是把我验证过的路径原样写出来,覆盖腾讯云、MacOS、Linux、Windows四种场景,不整花活,照着复制命令就能跑。
1. 先花30秒弄清OpenClaw是什么,以及“搭建”到底在搭什么
很多教程上来就甩命令,读者跟着敲完也不知道自己在部署什么,出了问题更是一头雾水。我先把OpenClaw的定位说清楚,后面看命令会轻松很多。
1.1 一个跑在后台的AI执行体,而不是又一个聊天窗口
OpenClaw本质上是一个开源的个人AI助手框架。它不是让你打开网页问一句答一句的那种聊天机器人,更像是一个24小时挂在后台的“数字员工”,一直驻留在你的服务器或电脑上,通过微信、企业微信、钉钉等消息通道接收指令,调用大模型做推理,然后执行对应的动作。
举个实际的例子,你可以在一个聊天会话里对它说“帮我写一章科幻小说,主角是一个被困在虚拟城市里的外卖员”,它就会按你给的设定生成完整内容;你也可以让它定时整理信息、总结文档、跑一些固定流程。2026年再看这类框架,生态已经比前几年成熟太多了,模型API便宜、接入通道稳定、社区方案齐全,这也是为什么越来越多人愿意自己部署一套。
1.2 部署的本质:一个容器 + 一份配置 + 一个模型接口
从技术角度拆开看,OpenClaw的部署其实就是三件事:
- 把官方镜像或启动文件跑起来
- 在配置文件里填上大模型API的密钥
- 绑定一个你能随时触达它的消息通道
整个运行时里通常包含几个核心模块:消息入口负责接收外部指令,Control层负责调度和状态管理,模型网关负责连接各家大模型API,再加上记忆、工具调用这些外围能力。Docker容器把这些东西打包在一起,你不需要在机器上手动装Python环境、配依赖、处理版本冲突,镜像拉下来就是一套完整的运行环境。
所以“零技术”搭OpenClaw,核心是复制几条命令、改一个配置文件,而不是从零编译源码。理解了这一点,你就知道后面每一步在干什么了。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 腾讯云路径:3分钟从零到能聊的完整操作链
腾讯云这条路径是我最推荐的起点,因为服务器是干净的Linux环境,不受本机网络和系统环境影响,出问题的概率最低。下面按时间线拆开讲。
2.1 第0-60秒:选机器和系统镜像的取舍
买服务器的时候,在腾讯云控制台选“轻量应用服务器”就行,配置我建议2核2G起步。如果你打算后面跑本地小模型,直接上2核4G,差价不大但体验差很多。
操作系统这里有个容易踩的误区:别选Windows Server,虽然腾讯云也有Windows镜像,但OpenClaw这类容器化项目在Linux上的生态最完整,社区方案最多。我建议选Ubuntu 22.04 LTS或者Debian 12,这两个系统对Docker的支持最好,后续遇到问题搜解决方案也最容易命中。
地域方面,优先选离你近的。大陆地域的延迟低,访问控制台更顺畅;如果你选海外地域,网络链路会有明显差异,延迟会高一些,日常使用体验不如就近地域。这不是什么玄学,就是物理距离带来的网络开销。
2.2 第60-150秒:登录、装Docker、拉取启动文件
拿到服务器公网IP和密码之后,从本地终端SSH登录:
bash复制ssh root@你的服务器公网IP
登录后第一步是装Docker。这里用官方脚本最省事:
bash复制curl -fsSL https://get.docker.com | sh
systemctl enable --now docker
装完Docker,接着创建OpenClaw的部署目录,拉取官方启动文件。下面命令里的仓库地址是示例,具体以OpenClaw官方文档发布的地址为准:
bash复制mkdir -p ~/openclaw && cd ~/openclaw
git clone https://github.com/openclaw/openclaw.git .
拉下来之后,项目里会有一个环境变量示例文件,复制一份并编辑:
bash复制cp .env.example .env
vim .env
你需要重点关注的是模型API密钥相关字段。以字段名为准,把你在模型服务商那边申请的API Key填进去。如果这一步跳过,后面启动大概率是能起来的,但一问话就会报错。
2.3 第150-180秒:启动容器并确认Control UI就绪
配置文件改好之后,启动这一步其实是最快的:
bash复制docker compose up -d
第一次启动要拉镜像,耗时取决于网络情况。拉完之后看下容器状态:
bash复制docker compose ps
看到所有服务的状态是Up,再用浏览器访问http://你的服务器公网IP:端口,端口以你的配置为准。出现OpenClaw的Control UI登录界面,就说明部署成功了。从终端里敲命令到这一步,顺利的话确实用不了几分钟。
2.4 被很多人忽略的隐形第4步:安全组与防火墙
“3分钟部署”之所以很多人跑不通,九成是卡在这一步:容器明明起来了,Control UI就是打不开。原因通常很简单——腾讯云安全组没有放行对应端口,或者服务器本机防火墙拦住了。
我给你的排查顺序是:
- 在服务器上先自测:
curl http://127.0.0.1:端口,能返回页面说明服务本身没问题 - 在本地浏览器访问公网IP,打不开就去腾讯云控制台检查安全组入站规则
- 安全组放行后还不行,检查服务器本机防火墙:
ufw status,如果有开启,执行ufw allow 端口放行
这里我整理了一个小表格,照着看会很清楚:
| 现象 | 可能原因 | 检查方式 |
|---|---|---|
| 本机curl有响应,外网打不开 | 安全组未放行 | 腾讯云控制台-安全组-入站规则 |
| 安全组已放行,外网仍打不开 | 本机ufw防火墙拦截 | ufw status 查看并放行 |
| 本机curl无响应 | 容器没起来或端口映射不对 | docker compose ps 和 docker compose logs |
这不是OpenClaw的问题,是所有Web服务部署的通用坑。记住“先本机自测、再看安全组、最后查防火墙”这个顺序,能省下大量排查时间。
3. MacOS、Linux、Windows本地部署:三条路线,一个核心逻辑
云服务器方案适合长期把OpenClaw挂在外面,但很多人更想先在自己电脑上试跑。本地部署的逻辑和云端完全一样,区别只在环境准备这一步。
3.1 MacOS:Docker Desktop是主流,但内存是命门
MacOS上部署OpenClaw,推荐直接装Docker Desktop,然后跟云端一样用docker compose up -d启动。Docker Desktop安装包从官网下载即可,双击安装、按提示打开终端授权。
M系列芯片的Mac要注意一点:尽量使用官方构建的arm64架构镜像,绝大多数情况标识arm64的镜像在M系列芯片上能直接跑。如果你看到“不支持的平台”之类的提示,一般就是架构不匹配。
内存是Mac上最容易忽略的问题。Docker Desktop默认分配的内存可能不够OpenClaw跑,尤其你还开着浏览器、编辑器,内存很容易吃紧。建议在Docker Desktop的Settings里把内存调到4-6G。另外,Docker镜像和容器会占用系统空间,如果你觉得macOS系统数据占用过大,多半是Docker Desktop积累了一堆不用的镜像,定期执行docker system prune -a清理一下就好。
3.2 Linux:最省心的原生路线,也最容易“裸奔出错”
Linux上是OpenClaw的“主场”。即便不装Docker,也可以从源码运行,但对新手来说依然是Docker路线最稳。直接复用云端的步骤:装Docker、克隆项目、改配置、docker compose up -d,一条龙下来几乎不会出意外。
不过我见过很多Linux老手反而会在这里翻车,原因就是太自信,跳过了“看日志”这一步。任何一步报错,先执行docker compose logs看输出,比瞎猜配置强一百倍。
如果你希望OpenClaw开机自启,需要把容器服务托管给systemd。最简单的方式是创建一个服务文件,内容是让你熟悉的docker compose up -d在开机时执行,然后把服务设为开机自启。这里提醒一句:如果在Linux服务器上做远程部署,千万别把OpenClaw的Control UI端口直接暴露到公网,至少加一层访问口令,或者干脆只允许内网访问。裸奔出去的AI服务,随时可能被扫到。
3.3 Windows:WSL2是唯一不折腾的选择
Windows本地部署OpenClaw,最省心的路径是装WSL2,在Linux子系统里跑,而不是直接在Windows原生环境折腾。原因很简单:OpenClaw以及它依赖的Docker容器,本质上都是Linux生态的东西,Windows原生跑容器需要额外兼容层,配置起来问题非常多。
WSL2的安装现在已经很简单了,管理员权限打开PowerShell,执行:
powershell复制wsl --install
装完重启,系统会默认装好Ubuntu。打开WSL终端,剩下的命令跟Linux路线完全一样:装Docker、克隆项目、改配置、启动。也就是说,你只需要学会一套命令,Windows和Linux两个平台都覆盖了。
有一点要提醒:WSL里访问Windows文件系统路径是/mnt/c/...,如果你的项目文件放在Windows的某个目录,从WSL里也能看到,但跨文件系统读写性能会差一些。建议把OpenClaw的项目文件放在WSL内部目录,比如~/openclaw,这样读写顺畅,也避免了一些文件权限的怪问题。
至于网上那些“一键部署工具”,我建议保持谨慎。脚本本质上是把上面的步骤封装了,确实方便,但一旦出问题,你不知道它改了什么。想真正可控,还是自己跑一遍命令、看一眼输出,这样后续排错心里有数。
4. 部署完成不等于能用:首次启动后的三件必做配置
很多教程写到“容器启动成功”就结束了,但真正用过OpenClaw的人都知道,启动成功只是开始。我第一次部署完,Control UI也看到了,结果一问话就报错,折腾半天才发现是模型接口没配好。下面这三件事,属于部署完成后必须立刻做的。
4.1 模型后端:先用API把流程跑通,再考虑本地模型
OpenClaw本身没有模型能力,它要接一个大模型后端才能做事。目前主流做法分两种:
API模式:接DeepSeek、通义千问这类提供OpenAI兼容接口的服务商。这种方式成本很低,日常对话一天也就几毛钱,而且不需要强大的硬件。对大多数人来说,这是首选项,先把流程跑通最重要。
本地模型模式:用Ollama这类工具在本地跑开源模型,好处是数据不出本地、隐私性好,但2核2G的机器别想了,至少4核16G起步,而且生成速度远不如商业API。
在配置文件里,API模式一般长这样,具体字段以你使用的OpenClaw版本为准:
bash复制MODEL_PROVIDER=openai_compatible
MODEL_API_KEY=你的模型API密钥
MODEL_API_BASE=https://你的模型服务商地址
MODEL_NAME=你的模型名称
我的建议很直接:新手先用API模式跑通,等熟悉了OpenClaw的配置逻辑,再去折腾本地模型。别一上来就追求“完全离线”,那会把你对部署的耐心消耗殆尽。
4.2 消息通道:把OpenClaw从“网页里”挪到“随时能用”
Control UI是一个管理界面,适合查看配置、测试对话,但它不会主动出现在你的日常消息流里。要让OpenClaw真正好用,需要绑定一个消息通道。
现在最常见的做法是接入企业微信或钉钉的自定义机器人。创建一个群机器人,拿到Webhook地址或Token,把它填到OpenClaw的通道配置里,之后你在群里@机器人发指令,OpenClaw就能在群里回复。整个过程和“拉一个同事进群”的体验差不多。飞书、Slack等也都有类似的机器人机制,配置逻辑大同小异。
这里我必须提一个很多教程不敢说的点:慎重接入个人微信。个人微信账号绑第三方机器人是违反平台规则的,轻则被限制功能,重则封号。我见过好几个为了图方便硬接个人微信,结果号没了,得不偿失。合规的做法就是走企业微信、飞书、钉钉这类官方有机器人能力的平台,功能上完全够用,还不用提心吊胆。
4.3 一次完整验证:从指令到回应的调用链闭环
配置完之后,不要急着让它干活,先做一次完整的验证,确认调用链是通的。
在Control UI或你绑定的消息通道里,发一条最简单的指令:“你好,请回复我在线。”正常情况下,OpenClaw会把指令传给模型API,模型返回结果,OpenClaw再把结果发回给你。如果这一步通了,说明“消息入口 -> 模型网关 -> 模型API -> 消息出口”整条链路已经打通。
链路通了之后,再试一个有实际价值的指令,比如让它写一段小说开头。这里刚好可以验证OpenClaw对“创作类任务”的处理能力,也顺便检验模型本身的输出质量。如果输出有问题,大概率是模型选型或参数配置的问题,和部署无关。
5. 从“能跑”到“好跑”:实际部署中的教训与优化
部署不是终点,能稳定跑起来才是。下面这几个问题是我自己在部署过程中真实遇到过的,也给身边的同事排查过,写出来帮你绕开。
5.1 Control UI did not start:一条可复现的排查链路
如果你在启动日志里看到“Control UI did not start”之类的提示,先别慌。这个问题的原因通常就几种,按下面的顺序查,一般几分钟能定位:
- 容器到底在不在运行:
docker compose ps,如果Control服务不是Up状态,看第2步 - 日志里说了什么:
docker compose logs control,报错信息会直接告诉你线索 - 端口有没有被占用:
ss -lntp | grep 你的端口,如果端口被其他服务占了,改成别的端口再启动 - 配置文件是不是写错了:改过配置之后,先执行
docker compose config,它会检查配置文件的格式问题,我无数次靠这一条命令救回来 - 模型接口有没有连通:Control启动时有时会去校验模型配置,如果API Key填错或接口地址不可达,可能启动后反复重启
我遇到最多的其实是配置文件的YAML或环境变量格式问题,比如漏了引号、多了空格、Key填错位置。所以在改配置这件事上,我的经验是:一次只改一个变量,改完就docker compose config验证,再启动。不要一口气改一堆,出错了都不知道改哪行。
5.2 镜像拉取慢的根治办法
Docker镜像拉取慢,在本地部署时比较常见。一个有效的办法是为Docker配置镜像加速器。
在Linux服务器上,编辑/etc/docker/daemon.json,加入镜像加速地址:
json复制{
"registry-mirrors": ["https://你的加速器地址"]
}
保存后重启Docker:systemctl restart docker。配置好之后,之前几百KB每秒的拉取速度通常会明显改善。腾讯云、阿里云等主流云厂商都给各自用户提供镜像加速器服务,去控制台搜“镜像加速器”就能拿到专属地址。这个操作属于常规运维手段,放心用。
另外一个比较实用的经验是:挑网络波动小的时候执行首次部署。第一次拉镜像最大的“受害者”就是那些晚上高峰期操作的朋友,速度不稳定很折磨人。
5.3 数据卷、密钥和访问控制:这些小事决定的不是部署成败,而是后续体验
部署成功之后,有几件“小事”一定要养成习惯,否则后续体验会很难受。
数据卷与备份:OpenClaw的配置和对话数据默认在容器内,但容器一旦删除,数据就全丢了。部署时建议把配置目录挂载到宿主机,比如在docker-compose.yml里加一行./data:/app/data之类的卷映射,具体路径以官方镜像声明的数据目录为准。这样升级容器、迁移机器的时候,数据还在。
密钥安全:.env文件里存着模型API密钥,这个文件千万别提交到公开的Git仓库。我见过有人把配置直接推到GitHub上,几分钟内密钥就被爬走了。建议把.env加进.gitignore,定期更换密钥,尤其是确认泄露过的情况下。
访问控制:如果你让OpenClaw在公网IP上提供服务,一定要给Control UI设置访问口令,不要用默认配置裸奔。这类AI服务一旦暴露在公网,被扫描到之后很容易被恶意利用。
最后说一个我实际用下来的小技巧:每次改完配置文件,先执行docker compose config校验一下,再执行docker compose up -d重启。这个习惯帮我避免了大半“改完起不来、不知道错哪”的情况。OpenClaw的部署本身不复杂,真正拉开体验差距的,是你有没有把配置、数据、密钥这三件事管好。
