OpenClaw (CloudBot) 国内完美运行指南:自定义API 代理与飞书协同部署

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. 飞书开放平台配置

  1. 登录 [飞书开放平台]https://open.feishu.cn,点击 创建企业应用
  2. 在左侧菜单 添加应用能力 中,按需添加 机器人
  3. 进入 凭证与基础信息 ,妥善保存你的 App IDApp Secret
  4. 进入 权限管理,申请开通必需的权限(如"接收消息"、"发送消息"、"获取群组信息"等)。
  5. 进入 版本管理与发布,创建并发布一个初始版本。

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. 飞书事件订阅 (长连接配置)

  1. 再次回到飞书开放平台,进入左侧的 事件与回调
  2. 事件订阅方式 切换为 长连接(WebSocket)
  3. 点击 添加事件 ,搜索并勾选 接收消息 (im.message.receive_v1)。
  4. 关键一步:再次前往"版本管理与发布"发布一个新版本,否则刚才的订阅配置不会生效。

4. 重启与终极联调

在终端执行 pm2 restart openclaw 重启服务。

打开手机上的飞书 APP,搜索你刚刚创建的机器人,对它发一句"你好"或者"帮我截个屏"。

(注:首次发送重度指令如"截屏"时,MacOS 可能会拦截,你需要回到 Mac 终端输入 cloudbot tui 并在交互界面中手动授予屏幕录制权限。)

只要机器人给予了正确回复,恭喜你,一整套从底层 API、网络反代、进程保活到多端协同的私人 AI 助理全链路,已经彻底打通!

相关推荐
一只理智恩1 小时前
WebGIS + 无人机 + AI:下一代智能巡检系统?
人工智能·无人机
ppppppatrick1 小时前
【深度学习基础篇05】从AlexNet到ResNet:经典卷积神经网络的演进
人工智能·深度学习·cnn
一只理智恩1 小时前
基于 CesiumJS + React + Go 实现三维无人机编队实时巡航可视化系统
前端·人工智能·算法·golang·无人机
DeepModel2 小时前
【回归算法】梯度提升回归(GBDT)超详细讲解
人工智能·数据挖掘·回归
星爷AG I2 小时前
12-10 社会分类(AGI基础理论)
人工智能·agi
LaughingZhu2 小时前
Product Hunt 每日热榜 | 2026-02-23
人工智能·经验分享·深度学习·神经网络·产品运营
Monday学长2 小时前
2026 学术写作 AI 工具测评:6 款主流工具深度对比
人工智能
qq_404418952 小时前
nlp基础概念
人工智能·自然语言处理
love530love2 小时前
Windows 多 Git 环境冲突:一个环境变量优先级引发的血案
人工智能·windows·git·环境变量·scoop