OpenClaw(原名 CloudBot)是一款强大的开源本地 AI 助理。由于它需要频繁执行截屏、读取本地文件、控制浏览器等重度依赖系统环境的操作,强烈建议直接在 Mac Mini 或 Linux 宿主机上进行裸机部署,而不是使用 Docker。

本教程将带你完成三大核心进阶模块:无缝接入自定义聚合 API、使用 PM2 实现 7x24 小时后台保活,以及接入飞书打造全天候随身助理。
默认向导会连接官方的 OpenAI 接口。为了使用我们自己的 API 聚合平台,我们可以通过环境变量将流量安全、无缝地代理到自定义节点上。推荐使用 .env 文件配合启动脚本的方式,方便后续维护与节点切换。

.env 配置文件在你的 OpenClaw 运行目录(例如 ~/openclaw-bot)下,新建一个 .env 文件:
# 填入你聚合平台的 API Key
OPENAI_API_KEY=sk-你的聚合平台密钥
# 填入反向代理节点地址,请确保以 /v1 结尾。
# 若主节点波动,可随时切换为备用节点(例如 https://sg.uiuiapi.com/v1)
OPENAI_BASE_URL=https://api1.uiuiapi.com/v1
# 指定默认调用的主力模型
OPENAI_MODEL=gpt-5.2(注:请确保你的 Nginx 反向代理配置中,针对这类长连接开启了足够的超时时间设置,以免长文本生成时出现断流。)
这是一份专门针对 uiuiAPI AI 聚合平台的 Nginx 反向代理优化配置。
在调用像 Claude-3-Opus 或 GPT-4o 这样的大模型进行长文本生成或写代码时,通常需要花费几十秒甚至几分钟的时间。如果 Nginx 采用默认配置,很容易在等待中途因为超时(Timeout)或缓冲(Buffering)问题断开连接,导致 OpenClaw 端接收到不完整的回复或直接报错 504 Gateway Timeout。
为了完美支持流式输出(Streaming / SSE)并防止长连接断流,你可以将以下配置整合到你的 Nginx server 块中:

打开你的 Nginx 配置文件(通常在 /etc/nginx/nginx.conf 或 /etc/nginx/sites-available/ 下的具体域名配置中),找到对应的 location 块并进行如下优化:
server {
listen 443 ssl http2;
server_name api1.uiuiapi.com sg.uiuiapi.com; # 你的聚合 API 域名
# ... 这里是你的 SSL 证书配置 ...
location / {
# 假设你的后端服务跑在本地 3000 端口
proxy_pass http://127.0.0.1:3000;
# ==========================================
# 1. 核心:关闭代理缓冲,确保流式输出 (SSE) 实时打字机效果
# ==========================================
proxy_buffering off;
proxy_cache off;
# ==========================================
# 2. 核心:大幅延长超时时间,防止长文本生成时 504 超时
# ==========================================
# 与后端建立连接的超时时间
proxy_connect_timeout 300s;
# 向后端发送请求的超时时间
proxy_send_timeout 300s;
# 从后端读取响应的超时时间 (最关键,AI 思考时间长就靠它)
proxy_read_timeout 300s;
# ==========================================
# 3. HTTP/1.1 与长连接支持 (WebSocket / SSE 必备)
# ==========================================
proxy_http_version 1.1;
proxy_set_header Connection "keep-alive";
# 保持连接不被网关主动掐断
proxy_set_header Keep-Alive "timeout=300";
# ==========================================
# 4. 传递真实 IP 与标准 Header,防止 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;
# 如果你之前遇到过严格的跨域限制,可以加上 CORS 头 (按需开启)
# add_header 'Access-Control-Allow-Origin' '*';
# add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
# add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
}
}proxy_buffering off;:这是最关键的一行。AI 模型的流式输出(SSE)是一段一段发给浏览器的。如果 Nginx 开启了缓冲,它会等后端把所有字都生成完、攒够了一定大小才发给 OpenClaw,这就破坏了 AI 实时打字的体验,甚至会导致连接卡死。关闭它后,消息就能毫无阻力地透传。proxy_read_timeout 300s;:将读取超时时间从默认的 60 秒延长到了 300 秒(5 分钟)。对于动辄生成上千行代码的复杂指令,5 分钟能够有效覆盖绝大多数极端生成场景。proxy_set_header Host $host;:明确传递 Host,可以有效避免后端 API 平台因无法识别请求来源而抛出类似 invalid URL prefix 的路由错误。生效配置:
修改完成后,先执行 nginx -t 测试配置是否有语法错误。如果显示 syntax is ok 和 test is successful,再执行 nginx -s reload 平滑重载配置即可。
把这段 Nginx 配置加上之后,结合前面部署的 OpenClaw 和 PM2 常驻,你的这套本地 AI 助理工作流在稳定性和响应速度上就彻底无懈可击了。接下来,你想探索一下如何在 OpenClaw 中配置其他的效率插件(比如 GitHub 连通)吗?
在同级目录下新建启动脚本 start_cloudbot.sh,用于自动加载配置并拉起服务:
#!/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赋予脚本可执行权限:
chmod +x start_cloudbot.sh为了防止关闭终端窗口导致 AI 助理“失联”,我们需要使用 Node.js 生态中最成熟的进程管理器 PM2 来托管这个启动脚本。
打开终端,执行以下命令安装:
npm install -g pm2在脚本所在的目录下,使用 PM2 启动并为其命名为 openclaw:
pm2 start ./start_cloudbot.sh --name "openclaw"此时服务已进入后台静默运行。你可以使用 pm2 logs openclaw 实时查看运行日志,排查网络连通性。
如果宿主机意外断电重启,我们需要让服务自动拉起:
# 1. 生成自启脚本(执行后需复制终端输出的 sudo 命令并再次执行)
pm2 startup
# 2. 保存当前运行列表,写入自启项
pm2 save将 OpenClaw 接入飞书,你可以随时随地通过手机下发任务,让家里的电脑自动跑代码、查资料并回传结果。

https://open.feishu.cn,点击 创建企业应用。App ID 和 App Secret。在终端中(无需停止 PM2 进程),依次执行以下配置命令:
# 1. 安装飞书官方插件
cloudbot plugin install @openclaw/feishu
# 2. 填入刚才获取的飞书 App ID
cloudbot config set feishu.appId "你的飞书App_ID"
# 3. 填入刚才获取的飞书 App Secret
cloudbot config set feishu.appSecret "你的飞书App_Secret"
# 4. 强制使用 WebSocket 长连接模式(国内免内网穿透最佳方案)
cloudbot config set feishu.connectionType "websocket"im.message.receive_v1)。执行 pm2 restart openclaw 重启服务。
打开手机飞书 APP,搜索你创建的机器人名字,发送一句“你好”。如果机器人回复,说明全链路已彻底打通!
(首次发送“截屏”指令时,可能需要回到 Mac 终端输入 cloudbot tui 并在交互界面中手动授权一次。)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。