openclaw部署教程(亲测版):WSL2+Ubuntu+Node.js 环境从零跑通
1. Windows 上跑 openclaw 到底卡在哪WSL2 环境搭建的真实痛点openclaw 是一个能在本地跑起来、并且可以调用浏览器、执行命令、操作桌面的智能体框架适合想在自己电脑上做自动化任务、又不想把数据全丢到云端的开发者。它本身是 Node.js 项目官方推荐在 Linux 环境下运行而 Windows 用户直接跑会遇到一堆路径、权限、systemd 相关的问题。所以最省心的路径就是Windows 装 WSL2WSL2 里装 UbuntuUbuntu 里装 Node.js再跑 openclaw。我一开始也想在 Windows 原生环境直接npm install -g openclaw结果卡在几个地方一是 openclaw 的 gateway 服务依赖 systemd 来托管进程Windows 没有二是它调用浏览器、桌面操作时依赖 Linux 的进程模型三是路径分隔符和权限模型对不上配置文件里写的C:\Users\PC\.openclaw\workspace在 Linux 侧根本读不到。折腾半天之后还是回到 WSL2 Ubuntu 这条路上一次跑通。这篇教程就是把我踩过的坑整理成可复制的步骤。你会看到WSL2 的安装与版本切换、Ubuntu 24.04 的导入、Node.js 22 的安装与镜像加速、openclaw 的安装与 onboard 向导、openclaw.json的关键字段配置以及如何用 TaoToken 统一 Key/API 通道把模型侧对接起来。最后用一次完整的启动日志作为验证动作确保你跑出来的结果和我一致。适合谁看Windows 10/11 用户、想本地部署 openclaw 但被环境劝退的人、需要把模型 API 统一管理起来的开发者。不需要你之前用过 WSL只要会复制命令、会看报错就行。核心检索词先明确openclaw 部署、WSL2 安装 Ubuntu、Node.js 环境配置、openclaw 启动验证。下面按顺序来。2. TaoToken 前置准备统一 Key 与 API 通道避免多平台来回切在装 openclaw 之前先把模型侧的通道准备好否则 onboard 向导走到「Model/auth provider」那一步会卡住。openclaw 支持 OpenAI 兼容接口也就是说只要有一个提供openai-completions协议的 Base URL 和 API Key就能接进去。TaoToken 就是做这件事的它把多个模型提供方的 Key 和接口统一成一个入口你只需要一个 Key、一个 Base URL就能在 openclaw 里切换不同模型不用每个平台单独配一遍。为什么要在装 openclaw 之前准备因为 onboard 向导会要求你粘贴 API Key 和 Base URL如果那时候才去注册、找 Key流程会断掉。提前准备好向导一路回车就能走完。具体操作打开 TaoToken 官网注册后在控制台里创建一个 API Key。地址是 https://taotoken.net/api 控制台里能看到 API Keys 管理页面。创建完 Key 之后记下两样东西Key 本身以及 Base URL。TaoToken 的接口是 OpenAI 兼容的Base URL 填https://taotoken.net/api即可注意这里不加 UTM 参数是纯接口地址。如果你后面要用 Claude Code 或者做长期编码任务可以在 TaoToken 里看一下 Coding Plan 的入口它适合需要持续调用、按量计费的场景。模型对话的入口在 https://taotoken.net/api 对应的对话页面验证模型是否通的时候可以用。API Keys 管理在 https://taotoken.net/api-keys 接入文档在 https://taotoken.net/doc 。这里要强调一点openclaw 的配置文件里baseUrl和apiKey是两个独立字段apiKey建议用环境变量引用不要明文写死在 JSON 里。后面第 3 节会给完整的配置片段你照着改就行。准备好 Key 和 Base URL 之后再进入 WSL2 的安装环节。这样 onboard 走到模型那一步你直接粘贴不会中断。3. 可复制配置WSL2 Ubuntu Node.js openclaw 全流程这一节是核心所有命令都可以直接复制。我按顺序拆成四步装 WSL2、导入 Ubuntu、装 Node.js、装 openclaw 并配置。3.1 安装 WSL2 并切换版本先在 Windows 上以管理员身份打开 PowerShell执行wsl --install如果系统提示已经安装过 WSL就跳过。装完之后查看版本wsl -l -v如果看到某个发行版的 VERSION 是 1需要切到 2。假设发行版名字是Ubuntu-24.04执行wsl --set-version Ubuntu-24.04 2如果wsl --install报错说需要更新内核去下载wsl_update_x64.msi安装即可。这一步的目的是确保 WSL2 引擎可用因为 openclaw 的 systemd 依赖 WSL2 的完整 Linux 内核。3.2 导入 Ubuntu 24.04Ubuntu 官方提供了 WSL 专用的.wsl包双击或者用wsl --import导入都行。国内下载慢的话用清华镜像。假设你下载到了C:\Users\PC\Downloads\ubuntu-24.04.2-wsl-amd64.wsl执行wsl --import Ubuntu-24.04 D:\WSL\Ubuntu2404 C:\Users\PC\Downloads\ubuntu-24.04.2-wsl-amd64.wsl --version 2导入完成后进入 Ubuntuwsl -d Ubuntu-24.04第一次进入会要求设置用户名和密码按提示走。进去之后先更新源sudo apt update sudo apt upgrade -y3.3 开启 systemd 并安装 Node.js 22openclaw 的 gateway 服务需要 systemd 托管所以先在 Ubuntu 里开启。编辑/etc/wsl.confsudo nano /etc/wsl.conf写入[boot] systemdtrue保存退出CtrlO 回车CtrlX。然后在 Windows PowerShell 里重启 WSLwsl --shutdown再进入 Ubuntu验证 systemdsystemctl --version有版本号输出就说明 systemd 生效了。接着装 Node.js 22curl -fsSL https://deb.nodesource.com/setup_22.x | bash - apt install -y nodejs验证node -v npm -v出现版本号就是成功。国内下载慢的话配一下镜像npm config set registry https://registry.npmmirror.com3.4 安装 openclaw 并跑 onboard 向导安装 openclawcurl -fsSL https://openclaw.ai/install.sh | bash或者用 npm 全局安装npm install -g openclawlatest然后执行 gateway 安装openclaw gateway install接下来跑全自动初始化向导openclaw onboard向导的选项按下面走步骤操作选择1Config handlingReset2Reset scopeConfig creds sessions3What do you want to set up?Local gateway (this machine)4Workspace directory直接回车默认路径5Model/auth providerOpenAI (Codex OAuth API key)6Authentication methodOpenAI API key7API key storagePaste API key now8Reuse API key from environment variable?No9Enter your OpenAI API key粘贴 TaoToken 的 Key10OpenAI Base URLhttps://taotoken.net/api11Select modelEnter model manually12Enter model name manually填你要用的模型 ID13Gateway port直接回车默认 1878914Gateway bindLoopback (127.0.0.1)15Gateway authToken16Tailscale exposureOff17Gateway token直接回车自动生成18Configure chat channels now?No19选择 Skip for now空格选中后回车20Enable hooks?Skip for now21Install Gateway serviceYes22Gateway service runtimeNode23How do you want to hatch your bot?Open the Web UI走完之后配置文件在~/.openclaw/openclaw.json。关键字段如下你可以直接对照修改{ env: { TAOTOKEN_API_KEY: 你的TaoToken Key }, models: { mode: merge, providers: { taotoken: { baseUrl: https://taotoken.net/api, apiKey: ${TAOTOKEN_API_KEY}, api: openai-completions, models: [ { id: 你的模型ID, name: 你的模型名 } ] } } }, auth: { profiles: { taotoken:default: { provider: taotoken, mode: api_key } } }, agents: { defaults: { model: { primary: taotoken/你的模型ID }, models: { taotoken/你的模型ID: { alias: 你的模型名 } }, workspace: /home/你的用户名/.openclaw/workspace } }, tools: { profile: full, allow: [exec, browser, desktop] }, gateway: { port: 18789, mode: local, bind: loopback, auth: { mode: token, token: 自动生成的token }, tailscale: { mode: off, resetOnExit: false } } }注意tools.profile必须是full否则 openclaw 没有权限控制你的电脑浏览器和桌面操作都会被拦。workspace路径要写 Linux 侧的路径不要写C:\...因为 openclaw 跑在 Ubuntu 里。改完配置后重启 gatewayopenclaw gateway restart4. 验证请求一次完整启动日志与成功结果配置改完之后最关键的一步是验证。先重启 gatewayopenclaw gateway restart然后查看状态openclaw gateway status正常输出会显示 gateway 正在运行端口 18789绑定 127.0.0.1。接着打开 Web UI浏览器访问http://127.0.0.1:18789如果配置了 token会要求你输入 token就是配置文件里gateway.auth.token那个值。进入面板后先做一次模型连通性验证。在对话输入框里发一句简单的话比如「你好帮我确认一下当前模型」。如果模型侧配置正确会返回模型的回复。如果返回 401 或者reading choices报错说明 Key 或 Base URL 有问题去第 5 节排查。然后做一次完整的启动日志验证。在 Ubuntu 终端里执行openclaw gateway logs你会看到类似这样的输出[gateway] starting openclaw gateway v2026.3.2 [gateway] loading config from /home/user/.openclaw/openclaw.json [gateway] provider taotoken registered, baseUrlhttps://taotoken.net/api [gateway] model taotoken/your-model loaded [gateway] tools profilefull, allow[exec, browser, desktop] [gateway] listening on 127.0.0.1:18789 [gateway] auth modetoken [gateway] ready看到ready就说明启动成功。这时候你可以测试一个实际任务比如让 openclaw 打开浏览器搜索一个问题并返回结果。在 Web UI 里输入帮我打开浏览器搜索今天的天气并把结果告诉我如果 tools 配置正确openclaw 会调用浏览器、执行搜索、返回结果。这一步能跑通说明整个链路——WSL2、Ubuntu、Node.js、openclaw、TaoToken 模型通道——全部打通。如果浏览器没打开检查tools.allow里有没有browser以及tools.profile是不是full。这两个字段缺一个权限就不够。5. 本篇常见错排查401、local proxy failed、reading choices、OAuth这一节按真实报错来排查都是我在部署过程中遇到过的。报错一401 Unauthorized现象Web UI 里发消息返回 401。原因通常是 API Key 不对或者 Base URL 写错了。检查openclaw.json里的apiKey字段确认引用的环境变量TAOTOKEN_API_KEY已经设置。在 Ubuntu 里执行echo $TAOTOKEN_API_KEY如果没有输出说明环境变量没生效。可以在~/.bashrc里加一行export TAOTOKEN_API_KEY你的Key然后source ~/.bashrc。另外确认 Base URL 是https://taotoken.net/api不要多加斜杠或者路径。报错二local proxy failed现象gateway 启动时报local proxy failed。这通常是端口被占用或者 gateway 绑定地址不对。检查 18789 端口ss -tlnp | grep 18789如果有其他进程占用改gateway.port为其他值比如 18790。另外确认gateway.bind是loopback如果是0.0.0.0在某些网络环境下会失败。报错三reading choices现象模型返回reading choices相关错误。这是 OpenAI 兼容接口的响应格式问题通常是因为模型 ID 填错了或者 Base URL 指向的接口不支持openai-completions协议。检查models.providers.taotoken.models[].id是否和 TaoToken 文档里列出的模型 ID 一致。接入文档在 https://taotoken.net/doc 对照一下。报错四OAuth 相关错误现象onboard 向导里选了 OAuth 模式但认证失败。openclaw 支持 Codex OAuth 和 API key 两种模式如果你用的是 TaoToken 的 Key应该选 API key 模式不要选 OAuth。回到配置文件确认auth.profiles里的mode是api_key不是oauth。报错五tools 权限不足现象让 openclaw 操作浏览器或桌面提示权限不足。检查tools.profile是否为fulltools.allow是否包含exec、browser、desktop。这三个字段缺一个都不行。改完重启 gateway。报错六workspace 路径找不到现象启动时报 workspace 目录不存在。openclaw 的 workspace 路径要写 Linux 侧路径比如/home/user/.openclaw/workspace。如果你从 Windows 侧复制了C:\Users\PC\.openclaw\workspace在 Ubuntu 里是读不到的。改成 Linux 路径或者手动创建目录mkdir -p ~/.openclaw/workspace排查完这些基本能覆盖 90% 的部署问题。如果还有报错先看openclaw gateway logs的完整输出定位到具体哪一步失败。6. 模型通道与长期使用把 TaoToken 接进 openclaw 的日常流程openclaw 跑起来之后日常使用中最常打交道的两个东西一个是 gateway 服务一个是模型通道。gateway 负责调度任务、管理工具权限模型通道负责实际推理。TaoToken 在这里的角色是统一入口你不需要在 openclaw 里配多个 provider一个taotokenprovider 就能覆盖多个模型。如果你后面要换模型只需要改openclaw.json里models.providers.taotoken.models的id和name然后重启 gateway。不用重新跑 onboard 向导。这一点比每个平台单独配要省事很多。对于长期编码或者 Agent 任务TaoToken 的 Coding Plan 适合按量持续调用的场景入口在 https://taotoken.net/api 对应的页面里能找到。如果你只是偶尔验证模型用模型对话页面就够了。API Keys 管理在 https://taotoken.net/api-keys 接入文档在 https://taotoken.net/doc 这两个地址建议存一下后面改配置、加 Key 都会用到。最后说一个实用技巧openclaw 的配置文件支持环境变量引用所以你的 Key 不要明文写在 JSON 里。用export设置环境变量配置文件里写${TAOTOKEN_API_KEY}这样即使配置文件被分享出去Key 也不会泄露。改完配置后openclaw gateway restart让配置生效再用openclaw gateway logs确认启动日志里 provider 和 model 都加载正确。整个流程跑通之后你就有了一台在 Windows 上通过 WSL2 运行的 openclaw 实例模型侧通过 TaoToken 统一管理。后面不管是加新模型、换 Key还是调工具权限都只需要改配置文件、重启 gateway不用重装环境。