Ubuntu22.04 部署 Openclaw 完整教程:从 apt 到 Node.js 环境一次跑通 TaoToken

发布时间:2026/10/7 7:30:24

Ubuntu22.04 部署 Openclaw 完整教程:从 apt 到 Node.js 环境一次跑通 TaoToken 1. Ubuntu22.04 部署 Openclaw 前先理清这套链路到底在装什么Openclaw 是一个跑在本地或云主机上的 AI Agent 运行框架你可以把它理解成一个「常驻后台的智能体网关」它负责接收你的指令、调度模型、管理会话与工具调用最后把结果通过 TUI 或 Dashboard 反馈给你。适合谁用适合手里有一台 Ubuntu22.04 机器、想自己掌控模型调用链路、又不想被各家 SDK 反复折腾的开发者。它本身不绑定某一家模型服务模型通道可以自由替换这也是后面我会用 TaoToken 统一 Key 来接管模型调用的原因。很多人第一次在 Ubuntu22.04 上装 Openclaw卡点往往不在 Openclaw 本身而在前置环境apt 源太慢、Node.js 版本不对、curl 拉不到安装脚本、装完发现 gateway 起不来。这篇教程按「apt 依赖 → Node.js 环境 → Openclaw 安装 → 模型通道接入 → 启动验证 → 报错排查」的顺序走一遍每一步都给可复制命令和预期结果目标是一次跑通。需要提前说明Openclaw 的安装脚本会从官方地址拉取如果你的机器网络到该地址不稳定命令会卡住或超时这属于网络连通性问题不是 Openclaw 的 bug。遇到这种情况先确认机器能正常访问外网再重试。整篇教程假设你用的是 Ubuntu22.04Jammy有 sudo 权限能 SSH 登录。我试过在一台 2C4G 的云主机上从零走完整套流程全程大约 15 分钟其中 apt 更新和 Node.js 安装占了大头。下面按步骤拆开讲你可以边看边敲。2. apt 依赖与 Node.js 环境准备Ubuntu22.04 安装 Openclaw 的底座这一节解决的是「装 Openclaw 之前系统里必须有什么」。Openclaw 的安装脚本依赖 curl、git运行依赖 Node.js。Ubuntu22.04 自带的 Node.js 版本偏旧直接用 apt 装很可能版本不够所以推荐用 nvm 管理 Node.js 版本这样后面切换版本也方便。先更新软件源并升级已有包sudo apt update sudo apt upgrade -y如果 apt 更新特别慢可以换成国内镜像源。注意这一步会覆盖/etc/apt/sources.list操作前建议先备份sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo tee /etc/apt/sources.list EOF deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse EOF sudo apt update接着安装基础工具sudo apt install -y curl git build-essentialbuild-essential不是每个场景都必需但部分 Node.js 原生模块编译时会用到提前装上省得后面报gyp ERR之类的错。然后装 nvm 并加载curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash source ~/.bashrc如果source ~/.bashrc后nvm命令仍提示找不到检查~/.bashrc末尾是否被写入了 nvm 的初始化片段没有的话手动补上export NVM_DIR$HOME/.nvm [ -s $NVM_DIR/nvm.sh ] \. $NVM_DIR/nvm.sh装 Node.js 22Openclaw 对较新 Node.js 支持更好nvm install 22 nvm use 22 nvm alias default 22验证node -v npm -v预期输出类似v22.x.x和10.x.x。到这里底座就搭好了。这一步的关键是 Node.js 版本别太低否则 Openclaw 安装或启动阶段可能报语法或 API 不兼容的错。3. Openclaw 安装与 TaoToken 模型通道配置可复制的 settings 片段环境就绪后开始装 Openclaw。官方提供了一键安装脚本curl -fsSL https://openclaw.ai/install.sh | bash装完验证openclaw --version openclaw --help能打印版本号和帮助信息说明二进制已就位。接下来是配置环节也是整篇最关键的一步——把模型调用通道接到 TaoToken 上这样你只需要维护一套 Key 和 Base URL就能统一调用不同模型。先跑初始化向导openclaw onboard --install-daemon向导里会依次问你几个问题是否知晓风险选 yes、安装模式选 QuickStart、模型服务商。这里不要选具体厂商而是走自定义/兼容 OpenAI 协议的通道把 Base URL 指向 TaoToken 的 API 地址Key 填你在 TaoToken 控制台生成的 Key。TaoToken 的 API 地址是https://taotoken.net/apiKey 在控制台的 API Keys 页面创建。模型 ID 按你实际要用的填比如claude-sonnet-4-5或gpt-4o这类具体以控制台模型列表为准。Openclaw 的配置文件通常落在~/.openclaw/目录下模型通道部分可以写成类似这样的 JSON 片段路径和字段名以你本地实际生成的为准下面给出结构参考{ models: { provider: openai-compatible, baseUrl: https://taotoken.net/api, apiKey: sk-你的TaoTokenKey, model: claude-sonnet-4-5 } }如果你用的是 TOML 风格的配置等价写法[models] provider openai-compatible baseUrl https://taotoken.net/api apiKey sk-你的TaoTokenKey model claude-sonnet-4-5三件套记牢Base URL 填https://taotoken.net/apiKey 填 TaoToken 控制台生成的Model ID 填你要用的模型名。这三者缺一不可任何一个填错都会在调用时报错。向导后续会问 channel、skills、hooks初次部署全部选 No 或跳过先把主链路跑通这些扩展后面再按需加。最后选择 TUI 进入聊天界面输入Hello测试能收到模型回复就说明通道打通了。4. 启动 gateway 并验证请求确认 Openclaw 服务真的在跑配置完成后Openclaw 的核心服务是 gateway它负责常驻后台处理请求。查看状态openclaw gateway status成功标志是输出里有高亮的active (running)。如果显示inactive手动启动openclaw gateway start再查一次状态确认。接着获取 Dashboard 地址openclaw dashboard它会打印一个带端口和 token 的 URL默认端口常见是 18789。如果要从外部浏览器访问需要放行端口sudo ufw allow 18789然后在浏览器输入http://你的服务器IP:18789带上 dashboard 输出的 token 即可进入管理界面。验证模型调用是否真的走通除了 TUI 里发消息还可以直接对 gateway 发一次请求。假设 gateway 监听本地 18789可以用 curl 测curl -X POST http://127.0.0.1:18789/v1/chat/completions \ -H Content-Type: application/json \ -H Authorization: Bearer sk-你的TaoTokenKey \ -d { model: claude-sonnet-4-5, messages: [{role: user, content: 你好回复一句话}] }如果返回结构里有choices字段且包含模型回复内容说明从 Openclaw 到 TaoToken 再到模型的整条链路是通的。这一步能过基本就宣告部署成功。实测下来最容易出问题的不是 Openclaw 本身而是 Key 或 Base URL 填错导致 401或者模型 ID 写错导致找不到模型。下面一节专门列常见报错。5. 常见报错排查401、local proxy failed、reading choices 怎么解部署过程中遇到的报错大多集中在模型调用环节这里按真实报错对照排查。401 Unauthorized最常见。原因通常是 Key 填错、Key 前后有空格、或者 Key 已失效。检查配置文件里的apiKey字段确认是 TaoToken 控制台里有效的那把 Key。注意别把 Base URL 和 Key 搞混Base URL 是https://taotoken.net/apiKey 是sk-开头的那串。local proxy failed / connection refused说明 Openclaw 尝试连本地代理或本地服务失败。先确认 gateway 是否在跑openclaw gateway status再确认配置文件里的 Base URL 没有指向一个不存在的本地地址。如果你之前配过本地代理把它清掉直接指向 TaoToken 的 API 地址。reading choices 报错如 cannot read property choices of undefined这通常意味着返回体不是预期的 OpenAI 兼容结构可能是 Base URL 路径不对或者模型 ID 不被识别。检查 Base URL 是否带了多余的路径后缀正确写法就是https://taotoken.net/api不要自己拼/v1之类。模型 ID 也要和控制台里列出的完全一致。OAuth 相关报错如果你在向导里误选了需要 OAuth 的登录方式会卡在授权环节。回到配置里改成 API Key 方式用 TaoToken 的 Key 直接鉴权不走 OAuth。Node.js 版本相关报错如果启动时报语法错误或optional chaining之类不支持多半是 Node.js 版本太低。用node -v确认低于 18 就nvm install 22 nvm use 22切上去。端口占用openclaw gateway start报端口被占用sudo lsof -i:18789查占用进程或者改 gateway 监听端口。排查思路统一先看 gateway 状态再看配置文件三件套Base URL、Key、Model ID最后看网络连通性。大部分问题都出在前两步。6. 把模型通道固定下来TaoToken 统一 Key 的长期用法一次跑通之后建议把模型通道固定成 TaoToken 统一 Key 的方式而不是每次换模型都改一堆配置。这样做的好处是你只需要在 TaoToken 控制台管理 Key 和额度Openclaw 侧只认一个 Base URL 和一个 Key换模型只改 Model ID 一个字段。如果你后面要长期跑编码类 Agent 任务可以了解下 Coding Plan它更适合高频、长时间的模型调用场景。需要看模型实际对话效果可以直接进模型对话页面试。Key 的创建和管理在控制台的 API Keys 页面接入细节可以对照接入文档。把这几件事做完你的 Ubuntu22.04 Openclaw 环境就算稳定落地了。后面加 channel、skills、hooks 都是在这个底座上叠加主链路不会再动。
延伸阅读

更多相关文章

2026/10/7 7:30:24

电源轨道系统供应商技术资质核查与选型框架

在装修、办公空间升级、商业门店改造等项目中,电源轨道系统凭借取电点位可调的技术特性,逐步替代传统固定插座。当前市场上部分产品因缺乏安全认证、导电结构设计不合理、售后服务体系不完善,长期运行后易出现接触不良、短路等工程问题&#…

2026/10/7 7:25:24

边缘AI芯片在自动驾驶场景出现三类玩家与双强格局

用于自动驾驶的边缘AI芯片,按上车位置与核心职责分为两大层级:中央计算芯片(负责全车感知融合与决策)和感知端预处理芯片(在传感器端完成初步AI推理)。中央计算芯片按供应模式,又分为车企自研与…

2026/10/7 7:25:24

Homelab NVMe掉盘排查与修复:从日志、散热到固件升级

得先交代一下背景。我家里这台Homelab服务器,准确说是一台放在阳台机柜里的AMD平台DIY主机,装着Proxmox VE,平时跑着软路由、NAS、几个测试用的虚拟机,还有一套ZFS存数据。两片NVMe固态盘在里头分别承担系统盘和高速缓存盘&#x…

2026/10/7 8:15:27

PPA-RTL:当大模型开始真正关心“这段 RTL 综合出来怎么样

最近读到一篇 DAC 2025 的工作 PPA-RTL。我觉得它有意思的地方,不是又把 RTL 生成准确率往上推了一点,而是终于把一个更“硬件工程”的问题摆到了模型面前:代码写对之后,功耗、性能、面积怎么办? 论文信息 论文&#x…

2026/10/7 8:15:26

MCU 中的统一地址编址:从地址空间到总线与地址译码

MCU 中的统一地址编址:从地址空间到总线与地址译码1.引言2.什么是统一地址编址3.统一编址不等于所有硬件都是内存4.为什么外设寄存器可以像内存一样访问5.统一编址和独立编址6.CPU 是怎么找到外设的7.什么是总线7.1 地址总线7.2 数据总线7.3 控制总线8.地址译码器9.…

2026/10/7 8:10:26

临安隐形矫正选择先对比方案费用

有牙齿矫正需求的临安本地用户,面对不同口腔机构往往会陷入选择困惑,在考虑隐形矫正时,除了对比方案和费用,机构的专业资质、医生团队配置也是核心参考维度,本文结合本地机构情况梳理相关参考信息。机构资质与团队背景…

2026/10/5 6:32:56

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/6 4:01:51

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/6 17:46:51

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

ESP32免重刷固件:浏览器直接修改NVS键值实现WiFi配置更新

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

SAP HANA查询结果导出CSV:避开乱码、性能与权限的实用指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

数字后端Placement阶段Density与Congestion控制实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑