OpenClaw(原名 CloudBot)是一款极其强大的开源本地 AI 助理。由于它需要频繁执行截屏、读取本地文件、控制浏览器等重度依赖系统环境的操作,这里强烈建议大家直接在 Mac Mini 或 Linux 宿主机上进行"裸机部署",而不是套上 Docker 的枷锁,这样能最大程度释放它的系统控制潜能。
本教程不讲废话,直接带你啃下三大核心进阶模块:无缝接入自定义聚合 API 、使用 PM2 实现 7x24 小时后台常驻 ,以及接入飞书打造全天候随身助理。跟着步骤走,你的桌面将进化为一个极其聪明的自动化工作站。

一、 核心配置:无缝接入自定义聚合 API 节点
默认向导通常会连接官方的 OpenAI 接口。但在实际开发中,为了兼顾网络稳定性和成本,我们往往需要将流量安全、无缝地代理到自己的 API 聚合平台上。推荐使用 .env 文件配合启动脚本的方式,不仅优雅,而且日后维护或切换备用节点极其方便。

1. 编写 .env 配置文件
在你的 OpenClaw 运行目录(例如 ~/openclaw-bot)下,新建一个 .env 文件:
txt
# 填入你聚合平台的 API Key
OPENAI_API_KEY=sk-你的聚合平台密钥
# 填入反向代理节点地址,请确保以 /v1 结尾。
# 若主节点波动,可随时切换为备用节点(例如 https://sg.uiuiapi.com/v1)
OPENAI_BASE_URL=https://api1.uiuiapi.com/v1
# 指定默认调用的主力模型
OPENAI_MODEL=gpt-4o
2. 编写服务启动脚本
为了让配置在启动时自动生效,我们在同级目录下新建一个启动脚本 start_cloudbot.sh:
bash
#!/bin/bash
echo "正在加载环境变量..."
if [ -f .env ]; then
# 读取 .env 文件并导出为环境变量
export $(grep -v '^#' .env | xargs)
echo "配置加载成功,当前请求节点为: $OPENAI_BASE_URL"
else
echo "警告:未找到 .env 文件,请检查路径!"
fi
echo "正在启动 OpenClaw..."
cloudbot gateway
别忘了赋予脚本可执行权限:
bash
chmod +x start_cloudbot.sh
3. 进阶避坑:Nginx 反向代理"防断流"极致优化
这里分享一个极易踩坑的细节:在调用大模型(如 Claude-3-Opus 或 GPT-4o)进行长文本生成或写代码时,通常需要耗费几十秒甚至几分钟。

如果你的聚合 API 是通过 Nginx 反向代理出去的,使用默认的 Nginx 配置会极易因为超时(Timeout)或缓冲(Buffering)问题断开长连接。结果就是:OpenClaw 端接收到不完整的回复,或者直接原地报错 504 Gateway Timeout。
为了完美支持流式输出(SSE / Streaming)并彻底解决断流问题,请将以下优化配置整合到你的 Nginx server 块中:
nginx
server {
listen 443 ssl http2;
server_name api1.uiuiapi.com sg.uiuiapi.com; # 你的聚合 API 域名
# ... 这里是你的 SSL 证书配置 ...
location / {
proxy_pass http://127.0.0.1:3000; # 假设你的后端服务跑在本地 3000 端口
# ==========================================
# 核心一:关闭代理缓冲,确保流式输出 (SSE) 呈现顺滑的打字机效果
# ==========================================
proxy_buffering off;
proxy_cache off;
# ==========================================
# 核心二:大幅延长超时时间,防止长文本生成时 504 超时
# ==========================================
proxy_connect_timeout 300s;
proxy_send_timeout 300s;
proxy_read_timeout 300s; # 最关键项:给足 AI 思考和生成的时间
# ==========================================
# 核心三:HTTP/1.1 与长连接支持 (WebSocket / SSE 必备)
# ==========================================
proxy_http_version 1.1;
proxy_set_header Connection "keep-alive";
proxy_set_header Keep-Alive "timeout=300"; # 保持连接不被网关主动掐断
# ==========================================
# 核心四:透传真实请求头,防止 Invalid URL Prefix 等路由错误
# ==========================================
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
原理解析:
proxy_buffering off;:AI 模型的流式输出是一段一段发给浏览器的。如果 Nginx 开启了缓冲,它会"自作主张"地等后端攒够一定大小的字数才发给 OpenClaw,这不仅破坏了实时打字的体验,严重时还会导致连接卡死。关闭它,消息就能毫无阻力地透传。- **超时设为
300s**:将读取超时时间从默认的 60 秒延长到 5 分钟,足以覆盖绝大多数生成上千行代码的极端场景。
生效配置: 修改后先执行 nginx -t 测试语法,无误后再执行 nginx -s reload 平滑重载。这套网络层组合拳打完,你的 API 响应在稳定性和速度上就基本无懈可击了。
二、 进阶保活:使用 PM2 实现 7x24 小时常驻后台
配置好网络后,为了防止意外关闭终端窗口导致 AI 助理"失联",我们需要引入 Node.js 生态中最老牌、最稳妥的进程管理器 PM2。
1. 全局安装 PM2
打开终端,执行以下命令:
bash
npm install -g pm2
2. 启动并托管服务
在刚才的脚本目录下,使用 PM2 拉起服务,并给它起个好记的名字:
bash
pm2 start ./start_cloudbot.sh --name "openclaw"
此时服务已进入后台静默运行。你可以随时敲入 pm2 logs openclaw 查看实时运行日志。
3. 配置开机自启
为了应对宿主机意外断电或重启,我们需要将其注入开机自启项:
bash
# 生成自启脚本(执行后,需将终端输出的那段带有 sudo 的命令复制并再执行一次)
pm2 startup
# 保存当前的 PM2 运行列表
pm2 save
三、 多端协同:接入飞书打造随身企业助理
这是整个工作流中最惊艳的一步。将 OpenClaw 接入飞书后,你就可以在通勤路上用手机随时下发任务,让家里的电脑帮你跑代码、查资料,并直接把结果回传到你的飞书聊天框里。

1. 飞书开放平台配置
- 登录 [飞书开放平台]
https://open.feishu.cn,点击 创建企业应用。 - 在左侧菜单 添加应用能力 中,按需添加 机器人。
- 进入 凭证与基础信息 ,妥善保存你的
App ID和App Secret。 - 进入 权限管理,申请开通必需的权限(如"接收消息"、"发送消息"、"获取群组信息"等)。
- 进入 版本管理与发布,创建并发布一个初始版本。
2. OpenClaw 本地对接配置
回到你的终端(PM2 进程在后台跑着不用管),依次执行:
bash
# 1. 安装飞书官方插件
cloudbot plugin install @openclaw/feishu
# 2. 填入你的凭证信息
cloudbot config set feishu.appId "你的飞书App_ID"
cloudbot config set feishu.appSecret "你的飞书App_Secret"
# 3. 开启 WebSocket 模式(国内免内网穿透的神级方案)
cloudbot config set feishu.connectionType "websocket"
3. 飞书事件订阅 (长连接配置)
- 再次回到飞书开放平台,进入左侧的 事件与回调。
- 将 事件订阅方式 切换为 长连接(WebSocket)。
- 点击 添加事件 ,搜索并勾选 接收消息 (
im.message.receive_v1)。 - 关键一步:再次前往"版本管理与发布"发布一个新版本,否则刚才的订阅配置不会生效。
4. 重启与终极联调
在终端执行 pm2 restart openclaw 重启服务。
打开手机上的飞书 APP,搜索你刚刚创建的机器人,对它发一句"你好"或者"帮我截个屏"。
(注:首次发送重度指令如"截屏"时,MacOS 可能会拦截,你需要回到 Mac 终端输入 cloudbot tui 并在交互界面中手动授予屏幕录制权限。)
只要机器人给予了正确回复,恭喜你,一整套从底层 API、网络反代、进程保活到多端协同的私人 AI 助理全链路,已经彻底打通!