OpenClaw 连上 TaoToken,WSL Ubuntu 24.04 离线装完就能跑 Agent
2026/9/18 17:09:00 网站建设 项目流程

TaoToken 官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 是我这次给 OpenClaw 配模型通道的起点,WSL 那部分它管不着,但 openclaw onboard 走到模型认证时,它省掉了挨家申请 Key 的麻烦。整条链路其实分成两截:前半截在 Windows 和 Ubuntu 24.04 里折腾离线安装,先后撞上 0x80071772 和 Wsl/Service/CreateInstance/E_FAIL;后半截才是 Agent harness 的事,OpenClaw 装好、能启动、能连上模型。不少人卡在第一截,装完就以为收工了,结果 onboard 一跑才发现没有模型可用。

先把边界讲清楚:模型通道只负责把请求送出去、把结果拿回来,它不参与 WSL 的安装逻辑,也不会替你装 Node、不会替你解压离线包。你按下面的顺序把 Ubuntu 24.04 和 OpenClaw 弄到能用,再拿一把 Key 把 Base URL 指过去,本地就能跑通 Agent 对话和任务编排。

1. WSL Ubuntu 24.04 离线安装先过 0x80071772 这一关

离线机器装 WSL 最难受的地方在于:报错信息不告诉你缺了哪一步。0x80071772 这类错误码指向的往往不是 WSL 本身,而是 Windows 可选组件没到位。先把这一层打平,后面导入发行版才顺。

1.1 离线包里到底需要哪几个组件

在没有外网的 Windows 上,需要准备三样东西:两个 Windows 功能包,以及 WSL2 的内核更新包(通常是 wsl_update_x64.msi)。功能包用 DISM 从本地源启用,不指向源的时候 DISM 会尝试联网,这点容易被忽略。

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

上面两条执行完必须重启,重启之后再静默安装内核更新包。顺序反过来也不是不行,但先装内核再启功能,某些 Windows 版本会出现功能启用成功、内核版本不匹配的尴尬状态。

msiexec /i D:\offline\wsl_update_x64.msi /quiet wsl --set-default-version 2 wsl --status

1.2 0x80071772 反复出现时先查这三件事

第一件,两个可选功能的实际状态,用dism.exe /online /get-featureinfo /featurename:VirtualMachinePlatform看是 Enabled 还是 Enable Pending,Pending 就等于没生效,重启一次再看。

第二件,BIOS 里的虚拟化开关。功能启用了、内核也装了,但 CPU 虚拟化被关掉,WSL2 仍然起不来,这时候报错可能换一个码出现。

第三件,企业环境里的组策略和杀软。离线机器往往被统一管控,DISM 写注册表那一步会被拦下来,日志里能看到被拒绝的痕迹。这种情况不是技术问题,得找管机器的人放行。

1.3 Wsl/Service/CreateInstance/E_FAIL 多半是没有发行版落地

这条报错经常出现在你直接敲wsl的时候。原因很朴素:机器上根本还没有任何发行版实例。离线环境装不了商店里的 Appx,只能走导入的路子,把 Ubuntu 24.04 的 rootfs 压缩包拷进内网。

mkdir D:\wsl\Ubuntu2404 wsl --import Ubuntu2404 D:\wsl\Ubuntu2404 D:\wsl\ubuntu-24.04-rootfs.tar --version 2 wsl -l -v wsl -d Ubuntu2404

导入进来的发行版默认以 root 身份登录,第一次进去建议补一个普通用户,后面 npm 全局安装、写配置文件都不至于一直用 root。

adduser dev usermod -aG sudo dev su - dev

2. Ubuntu 24.04 里用 npm 把 OpenClaw 离线装上

发行版能进去之后,工作重心就从 Windows 转到了 Linux 里面。OpenClaw 本身是通过 npm 分发的命令行工具,离线安装要解决两件事:Node 运行时的版本够不够,以及 npm 能不能在断网状态下拿到包。

2.1 Node 与 npm 的版本先对齐

Ubuntu 24.04 仓库里自带的 Node 版本不一定满足要求,具体下限以 OpenClaw 官方 release 说明为准。离线做法是把官方预编译的 tar.xz 拷进来,解到/usr/local覆盖软链,不走 apt。

sudo tar -xJf node-vXX-linux-x64.tar.xz -C /usr/local --strip-components=1 node -v npm -v which node

which node的输出应该是/usr/local/bin/node。如果它指向/usr/bin/node,说明系统里还有一份老版本在抢路径,用sudo apt remove nodejs清掉,或者调整 PATH 的先后顺序。

2.2 断网状态下 npm 怎么拿到 OpenClaw

两条路,看你手上有什么。一是内网自建了 npm 源,那就npm config set registry http://你的内网源地址,之后按正常方式安装。二是彻底没有源,那就得在能上网的机器上把包打下来,连带依赖一起拷进去。

npm install -g ./openclaw-<version>.tgz openclaw --version

如果包本身有生产依赖没被塞进 tgz,可以在一台联网机器上执行npm pack把依赖树一起下载到本地目录,整套拷到离线机后加--offline参数安装。装完之后再确认一下全局 bin 目录在不在 PATH 里,npm bin -g会告诉你答案。

npm bin -g export PATH="$PATH:$(npm bin -g)" openclaw --help

2.3 命令能起来才算装完

很多人到npm install返回 0 就停了,其实还要确认三件事:openclaw --version有输出、openclaw --help能列出子命令、openclaw的配置目录在用户家目录下被正确创建。前两个不过,说明安装位置有问题;第三个不过,说明权限有问题,通常是从 sudo 环境装到了 root 的全局目录里。

3. openclaw onboard 走到模型认证,Key 从这里取

OpenClaw 安装完,第一次运行会进入 onboard 流程,问你用哪家模型、Key 是什么。原文到这一步是分别去各家服务商注册、复制 Key、对比模型名,来回折腾。现在把这一步统一掉,只在一个地方拿 Key,只填一个 Base URL。

3.1 先创建一把 API Key

打开 TaoToken,注册登录后进入控制台创建 Key,复制出来的那串就是后面要用的凭证,本文一律用YOUR_API_KEY代替。不要在命令行里直接手打这串字符,用环境变量或者.env文件承载,避免它留在 shell 历史记录里被翻出来。

export OPENAI_API_KEY=YOUR_API_KEY

3.2 Base URL 只填到 https://taotoken.net/api

这是最容易填错的一格。工具里让你填的 Base URL 统一写https://taotoken.net/api,末尾不要加/v1,也不要图省事把官网落地页粘进去。官网地址是给人点的,接口地址是给程序拼路径的,两者混用会直接导致 404。

用途该填什么
注册、创建 Key、看模型列表、看用量https://taotoken.net/?utm_source=taotoken_aicg_blog_end
工具里的 Base URL / API 地址https://taotoken.net/api
凭证YOUR_API_KEY

3.3 模型 ID 以模型广场当时列表为准

不要从别处的教程里抄一个模型 ID 直接用,模型池是会变动的,抄来的 ID 很可能已经下线。填之前先回 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 打开模型广场,按当前列表里的 ID 原样复制。onboard 里模型名支持后续修改,先跑通再考虑换更合适的型号。

4. 把模型通道固化进 OpenClaw 的启动环境

onboard 手填一次能跑,但每次开新终端都要重来就没意思了。这一节把它落成持久的配置,顺便说清楚后面换模型、换 Key 该动哪里。

4.1 环境变量方式最省事

OpenClaw 作为 harness,读的是标准的环境变量。走 OpenAI 兼容协议时:

export OPENAI_BASE_URL=https://taotoken.net/api export OPENAI_API_KEY=YOUR_API_KEY

如果 onboard 时选的是 Anthropic 兼容通道,变量名换成ANTHROPIC_BASE_URLANTHROPIC_AUTH_TOKEN,值分别是https://taotoken.net/apiYOUR_API_KEY,注意这里 Base URL 同样不要加/v1。把这三行写进~/.bashrc,新开的 WSL 终端就自动带上,不必每次手动 export。

4.2 onboard 交互项应该怎么选

向导里如果让你挑供应商类型,选自定义 / OpenAI 兼容这一类,不要选某个具体厂商的名字。接着它会依次问 Base URL、API Key、模型 ID,三个空对应填上面那张表里的内容。有些版本会在结束时把结果写进自己的配置文件,之后想改,重跑一遍openclaw onboard比手动编辑更稳。

4.3 换模型和分项目用 Key 的处理

同一个 Key 换模型,只需要改模型 ID 那一项,Base URL 和 Key 都不动。多个项目想用不同的 Key 做隔离,就分文件:

# ~/.openclaw/agent-a.env export OPENAI_BASE_URL=https://taotoken.net/api export OPENAI_API_KEY=YOUR_API_KEY # 启动前 source ~/.openclaw/agent-a.env

这种做法在同时跑几个 Agent 任务、想分别对账的时候特别有用,出问题了一眼就能看出是哪把 Key 在报错。

5. 用一个多步 Agent 任务验证通道

配置写完不算跑通,agent harness 的特点是它会把一次任务拆成很多次模型调用,单轮对话好使不代表多步编排好使。验证分三层来做。

5.1 先来一轮最简单的对话冒烟

openclaw "用三句话说明什么是 agent harness"

观察两个点:有没有正常的流式输出,以及中途有没有偷偷报 401 但被吞掉。如果等半天没反应、最后给一句空结果,先去看 OpenClaw 的日志文件,别急着改配置。

5.2 再让它做一件需要编排多步的事

让它读一个本地目录、列出待办、生成一个脚本,然后由你自己在本地执行这个脚本。这里有个边界要记住:模型只能生成、解释、对照代码或 SQL,真正落到机器上的执行动作由你在本地跑,跑出报错再贴回对话让它分析。不要指望 harness 隔着对话去操作生产库或者生产机器上的业务动作,那不是它该干的事,也不该这么用。

5.3 回控制台对一下这次调用

任务跑完,打开 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 看一眼请求记录和用量,确认调用的模型 ID 和你填的一致、次数和刚才的任务规模对得上。对账这一步很多人跳过,等到某天发现模型被改过、或者某个项目的 Key 被别的脚本共用,才回头查就麻烦了。

6. 排障:401、模型不存在与离线机器的出站

新手在这个环节遇到的三类问题,基本都能按下面几条定位。先看现象,再看对应动作,别一上来就重装。

6.1 401 先怀疑 Key 本身

最常见的原因是复制时带了首尾空格或者换行。终端里用echo $OPENAI_API_KEY | cat -A能看出有没有隐藏字符。第二个原因是同一台机器上有多份配置,~/.bashrc里导出的 Key 被.env文件覆盖了,先用env | grep -i key确认当前生效的是哪一份。

6.2 报模型不存在时看两处

一处是模型 ID 有没有抄错,尤其是带不带日期后缀、大小写是否一致,最稳的办法是回模型广场复制原文。另一处是 Base URL 拼出来的完整路径,如果末尾多加了/v1,最终请求会变成重复路径,服务端只能返回 404 或者「模型不存在」。

6.3 离线装完不等于永远断网

这里要分清楚:离线安装指的是安装过程不用外网,但 OpenClaw 真正跑起来时,模型请求是要发出去的。所以这台机器必须能对taotoken.net的 443 端口出站。公司内网限制比较严的话,先确认这条出站策略放开,再去排查其他配置。WSL2 的网络模式如果被改过,也可能出现主机能通、子系统不通的情况,curl -I https://taotoken.net/api是很快的判定手段。

7. 通道跑通之后,先把调用侧的事安排上

到这一步,WSL 的报错、Ubuntu 24.04 的离线安装、OpenClaw 的 onboard 都过去了,剩下的就是日常怎么用。刚配完建议先做一次对账:用同一把 Key 去 TaoToken 模型对话 发一条测试消息,确认模型 ID 和 Base URL 两边填的是一回事,能省掉后面大量的「本地跑不通、网页能通」式困惑。

要长期挂着 Agent 跑任务,就去 Coding Plan 看看额度够不够用;需要新建或者轮换 Key,在 控制台 API Keys 里操作;如果后面还想把这把 Key 复用到 Claude Code 之类的工具上,环境变量对照关系可以查 Claude Code 接入文档。同一把 Key 通吃几个 harness,才是把本地 Agent 环境真正搭起来的样子——WSL 那堆报错只需要忍一次,模型通道这块配好了,后面换工具、换模型都是改一两行的成本。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询