[AI实战]Ubuntu 下安装OpenClaw——从零搭建你的专属AI助理

[AI实战]Ubuntu 下安装OpenClaw——从零搭建你的专属AI助理

[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

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh |bash

安装完成后,重新加载环境变量:

source ~/.bashrc # 若使用bash# source ~/.zshrc # 若使用zsh

2. 安装Node.js v22并设为默认

nvm install22 nvm alias default 22 nvm use 22

3. 验证版本

node-v# 应显示 v22.x.xnpm-v# 检查npm版本

方法二:使用NodeSource官方仓库(系统级安装)

如果你希望直接覆盖系统Node版本,可以使用以下命令(以Ubuntu/Debian为例):

curl-fsSL https://deb.nodesource.com/setup_22.x |bash - apt-getinstall-y nodejs 

CentOS/RHEL用户请使用:

curl-fsSL https://rpm.nodesource.com/setup_22.x |bash - yum install-y nodejs 

方法三:手动下载二进制包

Node.js官网 下载Linux二进制包,解压后配置PATH即可。

二、安装OpenClaw

1. 一键安装(官方推荐)

curl-fsSL https://openclaw.ai/install.sh |bash

若网络不稳定,也可以直接使用npm全局安装(避免脚本问题):

npminstall-g openclaw@latest 

2. 验证安装

openclaw --version

出现版本号即表示安装成功。

3. 初始化配置

openclaw onboard 

此命令将引导你完成基础配置,包括:

  • 选择AI模型(可跳过,后续添加)
  • 配置聊天渠道(如Telegram、飞书等,可跳过)
  • 安装基础技能(建议全选)

跳过模型配置: 若暂时没有API Key,可以选择跳过,后续随时补充。

在这里插入图片描述


选择Open the Web UI:

在这里插入图片描述

4. 修改配置文件以实现外部访问

OpenClaw默认只监听本地(127.0.0.1),如需从局域网其他设备访问Web控制台,需修改配置文件。

配置文件位于 ~/.openclaw/openclaw.json,编辑该文件:

nano ~/.openclaw/openclaw.json 

找到 gateway 部分,将 bind 的值改为 "lan"(监听所有网络接口),并确保端口为 18789

在这里插入图片描述

修改后重启Gateway服务:

openclaw gateway restart 

5. 防火墙放行端口

根据你的防火墙工具,开放18789端口(注意:生产环境建议限制来源IP):

# ufw ufw allow 18789/tcp # firewalld firewall-cmd --add-port=18789/tcp --permanent&& firewall-cmd --reload# iptables iptables -A INPUT -p tcp --dport18789-j ACCEPT 

验证监听状态:

ss -untlp|grep18789

应显示类似 0.0.0.0:18789 的监听记录。

在这里插入图片描述

6. 安全访问:使用SSH隧道(推荐)

由于Web控制台基于HTTP且未配置HTTPS,直接暴露可能带来安全风险。最安全的方式是通过SSH隧道将远程端口映射到本地。

在宿主机(你的物理机)上执行:

ssh-L8888: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,例如:

"controlUi":{"allowedOrigins":["http://你的宿主机IP:18789"]}

然后重启Gateway。

Q4:浏览器提示“需要安全上下文”

这是因为通过HTTP访问非本地地址。解决方案:

  • 使用SSH隧道(推荐)
  • 或配置HTTPS(如使用Tailscale Serve)
  • 或在配置中设置 allowInsecureAuth: true(仅限测试环境)

四、进阶:配置模型与技能

1. 添加AI模型密钥

通过Web控制台或命令行添加:

openclaw config set models.providers.openai.apiKey sk-xxxxxx openclaw models set openai/gpt-4 

2. 安装新技能

使用官方工具 clawhub

npminstall-g clawhub clawhub install tavily-search # 安装联网搜索技能

3. 使用本地模型

如果你有本地部署的模型(如Ollama、vLLM),可通过自定义模型提供商接入,参考[官方文档]( Model Providers - OpenClaw )。

五、总结

通过本文,你已经在Ubuntu上成功搭建了OpenClaw AI助理,并掌握了通过SSH隧道安全访问Web控制台的方法。OpenClaw的强大之处在于其可扩展性——你可以随时添加新技能、接入不同模型,甚至开发自己的插件。

友情提示:建议创建普通用户运行OpenClaw,避免使用root带来安全风险。

如果你在安装过程中遇到任何问题,欢迎在评论区留言交流!

Read more

黑马点评中商铺地址查询前端显示问题

黑马点评中商铺地址查询前端显示问题

这个页面存在以下前端问题,这个页面中选择美食之后往下翻是不能自动滚动分页查询所有的美食店铺数据的。前端往下翻没反应 但是还有个很奇怪的点就是前端点击距离之后滚动查询第一页查询了两次,如下图,点击距离之后除了第一页的数据查询了两次之外就其他就正常了   最后看了好久才知道是查询页面数据大小的问题 我的后端代码如下: controller层 /** * 根据商铺类型分页查询商铺信息 * @param typeId 商铺类型 * @param current 页码 * @param x 经度 * @param y 纬度 * @return 商铺列表 */ @GetMapping("/of/type") public Result queryShopByType( @RequestParam("typeId") Integer typeId, @RequestParam(value = "current", defaultValue = "1") Integer current, @RequestParam(

当 AI 开始「打工仔」模式:OpenClaw 指挥多个 Agent

当 AI 开始「打工仔」模式:OpenClaw 指挥多个 Agent

当 AI 开始「打工仔」模式:OpenClaw 指挥多个 Agent 你有没有想过:让一个 AI 帮你算数学题,再让另一个 AI 把结果翻译成英文? 这听起来有点「多此一举」——毕竟一个 AI 就能同时做这两件事。但有时候,把任务拆分开来让不同的独立的 Agent 处理,是后续处理复杂任务的必要条件。 今天就分享一次有趣的实验:用OpenClaw 和 两个 Agent 串联完成一个完整的工作流。 前提条件 * openclaw: 2026.2.3 * 如果标记 😬,即用自然语言输入,在 webchat 中输入 * 如果标记 💻,即用命令行输入 如果标记 🔧,即背后的命令,不用管 💡 提示:用户只需用自然语言描述需求,无需手动执行底层命令。底层命令仅供技术参考。

【虎牙直播源】前端逆向实战:JS解析直播地址参数与加密逻辑

1. 从浏览器抓取到逆向解析:我的虎牙直播源探索之路 大家好,我是老张,一个在AI和大模型领域摸爬滚打了十多年的技术老兵。最近业余时间喜欢在虎牙看看游戏直播,有时候想用自己习惯的播放器(比如VLC或者PotPlayer)来观看,却发现官方只提供了网页和客户端两种方式。这让我这个技术控有点手痒——能不能自己拿到那个最原始的直播流地址呢?网上确实能找到不少别人分享的“直播源”,但说实话,这些链接失效得太快了,官方随便更新一下参数或者加密方式,之前的地址就全废了。所以我一直觉得,与其到处找别人给的“鱼”,不如自己学会“渔”的方法。今天我就把自己折腾虎牙直播源的全过程,特别是前端JavaScript逆向解析参数加密逻辑的实战经验,毫无保留地分享给大家。整个过程完全在浏览器端进行,不需要服务器,小白也能跟着操作。我会把每个步骤、遇到的坑以及解决方案都讲清楚,保证你看完就能自己动手搞定。 你可能要问,为什么非要自己解析?直接录屏不行吗?录屏当然可以,但那损失画质、占用资源,而且不够“极客”。我们想要的是那个最原始的、可以被任何标准播放器识别的流媒体地址(通常是M3U8或FLV格式)。这个地址被

AI如何帮你快速找到JXX登录网页最新域名

快速体验 1. 打开 InsCode(快马)平台 https://www.inscode.net 2. 输入框内输入如下内容: 开发一个智能域名追踪系统,能够自动检测JXX登录网页的最新域名变更。系统需要包含以下功能:1. 定时爬取JXX相关页面,检测域名变化;2. 通过DNS解析验证域名有效性;3. 发现新域名后自动通知用户;4. 提供历史域名记录查询。使用Python实现,集成requests库进行网页请求,dnspython库进行DNS解析,并添加邮件通知功能。 1. 点击'项目生成'按钮,等待项目生成完整后预览效果 AI如何帮你快速找到JXX登录网页最新域名 最近在做一个需要频繁访问JXX网站的项目,但发现这个网站的登录域名经常变更,每次都要花时间到处找最新地址,特别影响工作效率。于是研究了下如何用AI辅助开发一个智能域名追踪系统,自动帮我解决这个问题。 系统设计思路 1. 定时爬取检测:系统需要定期自动访问JXX相关页面,检查是否有新域名出现。这里用Python的requests库就能实现,设置合理的请求间隔避免被封禁。 2.