1. 为什么我选择在阿里云轻量服务器上跑 OpenClaw
OpenClaw 是一个可以接入聊天平台、执行自动化任务的智能体框架,适合想用 QQ 机器人做定时推送、信息整理、对话助手的开发者。它本身不绑定特定云厂商,但社区近期围绕权限边界和执行安全的讨论不少,把实例放在自己可控的云服务器上,比随手找台机器裸跑要踏实得多。阿里云轻量应用服务器提供 OpenClaw 镜像,开机即带运行环境,省去手工装依赖的环节,对刚接触智能体部署的人比较友好。
这篇内容面向三类人:一是手里有阿里云学生认证、想低成本体验智能体的同学;二是需要把 OpenClaw 接到 QQ 群或私聊做自动化任务的开发者;三是已经装过但卡在 API 通道配置或 QQ 回调验证这一步的人。整条路径我会按“服务器初始化 → 运行环境确认 → API 通道配置 → QQ 端接入 → 连通性验证”走一遍,每一步都给出可复制的命令和配置骨架,你照着做就能跑通闭环。
需要提前说明的是,模型额度部分我用的是兼容 OpenAI 协议的通道,配置里填的是自定义 Base URL 和 API Key,这样切换模型时只改一个字段,不用动其他结构。下面从服务器准备开始。
2. 服务器初始化与 OpenClaw 运行环境准备
2.1 轻量应用服务器选型与镜像确认
在阿里云控制台搜索“轻量应用服务器”,进入购买页后重点看三个配置项:镜像选 OpenClaw 应用镜像,地域选离你近的(北京、杭州都行),套餐按需选 2 核 2G 起步。镜像版本建议选较新的稳定版,旧版本可能缺少部分 hooks 能力。
购买完成后进入实例详情页,先做两件事:一是在“防火墙”里确认 22 端口(SSH)和 OpenClaw 管理面板端口已放行;二是记录公网 IP,后面配置回调地址会用到。如果你用的是学生认证领取的代金券,购买时留意时长选项,6 个月通常能覆盖整个体验周期。
2.2 远程连接与基础环境检查
在实例页面点“远程连接”,选择一键登录进入终端。先确认系统版本和 OpenClaw 是否已预装:
cat /etc/os-release | head -n 3 which openclaw openclaw --version如果which openclaw没有输出,说明镜像里没带,需要手动装。正常情况应该能看到版本号。接着检查 Node 运行时,OpenClaw 依赖 Node 18 以上:
node -v npm -v版本低于 18 的话,用 nvm 升一下:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash source ~/.bashrc nvm install 20 nvm use 20环境确认完,再检查磁盘和内存余量,避免跑起来后 OOM:
free -h df -h /2G 内存的实例跑 OpenClaw 加一个 QQ 通道是够的,但如果同时开多个 skill 或定时任务,建议升到 4G。
2.3 目录结构与配置文件骨架
OpenClaw 的配置默认放在~/.openclaw/下,核心文件是config.json。先建好目录并初始化:
mkdir -p ~/.openclaw/logs cd ~/.openclaw touch config.json一个最小可用的配置骨架长这样,先占位,后面填真实值:
{ "gateway": { "host": "0.0.0.0", "port": 3000 }, "model": { "provider": "custom", "baseUrl": "", "apiKey": "", "modelId": "" }, "channels": { "qq": { "enabled": false, "appId": "", "appSecret": "" } } }这个结构把模型通道和 QQ 通道分开,改模型时只动model段,不会影响 QQ 配置。下面填 API 通道。
3. API 通道配置:Base URL、Key 与模型 ID
3.1 获取兼容 OpenAI 协议的接入信息
模型通道我用的是兼容 OpenAI 接口协议的方案,配置里只需要三样东西:Base URL、API Key、模型 ID。如果你手上已经有可用的通道,直接拿这三项填进上面的骨架即可。没有的话,可以到 TaoToken 的控制台创建一个 API Key,地址是 https://taotoken.net/api-keys ,创建时选好归属账号,复制出来的 Key 只显示一次,记得先存到本地。
Base URL 填兼容模式的地址,格式通常是https://xxx/v1。模型 ID 填你要用的具体模型 Code,比如MiniMax-M2.5这类。填之前确认该模型在你的账号下有可用额度,否则请求会直接返回 401 或 403。
3.2 写入配置文件并校验 JSON 格式
把三项信息填进config.json的model段:
"model": { "provider": "custom", "baseUrl": "https://your-base-url/v1", "apiKey": "sk-xxxxxxxxxxxxxxxx", "modelId": "MiniMax-M2.5" }改完用jq校验一下格式,避免少逗号导致启动失败:
jq . ~/.openclaw/config.json > /dev/null && echo "JSON OK"输出JSON OK就说明格式没问题。如果报错,按提示的行号回去补逗号或引号。
3.3 用 curl 先验证通道连通性
在启动 OpenClaw 之前,先用 curl 直接打一次模型接口,确认 Key 和 Base URL 是通的:
curl -s -X POST "https://your-base-url/v1/chat/completions" \ -H "Authorization: Bearer sk-xxxxxxxxxxxxxxxx" \ -H "Content-Type: application/json" \ -d '{ "model": "MiniMax-M2.5", "messages": [{"role": "user", "content": "ping"}], "max_tokens": 16 }'返回里带choices字段就说明通道正常。如果返回invalid_api_key,检查 Key 有没有复制完整;返回model_not_found,说明模型 ID 写错了或该模型没开通。这一步过了再往下走,能省掉很多排查时间。
4. 启动 OpenClaw 并完成 QQ 端接入
4.1 启动服务与 Dashboard 确认
配置就绪后启动 OpenClaw:
openclaw start或者用前台模式看日志:
openclaw start --foreground看到Dashboard ready字样说明服务起来了。默认面板地址是http://<公网IP>:3000,浏览器打开能进管理界面就对了。如果打不开,先查防火墙有没有放行 3000 端口,再确认gateway.host是不是0.0.0.0。
4.2 创建 QQ 机器人并回填凭证
在 OpenClaw 管理面板里找到 QQ 通道,点“前往开放平台”,用 QQ 扫码登录后创建机器人。创建完拿到两个值:AppID 和 AppSecret。回到面板对应位置粘贴,点“应用”。这一步的本质是把 QQ 开放平台的回调指向你的服务器,所以服务器公网 IP 必须可达。
回填后config.json的channels.qq段应该变成:
"channels": { "qq": { "enabled": true, "appId": "你的AppID", "appSecret": "你的AppSecret" } }改完重启服务让配置生效:
openclaw restart4.3 端到端连通性检查
重启后做三步验证。第一步看日志有没有 QQ 通道注册成功:
tail -n 50 ~/.openclaw/logs/*.log | grep -i qq第二步在 QQ 里给机器人发一条消息,比如“你好”,观察是否回复。第三步如果没回复,回到面板看通道状态是不是绿色。常见情况是 AppSecret 填错或回调地址没配,按面板提示逐项核对即可。
5. 本篇常见报错与排查
5.1 启动报 JSON 解析失败
现象是openclaw start直接退出,日志里出现Unexpected token。原因基本是config.json里多了或少了逗号。用jq . ~/.openclaw/config.json定位到具体行,改完再启动。建议每次手改配置后都跑一次 jq 校验。
5.2 模型请求返回 401 或 403
401 通常是 API Key 无效或过期,重新在控制台生成一个再填。403 多半是模型没开通或额度用尽,换一个有额度的模型 ID 再试。注意 Base URL 结尾不要多写/chat/completions,配置里只填到/v1这一层。
5.3 QQ 机器人不回复
先确认服务在跑:openclaw status。再看 QQ 通道是否 enabled。如果都正常但没回复,检查服务器安全组有没有放行 QQ 开放平台回调用的端口,以及 AppID/AppSecret 是否和开放平台里的一致。改完凭证一定要重启服务,热加载不一定生效。
5.4 内存不足导致进程被杀
2G 实例跑一段时间后如果服务自动停了,用dmesg | grep -i oom看是不是 OOM。是的话加 swap:
fallocate -l 2G /swapfile chmod 600 /swapfile mkswap /swapfile swapon /swapfile echo '/swapfile none swap sw 0 0' >> /etc/fstab加完再观察一段时间,稳定的话就不用升配。
6. 后续扩展与接入文档
跑通基础闭环后,可以接着做两件事:一是把模型通道换成长期方案,避免频繁切模型;二是给 OpenClaw 加定时任务,比如每天早上推送一份简报。定时任务用系统 crontab 调 OpenClaw 的 CLI 就行,提示词写在单独的文件里,方便改。
如果你在配置 API 通道时想先确认模型能不能正常对话,可以到 https://taotoken.net/chat 直接试一条消息,确认通道和模型 ID 都对得上,再回服务器填配置,能少走弯路。接入过程中遇到报错,对照 https://taotoken.net/doc 里的接口说明逐项核对参数,大部分问题都能定位到具体字段。长期跑编码类或 Agent 类任务的话,可以考虑 Coding Plan,额度模型和按量通道分开管理,切换时不用改代码。