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 助理全链路,已经彻底打通!

相关推荐
CoovallyAIHub12 小时前
开源一周 6300+ Star!Andrew Ng 发布 Context Hub,专治 AI Agent 调用过时 API
人工智能·架构·github
witAI13 小时前
**GLM5剧本拆解2025指南,解锁多模态创作新范式**
人工智能·python
badhope13 小时前
C语言二级考点全解析与真题精讲
c语言·开发语言·c++·人工智能·python·microsoft·职场和发展
爱吃的小肥羊13 小时前
Claude Code Skills 资源大盘点:导航站 + GitHub 精选仓库全整理
人工智能·ai编程
ai产品老杨13 小时前
终结协议孤岛:基于GB28181/RTSP融合网关的多品牌设备统一接入与边缘推流方案
人工智能·docker·架构·kubernetes·音视频
Dr_哈哈13 小时前
给 AI 装技能包:skills 生态科普
人工智能
沉沙丶13 小时前
模型预测控制专题(九)—— 进一步优化的方向
人工智能·电机控制·永磁同步电机·模型预测·预测控制·pmsm·无模型预测控制
lpfasd12313 小时前
2026年第11周GitHub趋势周报:AI智能体爆发,RAG与本地部署成新焦点
人工智能·github
欧阳天羲13 小时前
AI 时代前端工程师发展路线
前端·人工智能·状态模式
理性的曜13 小时前
AI语音通话系统设计思路:从语音输入到智能回复
人工智能·python·websocket·fastapi