小白也能玩转AI Agent:OpenClaw从0到1搭建记录

一、背景

为什么我要搭建OpenClaw多Agent系统

之前我的Wordpress博客放在阿里云香港服务器上,跑了好几年。但随着AI时代到来,我需要更强的AI能力来处理日常工作——写文章、管理日程、监控财经资讯等。

Wordpress太重了,占用资源多,所以我决定:

  • 服务器迁移:阿里云香港 → 韩国轻量云(节省资源)
  • 博客系统:WordPress → Hexo(完全静态,更轻量)
  • AI能力:自建OpenClaw多Agent系统

服务器搭建的过程可以参考我的另一篇文章:从Wordpress搬家到Hexo,下面重点讲OpenClaw。

二、OpenClaw本地验证

AI与人类

2.1 为什么先本地验证

OpenClaw官方建议先在本地(Windows/Mac)跑通所有功能,确认没问题了再部署到服务器。这样可以避免在服务器上反复调试,浪费云服务器资源。

2.2 本地安装步骤

安装Node.js

先去官网下载:https://nodejs.org/

建议选择LTS版本或当前最新版。

安装完成后验证:

1
2
node -v
npm -v

安装OpenClaw CLI

1
2
3
4
5
6
7
npm install -g openclaw@latest

# 验证安装
openclaw --version

# 查看安装目录
which openclaw

安装飞书插件

1
2
npx -y @larksuite/openclaw-lark install
npx -y @larksuite/openclaw-lark update

配置飞书应用

  1. 去【飞书开放平台】创建应用(我创建了5个:Max、Atlas、Iris、Luna、Grey)
  2. 获取AppID和AppSecret
  3. 配置机器人能力
1
2
3
4
5
6
# 配置飞书连接
openclaw config set channels.feishu.appId "cli_你的AppID"
openclaw config set channels.feishu.appSecret "你的AppSecret"

# 设置不需要@也能回复
openclaw config set channels.feishu.requireMention false --json

启动验证

1
openclaw gateway

在飞书给机器人发消息,如果能正常回复,说明本地验证成功。


三、服务器端部署

3.1 服务器环境

阿里云韩国轻量云服务器,2核2G内存。系统装的是Debian,SSH连接上去开始操作。

3.2 开启Swap虚拟内存

这步很重要! OpenClaw比较吃内存,必须确保有足够的虚拟内存。

1
2
3
4
5
6
7
8
9
# 创建4G Swap文件
sudo -i
dd if=/dev/zero of=/swapfile bs=1M count=4096
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

# 永久生效
echo '/swapfile swap swap defaults 0 0' >> /etc/fstab

3.3 安装NVM和Node.js

1
2
3
4
5
6
7
8
9
10
11
# 安装NVM
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc

# 安装Node.js 22.x
nvm install 22
nvm use 22
nvm alias default 22

# 验证
node -v && npm -v

3.4 安装PM2进程守护

PM2可以让OpenClaw在后台持续运行,不受SSH断开影响。

1
npm install -g pm2

3.5 部署OpenClaw

把本地验证好的配置同步到服务器。先创建必要的目录:

1
2
3
4
5
6
7
8
mkdir -p /root/.openclaw
mkdir -p /root/.openclaw/skills
mkdir -p /root/.openclaw/data
mkdir -p /root/workspace/Max
mkdir -p /root/workspace/Atlas
mkdir -p /root/workspace/Iris

chmod -R 775 /root/.openclaw /root/workspace

把你本地的配置文件通过scp或rsync上传到服务器对应目录,然后在服务器执行:

1
2
3
4
5
6
7
8
9
10
cd /root/.openclaw

# 强制同步技能依赖(这步最关键!)
openclaw skills sync

# 启动
pm2 start $(which openclaw) --name "openclaw" -- gateway

# 开机自启
pm2 startup && pm2 save

3.6 常用命令

1
2
3
4
5
pm2 status                    # 查看状态
pm2 logs openclaw # 查看日志
pm2 restart openclaw # 重启
pm2 stop openclaw # 停止
pm2 monit openclaw # 实时监控

四、飞书多应用配置

机器人与AI

4.1 创建多个应用

我创建了5个飞书应用:

  • Max:主管/秘书,协调所有Agent
  • Atlas:执行官,负责代码和数据落地
  • Iris:分析官,负责资料检索和分析
  • Luna:审查官,负责代码审查和安全
  • Grey:投资顾问,辅助文字和资料管理

每个应用是独立的,都有自己的AppID和AppSecret。

4.2 ⚠️核心教训:open_id跨应用是独立的

这是踩过的最大的坑。

一开始我以为同一个用户在飞书不同应用下的open_id是一样的,结果Atlas和Grey发送图片时全部失败,报错open_id cross app

原因:每个飞书应用对应独立的open_id体系。A给B发消息,必须用B应用下的open_id,而不是A应用下的。

正确做法:open_id要从该Agent收到的消息senderOpenId字段获取。


五、踩过的坑

5.1 bailian免费额度用完就彻底挂了

Grey用的qwen3-coder-next是百炼免费模型,有额度限制。当免费额度用完后,fallback机制会尝试其他模型,但如果所有bailian模型都报403,fallback也无法解决。

教训:免费额度只能应急,长期使用还是要充值或关闭”free tier only”模式。

5.2 sessions_send回复路由不稳定

Agent之间用sessions_send发送消息时,单向发送很稳定,但回复有时候会超时。

解决方案:使用fire-and-forget模式(timeoutSeconds=0),不等待回复。

5.3 项目文件夹结构要提前规划好

我是把项目文档放在 /workspace/Max/projects/,实际代码放在各自文件夹。如果搞混了,查找起来就很麻烦。

建议

  • projects/ 存项目文档
  • 各项目自己的文件夹存实际代码
  • 服务器网站在 /var/www/

5.4 Skills冗余要定期清理

一开始装了重复的Skills,比如tavily-search和tavily功能完全一样,浪费资源。

建议:定期检查并删除冗余Skills。


六、安全配置

6.1 最小特权原则

配置机器人时遵循”最小特权原则”:

  • 发送邮件前必须先草拟并征得我同意
  • 删除文件前必须询问

6.2 成本熔断

设置任务失败3次自动停止,单次运行不超过10分钟,避免API额度被耗尽。

6.3 Memory精简原则

Memory.md等文件记录要简化,言简意赅记录重点,避免繁琐的客套话。


七、总结

从WordPress迁移到Hexo,再到现在用OpenClaw多Agent系统,折腾了不少。但现在我的AI管家终于稳定跑起来了,每天自动给我发送财经资讯、帮我管理日程、处理各种杂事。

如果你也想搭建自己的AI Agent系统,建议:

  1. 本地先验证:确认功能正常再上服务器
  2. 做好备份:配置文件、Skills都要备份
  3. 记录踩坑:遇到问题及时记录,避免重复踩坑

未完待续…