1. 背景
目标是在 Jetson 上运行 OpenClaw,接入模型 API,并通过飞书群聊或私聊直接调用本地 Agent。 工作流:Feishu Group -> Feishu Bot -> OpenClaw Gateway (Jetson) -> Agent -> LLM API -> 返回飞书消息。
2. 环境信息
Jetson 环境
uname -a # Linux agx229-desktop 5.10.216-tegra ...
lsb_release -a # Ubuntu 20.04.6 LTS
nvcc --version # CUDA 11.4
当前平台为 Jetson ARM64、Ubuntu 20.04、CUDA 11.4。需注意 ARM64 + Ubuntu 20.04 上的依赖兼容性问题。
3. 安装 Node.js 与 pnpm
OpenClaw 是 Node.js 项目,建议使用 Node 20。
# 安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
source ~/.bashrc
# 配置镜像加速(可选)
nvm node_mirror https://npmmirror.com/mirrors/node/
nvm npm_mirror https://npmmirror.com/mirrors/npm/
# 安装并使用 Node.js 20
nvm install 20
nvm use 20
nvm alias default 20
# 配置 npm 镜像加速
npm config set registry https://registry.npmmirror.com
# 验证安装
node --version
npm --version
还需要安装 pnpm:
npm install -g pnpm
pnpm -v
4. 配置 pnpm 环境变量
将以下内容加入 ~/.bashrc:
export PNPM_HOME="/home/agx229/.local/share/pnpm"
case ":$PATH:" in
*":$PNPM_HOME:"*) ;;
*) export PATH="$PNPM_HOME:$PATH" ;;
esac
保存后执行 source ~/.bashrc 并验证 echo $PNPM_HOME 和 which pnpm。
5. 克隆 OpenClaw 源码
cd ~
git clone https://github.com/openclaw/openclaw.git
cd openclaw
6. 解决 Jetson 上 CMake 版本过低的问题
Jetson Ubuntu 20.04 自带 CMake 版本较低,需手动升级。 典型报错:CMake 3.19 or higher is required. You are running version 3.16.3 安装新版 CMake:
cd ~
wget https://github.com/Kitware/CMake/releases/download/v3.31.6/cmake-3.31.6-linux-aarch64.sh
chmod +x cmake-3.31.6-linux-aarch64.sh
sudo ./cmake-3.31.6-linux-aarch64.sh --skip-license --prefix=/usr/local
/usr/local/bin/cmake --version
若找不到新版本,临时加入 PATH:export PATH=/usr/local/bin:$PATH。
7. 安装依赖并编译 OpenClaw
cd ~/openclaw
pnpm install
pnpm build
如遇原生模块编译问题,检查 CMake 版本、build-essential 及 pnpm 是否在 PATH 中。
8. 配置模型 API
OpenClaw 通过 ~/.openclaw/openclaw.json 进行配置。
mkdir -p ~/.openclaw
nano ~/.openclaw/openclaw.json
参考阿里百炼控制台配置模型 API。
9. 配置 Gateway Token
OpenClaw 架构为 CLI/TUI/Logs -> Gateway -> Agent -> Model。CLI 是 Gateway 的客户端,涉及认证。 推荐配置 ~/.openclaw/openclaw.json:
{
"gateway": {
"mode": "local",
"auth": {
"mode": "token",
"token": "Yours Token"
},
"remote": {
"token": "Yours Token"
}
}
}
gateway.auth.token 与 gateway.remote.token 必须一致,否则会出现 unauthorized: gateway token mismatch。
10. 启动 Gateway 服务
openclaw gateway install
systemctl --user start openclaw-gateway.service
openclaw gateway status
正常状态显示 Runtime: running。修改配置后需重启:systemctl --user restart openclaw-gateway.service。
11. 验证 TUI 是否可用
openclaw tui
界面显示已连接即可与模型对话。
12. 配置飞书机器人
第一步:创建飞书应用
进入飞书开放平台创建企业自建应用。
第二步:启用机器人能力
在应用后台启用机器人。
第三步:配置权限
选择'开发配置 > 权限管理',批量导入权限。 包含 im:message.send_as_bot, im:message.group_at_msg:readonly 等必要权限。 申请开通权限。
第四步:发布应用
完成基础设置并发布应用版本。
第五步:配置 Feishu Channel
运行 openclaw channels add,选择 Feishu / Lark,输入 App ID 和 App Secret。
第六步:重启 Gateway
openclaw gateway restart
第七步:配置事件与回调
选择'使用长连接接收事件',添加事件 im.message.receive_v1。 配置回调地址。
第八步:发布应用版本
在'版本管理与发布'中创建版本并发布。
第九步:配置私聊飞书机器人
在飞书 APP 中找到开发者小助手,发送信息获取 Pairing code。 在 Jetson 终端输入:
openclaw pairing approve feishu NHMC7CRG
(替换实际代码)
13. 常见坑总结
- Jetson 上 CMake 版本过低导致编译失败。
- 没有配置 pnpm PATH 导致全局命令异常。
- 误以为需要单独安装 Feishu 插件(源码版已内置)。
- 没有配置 gateway.remote.token 导致 token mismatch。
- App ID / App Secret 使用了旧应用凭证。
- 飞书应用修改后未发布版本导致不生效。
14. 最终效果
完成配置后可实现:
- 在 Jetson 上运行 OpenClaw Gateway
- 接入自己的模型 API
- 在飞书群中 @机器人
- 机器人调用本地 Agent 并返回回复
15. 总结
在 Jetson 上部署 OpenClaw 并接入飞书机器人的过程,整体不算复杂,但需注意 ARM 平台的依赖编译、pnpm 环境变量及 Gateway token 机制等关键点。处理好这些后,OpenClaw + 飞书链路较为顺畅。


