[AI实战]Ubuntu 下安装OpenClaw------从零搭建你的专属AI助理
前言
OpenClaw是一款功能强大的AI助理框架,支持自定义技能、多模型接入,并能通过聊天软件与你交互。本文将手把手带你在Ubuntu系统上完成OpenClaw的安装与配置,并实现外部安全访问。无论你是AI爱好者还是开发者,都能通过本文快速拥有一个属于自己的AI助理。
环境准备:
- 操作系统:Ubuntu 20.04 / 22.04 / 24.04(本文以24.04为例)
- 权限:需要使用root或拥有sudo权限的用户
- 网络:能够访问GitHub及npm源(建议使用国内镜像加速)
一、升级Node.js至v22+
OpenClaw要求Node.js版本≥22.0.0,低版本会导致npm安装失败。若系统已安装其他版本,请务必升级。
方法一:使用nvm(推荐,便于多版本管理)
1. 安装nvm
bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
安装完成后,重新加载环境变量:
bash
source ~/.bashrc # 若使用bash
# source ~/.zshrc # 若使用zsh
2. 安装Node.js v22并设为默认
bash
nvm install 22
nvm alias default 22
nvm use 22
3. 验证版本
bash
node -v # 应显示 v22.x.x
npm -v # 检查npm版本
方法二:使用NodeSource官方仓库(系统级安装)
如果你希望直接覆盖系统Node版本,可以使用以下命令(以Ubuntu/Debian为例):
bash
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt-get install -y nodejs
CentOS/RHEL用户请使用:
bash
curl -fsSL https://rpm.nodesource.com/setup_22.x | bash -
yum install -y nodejs
方法三:手动下载二进制包
从 Node.js官网 下载Linux二进制包,解压后配置PATH即可。
二、安装OpenClaw
1. 一键安装(官方推荐)
bash
curl -fsSL https://openclaw.ai/install.sh | bash
若网络不稳定,也可以直接使用npm全局安装(避免脚本问题):
bash
npm install -g openclaw@latest
2. 验证安装
bash
openclaw --version
出现版本号即表示安装成功。
3. 初始化配置
bash
openclaw onboard
此命令将引导你完成基础配置,包括:
- 选择AI模型(可跳过,后续添加)
- 配置聊天渠道(如Telegram、飞书等,可跳过)
- 安装基础技能(建议全选)
跳过模型配置: 若暂时没有API Key,可以选择跳过,后续随时补充。

选择Open the Web UI:

4. 修改配置文件以实现外部访问
OpenClaw默认只监听本地(127.0.0.1),如需从局域网其他设备访问Web控制台,需修改配置文件。
配置文件位于 ~/.openclaw/openclaw.json,编辑该文件:
bash
nano ~/.openclaw/openclaw.json
找到 gateway 部分,将 bind 的值改为 "lan"(监听所有网络接口),并确保端口为 18789。

修改后重启Gateway服务:
bash
openclaw gateway restart
5. 防火墙放行端口
根据你的防火墙工具,开放18789端口(注意:生产环境建议限制来源IP):
bash
# ufw
ufw allow 18789/tcp
# firewalld
firewall-cmd --add-port=18789/tcp --permanent && firewall-cmd --reload
# iptables
iptables -A INPUT -p tcp --dport 18789 -j ACCEPT
验证监听状态:
bash
ss -untlp | grep 18789
应显示类似 0.0.0.0:18789 的监听记录。

6. 安全访问:使用SSH隧道(推荐)
由于Web控制台基于HTTP且未配置HTTPS,直接暴露可能带来安全风险。最安全的方式是通过SSH隧道将远程端口映射到本地。
在宿主机(你的物理机)上执行:
bash
ssh -L 8888:localhost:18789 root@<虚拟机IP>

8888:本地监听端口,可自定义<虚拟机IP>:Ubuntu虚拟机的实际IP地址
保持此终端窗口打开,然后打开宿主机浏览器,访问 http://localhost:8888。此时相当于本地访问,完美满足浏览器的"安全上下文"要求,且所有流量均通过SSH加密。

优点 :无需修改OpenClaw配置、无需开放防火墙、流量加密。
缺点:每次访问需保持SSH连接。
三、常见问题与解决
Q1:安装时npm报错"node-domexception"等警告
这是正常现象,不影响使用,可忽略。
Q2:无法从外部访问Web控制台
- 检查
bind是否设置为"lan"或"0.0.0.0"(注意新版需用lan模式)。 - 确认防火墙已放行18789端口。
- 尝试使用SSH隧道方式。
Q3:浏览器报"origin not allowed"
在配置文件中添加 controlUi.allowedOrigins,例如:
json
"controlUi": {
"allowedOrigins": ["http://你的宿主机IP:18789"]
}
然后重启Gateway。
Q4:浏览器提示"需要安全上下文"
这是因为通过HTTP访问非本地地址。解决方案:
- 使用SSH隧道(推荐)
- 或配置HTTPS(如使用Tailscale Serve)
- 或在配置中设置
allowInsecureAuth: true(仅限测试环境)
四、进阶:配置模型与技能
1. 添加AI模型密钥
通过Web控制台或命令行添加:
bash
openclaw config set models.providers.openai.apiKey sk-xxxxxx
openclaw models set openai/gpt-4
2. 安装新技能
使用官方工具 clawhub:
bash
npm install -g clawhub
clawhub install tavily-search # 安装联网搜索技能
3. 使用本地模型
如果你有本地部署的模型(如Ollama、vLLM),可通过自定义模型提供商接入,参考[官方文档]( Model Providers - OpenClaw )。
五、总结
通过本文,你已经在Ubuntu上成功搭建了OpenClaw AI助理,并掌握了通过SSH隧道安全访问Web控制台的方法。OpenClaw的强大之处在于其可扩展性------你可以随时添加新技能、接入不同模型,甚至开发自己的插件。
友情提示:建议创建普通用户运行OpenClaw,避免使用root带来安全风险。
如果你在安装过程中遇到任何问题,欢迎在评论区留言交流!