ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

OpenClaw AI Agent 华为云部署实战:从环境初始化到模型切换与维护

2026/9/15 21:12:31 拓冰建站 浏览量
OpenClaw AI Agent 华为云部署实战:从环境初始化到模型切换与维护 远不想就停在“能跑通”这一步所以我后面专门留了一节写 Skill、模型切换和升级维护。这些都是在真实使用里高频踩坑的点安装时好好的一加微信插件就触发风控升级完Gateway连不上模型容器里Chrome动不动白屏。这些我都会按实际遇到过的场景来说。按我的习惯部署这种事先把整体思路捋清楚再动手比什么都重要。这就是为什么这篇上来先讲方案选型而不是一上来就贴命令。你理解了每一步在干什么出了问题才知道去哪找答案。1. 部署前必读OpenClaw是什么与云环境选型思路1.1 OpenClaw核心概念与架构拆解OpenClaw 本质上是一个面向个人助理场景的 AI Agent 运行框架社区里好些人喊它 Clawdbot。它和单纯的“套壳对话机器人”最大的区别在于它不止能聊天还能调用工具、执行任务、连接外部服务。你可以把它理解成一个“中枢神经系统”下面挂着模型、消息渠道、技能插件这些“器官”。我自己用的过程中最大的体感是它的模块化做得比较干净。整个框架拆成几层Gateway接入网关负责统一管理消息渠道比如微信公众号、企业微信、Telegram 这类都通过 Gateway 接入。它做的事情相当于“前台接待”把各路消息接进来转成内部通用格式。Core核心调度拿到消息之后Core 负责理解意图、编排任务、调用模型。它是“大脑”本身。Skills技能插件这是一层扩展能力类似手机上的 App。比如你装一个网页检索 Skill模型在对话中遇到需要查资料的问题就会自动调用它。Model Provider模型供给层OpenClaw 自己不带模型它通过接口对接各家大模型服务OpenAI、Claude、DeepSeek、本地 Ollama 都能接。这层负责把不同厂商的接口统一封装。这套架构最直接的好处是换模型不用动业务代码加渠道不用动核心逻辑。我自己第一次接触的时候最大的感受是——它把“机器人开发”这件事的门槛从“会写代码”降到了“会改配置”。1.2 华为云服务器选购建议与规格计算OpenClaw 本身不重重的是你打算让它跑什么。如果只是接个模型、挂个微信回复消息配置需求其实很低但如果你想让它跑本地模型、或者用 Skills 控制浏览器、做网页内容抓取那内存和带宽就得往上走。我实测下来给一个比较稳妥的参考配置使用场景CPU内存系统盘带宽参考规格入门体验只接云端 API2核4G40G3Mbps华为云 ECS s7.xlarge.2日常主力接微信/多 Skill 常驻4核8G60G5Mbps华为云 ECS c7.xlarge.2重度使用本地跑小模型 浏览器自动化8核16G100G10Mbps华为云 ECS c7.2xlarge.2这里我强烈建议一点系统盘用40G 起步。你可能觉得 OpenClaw 镜像才几百 MB但跑起来之后 Docker 镜像、日志、模型缓存、浏览器渲染临时文件增长速度快得超乎想象。我最早开过一台 20G 系统盘的机器三天不到存储告警后来被迫清 Docker 缓存很被动。带宽方面如果只是接口调用3Mbps 足够但如果你要用 OpenClaw 的浏览器自动化能力去访问网页尤其是访问那些图片多、JS 重的站点带宽太小会影响渲染速度。看预算来吧这块后面能扩容。1.3 网络与安全组规划华为云的安全组是默认全关的这和家里路由器默认不放开端口是一个道理。我们部署 OpenClaw 需要根据实际用途开放端口我一贯的原则是只开必须要开的能用内网走的内网走能不开公网就不开公网。具体端口规划参考22端口SSH 登录用。建议只对你自己的出口 IP 开放别对 0.0.0.0/0 全开。暴力破解脚本扫 22 端口是常态我见过太多机器被扫到然后被种挖矿木马。80/443如果你要给 OpenClaw 配 Web 管理界面、或者让微信服务器回调到你这边需要用到。有域名的话直接上 HTTPS没域名可以先 HTTP 顶着。其他端口一律关闭比如 Redis、数据库这类组件尽量不要暴露公网。如果 OpenClaw 内部的某个依赖必须监听端口让它在 Docker 内网里跑就行。另外密钥对登录是华为云默认推荐的方式我建议你选“密钥对”而不是“密码”。密钥对登录比密码安全一个量级而且省去记密码的麻烦。如果你已经选了密码登录也建议后面在 authorized_keys 里加上自己的公钥然后把密码登录关掉。2. 环境初始化实战华为云上从零开始2.1 创建ECS实例与系统配置登录华为云控制台在“弹性云服务器 ECS”页面点“购买弹性云服务器”。这个过程里需要做的关键选择我逐个说一遍计费模式如果你只是测试选“按需计费”用完就释放不心疼钱。如果要长期跑选“包年/包月”价格便宜不少。我自己的习惯是先用按需跑两三天确认稳定了再考虑包月。区域就近原则。国内访问的话选离你近的可用区即可。注意不同可用区的内网是通的但不同区域的内网不通这个后面涉及跨区迁移的话要注意。镜像选Ubuntu 22.04 LTS或者Debian 12。别选 CentOSCentOS 已经停止维护了新部署没有必要选它。我在这篇教程里统一用 Ubuntu 22.04。系统盘按 1.2 节的建议选。注意默认的高IO/通用型SSD都能用没必要上极速型那是给数据库用的。创建完成之后你会得到一个公网 IP然后用密钥或者密码 SSH 登录ssh -i your-key.pem ubuntu你的服务器IP登录后第一件事更新系统sudo apt update sudo apt upgrade -y这一步别跳过。新装的机器上有很多安全补丁要打拖到后面容易出幺蛾子。2.2 Docker、Python和基础组件安装OpenClaw 官方推荐的部署方式之一是用安装脚本一键装脚本会自己处理依赖。但脚本不是万能的它依赖你系统里已经有一些基础工具。所以在跑脚本之前我习惯先把环境收拾一遍。安装 Docker# 使用官方脚本安装 curl -fsSL https://get.docker.com | bash # 验证安装 sudo docker --version安装完成后把当前用户加入 docker 组免去每次都要 sudosudo usermod -aG docker $USER newgrp docker安装 Python 和 pipUbuntu 22.04 自带 Python 3.10够用了sudo apt install -y python3 python3-pip python3-venv git curl wget python3 --version验证 Docker 能正常拉取镜像和运行容器docker run hello-world能正常打印出 Hello from Docker! 就说明 Docker 环境没问题。这一步卡住的话最常见的原因是服务器时间不准——NTP 没同步会导致 TLS 握手失败。顺手执行一下sudo timedatectl set-ntp true2.3 主机配置检查与网络联通测试在正式安装 OpenClaw 之前我习惯先做一轮体检把后面可能出问题的地方提前暴露出来# 查看系统负载和内存 htop # 没安装就先 sudo apt install htop # 查看磁盘空间 df -h # 测试外网连通性 curl -I https://registry.npmjs.org curl -I https://pypi.org # 测试DNS解析 nslookup github.com这里重点说说外网连通性。OpenClaw 安装过程中要拉不少镜像和依赖包如果你的服务器访问 GitHub、npm 这些源慢或者超时安装过程会非常痛苦。国内云服务器访问这些源本来就时快时慢这是网络链路决定的不是某一方的问题。解决思路有两个方向一个是给包管理器配国内镜像源比如 pip 配清华源、npm 配淘宝源另一个是在安装脚本层面做一些超时参数调整。具体的我在 3.2 节里再展开。还有一个小细节把主机名改一下。默认的主机名是一串无意义的 ID看着难受而且日志里面全是它。顺手改成好记的sudo hostnamectl set-hostname openclaw-node改完重新登录一下就能看到新主机名了。3. OpenClaw 安装与核心配置保姆级实操3.1 通过官方安装脚本部署OpenClaw环境准备好了接下来就是重头戏。OpenClaw 官方提供了一键安装脚本脚本支持几种安装方式其中我最推荐的是通过 git 从 GitHub 的 main 分支检出源码进行安装。为什么选源码方式而不是直接拉 Docker 镜像因为 main 分支更新快很多新功能和修复都在 main 上直接装编译好的版本有时候会遇到“功能落后于文档”的情况而且源码安装的目录结构比较清楚后面你手动改配置、加 Skill 都方便定位。OpenClaw 的安装脚本本身支持通过参数指定 git 安装方式并在安装时指定仓库地址。和大多数开源项目的安装套路一样你可以用类似下面的方式拉取并执行安装脚本# 下载安装脚本并执行指定使用 git 方式从 main 分支安装 curl -fsSL https://get.openclaw.example/install.sh -o install_openclaw.sh bash install_openclaw.sh --git --branch main --repo https://github.com/your-org/OpenClaw.git执行之前我强烈建议你把脚本打开看一眼确认它干了什么再跑nano install_openclaw.sh重点看几个地方安装路径默认是哪里、有没有强制要求 root 权限、会不会改动系统的全局 Python 环境。这套“先读脚本再执行”的习惯能帮你避开很多后患。我踩过一次坑某个脚本往系统全局 pip 里装了一堆包导致后面系统自带的 Python 项目全乱了套。安装过程需要几分钟中途会看到它拉代码、装依赖、编译一些组件。期间不要 CtrlC等它跑完。出现类似 “Installation complete” 的字样就是装好了。3.2 配置Gateway与LLM模型接入安装完成之后第一件要做的事就是让 OpenClaw 能“说话”——也就是接入一个模型。OpenClaw 本身不内置模型它需要一个模型服务的 API 地址和密钥。我按最常见的两种接入方式来说方式一接入云厂商大模型 API以 DeepSeek 为例你在 DeepSeek 开放平台拿到 API Key 之后在 OpenClaw 的配置里指定模型供应商和模型名。配置文件一般位于安装目录下的config/文件夹里不同版本文件名可能略有差异通常是config.yaml或者.env。你需要填的核心几项模型供应商标识比如deepseekAPI Base URL比如https://api.deepseek.comAPI Key模型名称比如deepseek-chat或deepseek-reasoner如果你用的不是 DeepSeek而是硅基流动这类聚合平台原理是一样的把 API Base URL 换成平台提供的地址模型名换成平台支持的模型 ID 就行。OpenClaw 在模型接入这块做得挺开放只要兼容 OpenAI 格式的接口基本都能直接填。方式二接入本地模型Ollama如果你有 GPU 资源或者想省 API 费用可以在服务器上装 Ollama然后让 OpenClaw 走本地模型# 安装 Ollama curl -fsSL https://ollama.com/install.sh | sh # 拉取一个轻量模型比如 qwen2.5:7b ollama pull qwen2.5:7b然后在 OpenClaw 配置里把模型供应商指向本地 Ollama 地址http://localhost:11434模型名写qwen2.5:7b。注意本地模型的效果和参数量直接挂钩7B 级别的模型做简单的指令跟随没问题但复杂推理任务会明显吃力。我自己的建议是——日常对话和简单工具调用用 API 模型省钱和省事涉及隐私、需要完全离线的任务再切本地模型。配置完成后用 OpenClaw 自带的命令行工具做一次连通性测试。一般会有类似claw chat或openclaw test的命令直接用自然语言问它一句“你好请介绍一下你自己”看能不能正常回复。这一步过了说明模型链路通了后面才有得玩。3.3 接入微信渠道与消息联动模型通了下一步是接入真实的消息渠道。OpenClaw 社区用得最多的渠道就是微信。微信接入的方案分两种个人微信方案通过单独的微信插件/中间件桥接把微信收到的消息转发给 OpenClaw。优点是门槛低扫码登录就能用缺点是有账号风控风险而且微信插件这块依赖第三方实现稳定性看运气。公众号/企业微信方案走正规 API 通道。优点是稳定不会被风控缺点是需要有微信公众号或企业微信账号配置回调地址什么的相对繁琐。如果你是第一次玩建议先走个人微信方案把链路跑通再说。配置个人微信渠道时需要在 OpenClaw 配置里把微信插件启用并填好对应的 token 和回调信息。这里必须先说一下群里很多人问的“ilinkai 服务端风控或会话残留”问题。微信插件在长时间运行之后有一次我发现机器人突然不回复了。查日志发现微信插件触发了 ilinkai 服务端风控或者出现了会话残留——就是上次的会话没有正常关闭连接一直挂着新消息进不来。这个问题我当时排查了很久后面总结出几个有效动作定时重启微信插件进程写个 cron 任务每天凌晨重启一次微信插件容器强制清理残会话。简单粗暴但极其有效。减少主动发消息频率高频主动推送比被动回复更容易触发风控。隔离插件环境让微信插件跑在独立的 Docker 容器里和 OpenClaw 主服务隔离开插件崩了不影响主服务。我说的这三条是目前社区里公认比较有效的规避手段。但必须提醒你个人微信自动化本来就有风险别拿主力微信号去跑注册个专门的小号更稳妥。渠道接入后测试流程是给自己微信发一条消息看机器人会不会回复。如果没反应优先查两件事第一网关进程是否活着第二日志里有没有收到这条消息的记录。日志是最忠实的排查工具。4. 进阶玩法Skill安装、模型切换与日常维护4.1 Skill推荐与安装方法OpenClaw 的 Skill 系统是整个框架最值得玩的部分。简单说Skill 就是给模型“外挂”的专用工具函数。没有 Skill 的模型只能动嘴有了 Skill 的模型能动手。举几个我装了之后觉得特别实用的 Skill网页内容抓取 Skill让 OpenClaw 自己去打开一个网页、抽取正文、提炼摘要。我经常用它来每天定时汇总几个技术博客的更新。定时任务 Skill让它每天早上九点推送天气和待办事项。搜索增强 Skill模型在回答之前先去搜索引擎查一轮资料再结合资料作答答案的时效性会好很多。妙想 Skill这个社区里很火安装之后能让 OpenClaw 在创意生成、脑暴类的对话里表现更强。安装 Skill 的方式其实不复杂。有的 Skill 是纯配置文件放进 Skill 目录就能用有的 Skill 还带代码依赖需要额外 pip install 或者 npm install。建议装完一个 Skill 就先重启一次 OpenClaw 服务确保加载成功。Skill 装多之后要留意资源占用。我自己有段时间一口气装了 12 个 Skill结果内存占用直接飙到 6G后来精简到 6 个才恢复清爽。每个 Skill 本质上是跑在内存里的常驻进程装得越多占的资源越大别贪多。4.2 通过CCSwitch灵活切换模型用过一段时间 OpenClaw 的人基本都会遇到一个问题不同场景想用不同模型。简单问答用便宜快的模型复杂推理用聪明但昂贵的模型。OpenClaw 社区有一个工具叫 CCSwitch专门干这个事的。CCSwitch 的思路很直接它充当一个中间层你给 OpenClaw 配置一个固定的模型地址指向 CCSwitchCCSwitch 再根据你设定的规则把请求转发给不同的真实模型供应商。比如你可以设置普通对话 → DeepSeek 的便宜模型代码生成 → Claude 的 3.7 系列需要联网搜索的 → 硅基流动上的某个模型规则可以按消息来源、按关键词触发、按会话类型分。这相当于给机器人装了一个“自动换挡器”日常用起来体验会好很多。配置 CCSwitch 也就是改配置文件的事指定各个模型的 API Key 和 URL然后设置路由规则。装完之后记得在 OpenClaw 主配置里把模型地址改成 CCSwitch 暴露的地址不然规则不生效。4.3 OpenClaw版本升级与镜像更新升级这件事我说实话——别频繁升但也别长期不升。我的经验是跟着 main 分支走每两到三周升一次比较合适。太频繁容易踩到社区代码的临时 bug太久不升又会错过重要的修复。升级步骤其实就三步# 1. 备份当前配置和数据库 cp -r ~/openclaw ~/openclaw_backup_$(date %Y%m%d) # 2. 拉取最新代码 cd ~/openclaw git pull origin main # 3. 重启服务 bash scripts/restart.sh # 具体脚本名以你实际目录为准升级之后如果发现模型连不上优先检查配置文件的格式有没有变化。版本升级经常会改配置字段的命名老配置文件可能不再被识别。这时候不要慌看一下发行说明里的 Breaking Changes逐个字段对齐即可。另一个常见情况是升级后内存占用变高。这通常是因为新版本默认开启了一些新功能去配置文件里关掉不需要的即可。5. 常见问题排查与避坑速查表5.1 微信插件风控与会话残留专项排查这个知识点我在 3.3 节已经预告过了这里把排查询步骤完整展开。微信插件触发风控或出现会话残留时最典型的表现是机器人一段时间没回消息或者一直显示“正在输入”但就是发不出来。我的排查顺序是看宿主机资源free -h看内存是否满了。OpenClaw 微信插件都跑的话4G 内存非常容易爆内存一满整个服务都会无响应。看插件日志找到微信插件的日志文件搜risk、session、timeout等关键词。如果搜到风控相关的报错先停掉进程等一两个小时再启动让风控解除。重启大法如果日志里啥也没搜到别犹豫直接重启微信插件容器。这种方式虽然“不优雅”但对会话残留问题几乎百分百有效。规避的长期策略就是我之前说的三条定时重启、避免高频主动发送、用小号跑。这三条能做到能省掉 80% 的麻烦。5.2 容器内控制Chrome失败的处理另一个高频问题是你让 OpenClaw 通过浏览器 Skill 去访问网页时容器里的 Chrome 启动失败或者白屏。这个问题我自己研究过一阵跟宿主机环境有很大关系。Chrome 在容器里跑需要一些系统依赖比如字体库和渲染库。缺了这些Chrome 能启动但页面渲染出来是空白。解决方法是安装基础依赖sudo apt install -y fonts-liberation libnss3 libatk-bridge2.0-0 libxcomposite1 libxdamage1 libxrandr2 libgbm1 libasound2还有一类情况是 /dev/shm 太小。Chrome 渲染很吃共享内存默认 Docker 的 /dev/shm 只有 64MB网页稍微复杂一点就直接崩。解决方式是在 docker-compose.yml 里给容器加大 /dev/shm 限制shm_size: 1gb5.3 常见问题速查表我把部署和日常使用中最高频的问题整理成了一张表方便你遇到问题直接对号入座问题现象可能原因解决方案安装脚本拉取失败网络到 GitHub 不稳定配置代理或改用国内镜像仓库重试多次模型一直报鉴权失败API Key 填错或过期检查配置文件中的 Key确认没有多余空格机器人回复很慢模型 API 本身慢或带宽不足换更快的模型供应商升级带宽内存持续走高Skill 装太多或 Docker 日志膨胀精简 Skill配置 Docker 日志轮转定时任务不触发时区不对或 cron 服务未启动timedatectl set-timezone Asia/Shanghai检查 cron 服务状态端口被占用上一次服务未完全退出lsof -i:端口看占用进程kill 掉之后再重启日志文件过大默认不轮转日志配置 logrotate 或用 Docker 的 log rotation 参数5.4 备份与恢复习惯最后聊一个虽然不紧急但是异常重要的话题备份。OpenClaw 的核心数据是配置文件和会话记录这些数据丢了机器人的人设、调教成果就全没了。我的备份策略很简单写个脚本每天打包加密传到对象存储里面#!/bin/bash # 每天凌晨3点备份 OpenClaw 配置目录 tar -czf ~/backups/openclaw_$(date %Y%m%d).tar.gz -C ~/openclaw config data # 保留最近7天更早的自动删除 find ~/backups -name *.tar.gz -mtime 7 -exec rm {} \;然后用 crontab 挂上0 3 * * * /home/ubuntu/backup_openclaw.sh恢复就更简单了解压替换目录重启服务即可。这个习惯花不了几分钟但能让你在翻车的时候不用从头再来。结尾最后说点题外话。OpenClaw 这类 AI Agent 框架部署本身不是最难的部分真正需要花心思的是后续的调校让它在不同场景下选对模型、用好 Skill、不越界不抽风。我见过有人部署完就丢在角落吃灰也见过有人把它调教成真正的高效助手差别不在于技术而在于愿不愿意花时间打磨。我个人在实际跑下来的体会是先用最小配置跑到通再逐步加 Skill、加渠道每加一样东西就观察一两天确认稳定了再继续。这个节奏虽然慢但能帮你清楚地知道是哪个环节出了问题。这篇文章里写的每一步都是我亲手在华为云上跑过的。环境不同、版本不同细节上可能会有出入但只要排查思路对问题基本都能定位到。如果你在部署过程中遇到什么奇怪的问题欢迎交流讨论——AI Agent 这个东西玩的人越多玩法才越多。提示文中涉及的模型供应商、工具名称和具体版本号请以 OpenClaw 官方文档及对应服务商的最新信息为准。部署涉及云资源费用请合理评估预算。