OpenClaw(原名Moltbot/ClawdBot)近期在开发者社区引发了广泛关注。作为一款主打“Local-First”(本地优先)的开源Agent框架,它以卓越的自主执行能力和插件扩展性,成为连接大模型与现实业务流的强力胶水。
对于许多希望尝鲜的开发者而言,直接在本地设备安装可能面临环境污染、权限管理复杂等问题,而购买云服务器又是一笔额外的开销。本文将介绍一种完全免费、安全且无需公网IP的部署方案:利用GitHub Codespaces构建临时沙箱,结合飞书(Lark)的长连接模式,在15分钟内跑通一套属于自己的AI智能体。

核心概念解析
GitHub Codespaces:云端的标准化开发机
GitHub Codespaces 是基于Docker容器技术的云端开发环境。它为开发者提供了一个预装了Linux(Ubuntu)、VS Code Server和常用运行时的标准容器。
- 优势:无需配置本地环境,浏览器即开即用;环境隔离,不污染本地系统。
- 特性:免费用户拥有每月60小时的免费额度(足够测试使用)。需注意,Codespaces具有临时性,空闲约30分钟(默认)至4小时会自动休眠,适合开发调试而非生产环境托管。

OpenClaw Gateway:智能体的控制中枢
OpenClaw采用Gateway-Node架构。Gateway作为控制平面,负责管理会话、鉴权、通道(Channels)连接以及任务分发。在本次部署中,Gateway将运行在Codespaces容器内,通过WebSocket协议主动向飞书服务器建立长连接,从而避开了传统WebHook模式对公网固定IP的依赖。
准备工作
在开始之前,请确保拥有以下清单:
- GitHub账号:用于创建Codespaces实例。
- 飞书/Lark账号:拥有创建企业自建应用(Custom App)的权限。
- 基础终端操作能力:能够理解并执行Linux Shell命令。
第一阶段:构建云端运行环境
1. 创建Codespaces实例
访问GitHub Codespaces主页,点击左侧导航栏的 “New codespace” 或选择 “Blank” 模板,初始化一个纯净的Linux环境。

选择 “Blank” 模板后,系统将自动拉取镜像并启动容器。

等待加载完成后,界面下方会出现终端控制台(Terminal)。后续所有交互都将在此完成。
2. 安装OpenClaw核心组件
在终端中执行官方提供的一键安装脚本。该脚本会自动检测系统架构(x86_64/ARM),下载对应版本的二进制文件并配置环境变量。

curl -fsSL https://openclaw.ai/install.sh | bash
安装脚本执行完毕后,会自动进入 Onboarding(初始化向导) 流程。
3. 初始化配置与模型选择
在初始化向导中,建议选择 “QuickStart” 模式。
系统会要求配置默认的LLM(大语言模型)提供商。OpenClaw支持OpenAI、Anthropic等多种主流厂商。
- 模型建议:演示中使用Qwen(通义千问),通常提供一定的免费调用额度(如每天2000 token),适合测试使用。
- 鉴权流程:由于Codespaces运行在云端容器中,无法直接唤起本地浏览器。终端会生成一个鉴权URL,用户需手动复制该链接到本地浏览器打开,完成登录授权后,OpenClaw即可获取API Key。

后续配置保持默认即可(一路回车),参考下图选项:

当终端显示 Onboarding complete 时,按 Ctrl + C 退出当前向导进程。此时OpenClaw已安装完成,但服务尚未启动。
4. 完善Shell环境(可选)
为了获得更好的命令行补全体验,建议根据当前使用的Shell安装补全脚本:
# 如果使用 bash (Codespaces默认)
openclaw completion --install --shell bash
# 如果使用 zsh
openclaw completion --install --shell zsh
第二阶段:启动网关与服务守护
Codespaces本身不具备Systemd等后台守护进程管理工具,因此需要手动启动OpenClaw Gateway。
1. 启动Gateway
Gateway是OpenClaw的大脑。为避免关闭终端标签页导致服务中断,推荐使用 nohup 命令将其在后台运行,并将日志重定向输出。
# 后台启动命令,端口指定为18789
nohup openclaw gateway --port 18789 --verbose > ~/openclaw.log 2>&1 &
如果不习惯后台运行,也可以直接执行 openclaw gateway --port 18789 --verbose,但需保持该终端窗口始终开启,并在新标签页中执行后续命令。
2. 验证服务状态
执行以下命令,确认Gateway已正常运行且各模块状态健康:
# 查看网关基础状态
openclaw gateway status
# 深度检查所有组件状态
openclaw status --deep
第三阶段:飞书开放平台集成
OpenClaw最新版已内置飞书适配器,无需安装第三方插件。接下来的关键在于飞书开放平台的配置。
1. 创建企业自建应用
登录 飞书开放平台,点击 “创建应用” -> “企业自建应用”。

创建成功后,在 “凭证与基础信息” 页面获取以下关键凭证:
- App ID (
cli_...开头) - App Secret

回到Codespaces终端,配置OpenClaw的飞书通道参数:

# 启用飞书通道
openclaw config set channels.feishu.enabled true
# 设置App ID (请替换为实际值)
openclaw config set channels.feishu.appId "cli_a1b2c3d4e5"
# 设置App Secret (请替换为实际值)
openclaw config set channels.feishu.appSecret "your_app_secret_here"
2. 权限配置(Permissions)
在飞书开放平台的 “开发配置” -> “权限管理” 中,搜索并开通以下权限,确保机器人能读写消息:

im:message(获取与发送单聊、群组消息)im:message.p2p_msg:readonly(读取用户发给机器人的单聊消息)im:message.group_at_msg:readonly(读取群聊中@机器人的消息)im:message:send_as_bot(以应用身份发送消息)im:resource(获取与上传图片、文件资源)
注意:开通权限后,需点击页面上方的 “创建版本” 并 “发布”,权限变更才能生效。
3. 事件订阅(Event Subscriptions)
这是实现无公网IP连接的关键步骤。
在 “事件与回调” 页面:
- 配置方式选择:长连接(WebSocket)。这种方式由Agent主动向飞书服务器建立连接,无需穿透防火墙。
- 添加事件监听,订阅以下事件:

im.message.receive_v1(接收消息 v1版)im.message.message_read_v1(消息已读通知)im.chat.member.bot.added_v1(机器人进群通知)im.chat.member.bot.deleted_v1(机器人被移出群通知)
配置完成后,再次前往 “版本管理与发布” 页面,发布最新版本应用。

第四阶段:安全配对与实战测试
为防止未授权用户滥用Agent资源,OpenClaw引入了 Pairing(配对) 机制。
1. 触发配对请求
在飞书客户端中找到刚刚创建的机器人,向其发送任意消息(例如 “Hello”)。
此时机器人不会回复内容,而是会收到一条系统提示(或在日志中显示),告知当前处于 Pairing Mode,并给出一个配对验证码。

2. 批准配对
回到Codespaces终端,使用以下命令批准该用户的连接请求(假设验证码为 ABCD1234):
openclaw pairing approve feishu ABCD1234
批准完成后,OpenClaw会立即处理刚才发送的消息并进行回复。

3. 设置白名单(生产环境建议)
如果需要在企业内部长期使用,频繁配对并不方便。可以通过设置白名单策略,允许特定Open ID的用户直接交互。
# 将策略改为白名单模式
openclaw config set channels.feishu.dmPolicy "allowlist"
# 添加允许的用户OpenID (JSON格式数组)
openclaw config set channels.feishu.allowFrom '["ou_xxxxxxxxxxxx"]'
注:修改配置后,建议重启Gateway进程以确保生效。
总结
通过上述步骤,开发者成功在GitHub Codespaces的零成本环境中,搭建了一套具备完整交互能力的OpenClaw Agent。这套方案利用了容器化技术的便捷性和WebSocket的反向连接特性,完美规避了复杂的网络穿透问题。尽管Codespaces适合作为MVP(最小可行性产品)的验证平台,但掌握了这一流程后,您可以轻松将其迁移至任何支持Docker的长期运行环境(如EC2、群晖NAS或本地树莓派),正式开启AI编排者的进阶之路。

































