2026年还在折腾个人AI机器人接入的兄弟姐妹,应该都注意到了OpenClaw(社区里也有人叫它Clawdbot)这名字最近出镜率有多高。简单说,它就是一个把大模型能力打包成可交互的IM机器人中间件:部署好之后,钉钉、飞书、QQ里直接发消息召唤Agent,让它查资料、跑任务、调工具、写回复,底层模型随便换,Docker一键拉起来就能跑。我自己从第一版OpenClaw开始就在跟踪这个项目,中途踩过不少部署和接入的坑,这篇文章就是把实际跑通OpenClaw的步骤、钉钉/飞书/QQ三条通道的接法,以及几个高概率翻车点一次讲清楚。文章里的方案都是按照常见实践整理出来的,适合刚入门的同学照着操作,也能给已经跑起来但想优化的人提供一些参考。
1. 部署前必须想清楚的三件事
1.1 OpenClaw到底扮演什么角色
很多人第一次接触OpenClaw,第一反应是“这不就是个机器人框架吗”。对,也不全对。OpenClaw的定位其实更接近一个Agent运行容器,它不只是把消息转发给大模型然后返回结果,还负责工具调用、记忆管理、多轮对话上下文维护,以及IM平台事件回调的解析。换句话说,钉钉、飞书、QQ这些平台只是“入口”,真正干活的是OpenClaw里配置的模型和Skill。
所以部署前先想清楚一个问题:你打算拿它干什么。是纯粹做个聊天机器人,还是想让它调用API帮你查天气、操作数据库、跑定时任务?这个决定直接影响你后续要装哪些依赖、配哪些权限、给哪些平台账号开接口。我见过太多人一上来就照着别人教程把容器跑起来了,结果发现自己只需要最简单的单轮问答,却配了一大堆没用的Skill,维护成本反而上去了。
从架构上看,OpenClaw可以分为三个部分:接入层、Agent核心层、模型层。接入层负责对接钉钉、飞书、QQ等IM平台,接收事件、发送消息;Agent核心层维护会话状态、决定调用哪个工具、组织回复;模型层则是真正做推理和生成的地方,可以是OpenAI兼容接口、DeepSeek、Ollama本地模型等。三者相互独立,换模型不用动接入配置,换平台不用重新配模型,这也是我推荐通过Docker部署的原因——这种模块化结构本身就是为了容器化准备的。
1.2 为什么要优先选Docker部署
OpenClaw的官方仓库提供两种部署方式:直接拉源码跑、用Docker跑。源码跑的好处是改代码方便,适合二次开发;坏处是依赖管理容易出问题,Python版本、Node版本、系统库缺一不可。2026年这个时间点,OpenClaw的依赖树已经相当庞大了,直接在一台新机器上跑源码,光处理依赖冲突就能耗掉半天。
Docker方案把环境差异直接抹平了。官方镜像打好了所有运行时依赖,你只需要保证宿主机有Docker和Docker Compose,剩下的就是配置文件和网络问题。我的建议是,除非你要改OpenClaw源码本身,否则一律用Docker Compose部署,后续升级也方便,改一下镜像版本号重新up就行。
还有一点容易被忽略:OpenClaw的Control UI(控制面板)和Agent进程会分别占用端口,源码方式跑容易因为端口冲突或者日志目录没权限导致半死不活的状态,而容器化部署天然隔离了这些进程级的问题。后面我会专门讲到Control UI启动失败的排查,这个问题在源码部署里出现概率非常高,但Docker下基本消掉了。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境要求与镜像准备
2.1 机器配置建议和系统选择
OpenClaw本身不算吃资源,真正的资源消耗主要看底层模型。如果你用的是云端API(DeepSeek、Kimi、MiniMax这类),OpenClaw进程占用的内存大概在500MB到1GB之间,CPU要求也不高,树莓派或者早期双核小主机都能跑。但如果你计划接Ollama跑本地模型,那就要看模型规模了:7B量化模型至少要8GB内存,14B起步16GB,还得有一块能用的GPU或者NPU才舒服。
操作系统方面,Ubuntu 22.04/24.04是最省心的选择,Debian 12、CentOS Stream 9、Rocky Linux 9也都兼容。Windows用户建议直接用WSL2,但要注意WSL2的网络模式和文件系统性能问题,有些坑后面会说到。容器环境我建议Docker Engine 24以上,Docker Compose Plugin版本2.20以上,太低的话Compose文件里的一些字段不兼容。
服务器网络方面,如果机器在国内,拉取镜像会遇到加速问题,建议先配置好国内可用的镜像加速器,避免首次拉取超时。后续接入平台回调时,如果用到Webhook模式,还需要公网能访问到你的服务,这个在接入钉钉和飞书时尤其重要。
2.2 获取镜像和版本选择策略
OpenClaw的镜像发布在GitHub Container Registry和Docker Hub上,社区常用的是ghcr.io/openclaw/openclaw这个路径。拉取命令很简单:
bash复制docker pull ghcr.io/openclaw/openclaw:latest
但我不建议生产环境直接用latest标签,因为OpenClaw的迭代速度很快,两次拉取可能行为都不一样。更稳妥的做法是先拉latest,跑起来确认功能正常后再换个具体版本号固定住。查看已运行容器的镜像版本可以这样:
bash复制docker inspect $(docker ps -q) --format='{{.Config.Image}}'
选择版本时还有一个技巧:看官方Release说明里是否提到“breaking change”。如果某个版本重构了配置文件结构或者改了Skill目录规范,就不要急着升级。我自己的做法是每个大版本单独建一个目录,比如openclaw-v1.5、openclaw
