
1. Windows 11 WSL2 Ubuntu 部署 Openclaw 到底卡在哪Openclaw 是一个跑在本地、能接管终端与文件系统的 AI Agent 框架适合想让模型直接操作命令行、读写工程目录、串联多步任务的开发者。它在 Windows 上的官方推荐路径就是 WSL2 Ubuntu因为纯 Windows 环境缺少完整的 Linux 进程与权限模型很多 skill 会直接报错。但真正劝退新手的不是安装本身而是装完之后模型接不进去默认配置指向的是国际通道国内直连经常超时或者 Key 填错位置导致请求 401。我自己在 Windows 11 上从零走了一遍把 settings 里的 endpoint 和 Key 统一改到 TaoToken 通道中间踩了几个典型坑比如openclaw: command not found、gateway token 对不上、baseUrl 写成127.0.0.1结果 WSL2 里根本连不到宿主机。这篇就把完整流程拆开每一步都给可复制命令最后用一次真实对话请求验证连通。先说清楚适用人群你有一台 Windows 11 机器想本地跑 Agent不想折腾双系统能接受命令行操作。整个过程大概 30 到 40 分钟主要时间花在 WSL 内核更新和 Node 依赖安装上。核心检索词就是 Windows WSL2 Ubuntu 部署 Openclaw下面所有步骤都围绕它展开。需要提前确认两件事一是 BIOS 里虚拟化VT-x / AMD-V已开启二是 Windows 版本不低于 21H2。这两项不满足后面wsl --install会直接失败。确认方式很简单任务管理器 → 性能 → CPU右下角能看到「虚拟化已启用」。2. TaoToken 前置准备与 Openclaw 模型通道选择在动 WSL 之前先把模型通道的事情定下来否则装完 Openclaw 还要回头改配置容易乱。Openclaw 的模型配置写在~/.openclaw/openclaw.json里结构是models.providers下面挂不同 provider每个 provider 有baseUrl、apiKey、api和models数组。默认模板给的是国际地址国内网络下请求经常卡住或返回超时。TaoToken 的作用就是提供一个统一的 OpenAI 兼容通道把baseUrl指向它apiKey换成你在控制台生成的 Key就能在 Openclaw 里正常调用模型。它的接口地址是https://taotoken.net/api兼容openai-completions协议所以 Openclaw 里api字段保持openai-completions不用改。你需要先去控制台创建一个 API Key。打开https://taotoken.net/console登录后在 API Keys 页面新建一个复制出来保存好后面配置里要填。注意 Key 只显示一次丢了就重新生成。如果你还没决定用哪个模型可以先在模型对话页面试一下确认通道能正常返回再写进配置。这里有个关键点Openclaw 的 provider 名字可以自定义比如叫taotoken但models数组里的id必须和通道支持的模型 ID 一致。比如你想用某个通用对话模型就填对应的 ID。baseUrl要写成https://taotoken.net/api注意结尾不要多加/v1因为 Openclaw 内部会按openai-completions协议拼接路径多写一层会导致 404。另外提醒一句不要把 Key 直接提交到 Git 仓库。Openclaw 的配置文件在用户目录下一般不会进版本控制但如果你手动备份到别处注意脱敏。配置改完后建议chmod 600 ~/.openclaw/openclaw.json避免其他用户读到。如果你后续要长期跑编码类 Agent 任务可以了解下 Coding Plan它针对高频调用场景做了额度优化比按量计费更适合天天用的开发者。这个不是必须的先跑通基础配置再说。3. WSL2 安装 Ubuntu 与 Openclaw 可复制配置这一节是全文技术核心命令都可以直接复制。先以管理员身份打开 PowerShell执行 WSL 功能启用dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart执行完重启电脑。重启后继续在 PowerShell 里设置默认版本并安装 Ubuntuwsl --set-default-version 2 wsl --install -d Ubuntu-24.04如果wsl --install报「无法解析服务器的名称或地址」先执行wsl --update --web-download强制拉取内核更新。如果wsl --update卡在 0%依次执行net stop wuauserv net start wuauserv wsl --update安装完 Ubuntu 首次启动会提示设置用户名和密码输入密码时屏幕不显示任何字符直接输完回车即可。如果报WslRegisterDistribution failed with error: 0x8007019e说明 WSL 功能没启用回到上面第一条命令重新执行并重启。进入 Ubuntu 终端后先更新系统并装基础工具sudo apt update sudo apt upgrade -y sudo apt install -y curl git wget build-essential接着装 Node.js 22Openclaw 要求 Node 版本不低于 22curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - sudo apt install -y nodejs node -v npm -v确认node -v输出 v22 以上。然后一键安装 Openclawcurl -fsSL https://openclaw.ai/install.sh | bash安装过程会进入 Onboarding模型配置那一步先选Skip for now因为我们要手动改到 TaoToken。Default model 随便选一个占位channel 也 Skip。装完后如果提示openclaw: command not found执行mkdir ~/.npm-global npm config set prefix ~/.npm-global echo export PATH~/.npm-global/bin:$PATH ~/.bashrc source ~/.bashrc现在改配置文件。先备份cd ~/.openclaw mv openclaw.json openclaw.json.bak nano openclaw.json把models.providers部分替换成下面这段注意把apiKey换成你自己的 Keyworkspace里的用户名换成你 Ubuntu 的用户名{ models: { providers: { taotoken: { baseUrl: https://taotoken.net/api, apiKey: sk-你的TaoToken密钥, api: openai-completions, models: [ { id: gpt-4o-mini, name: TaoToken Chat, reasoning: false, input: [text], cost: { input: 0, output: 0 }, contextWindow: 128000, maxTokens: 4096 } ] } } } }同时把agents.defaults.model.primary改成taotoken/gpt-4o-mini和上面 provider 名加模型 id 对应。gateway.auth.token保持安装时生成的那串不要动。保存退出后执行chmod 600 ~/.openclaw/openclaw.json。启动 gatewayopenclaw gateway start浏览器打开http://127.0.0.1:18789/#token你的token能看到面板就说明服务起来了。4. 验证请求一次对话确认 TaoToken 通道连通配置改完必须验证否则你可能以为通了实际请求还在走旧地址。最直接的方式是在 Openclaw 里发一条对话。打开 gateway 面板找到对话入口输入「用一句话说明你现在用的是哪个模型通道」发送。如果返回正常文本说明baseUrl和 Key 都生效了。如果返回 401说明 Key 填错或没生效如果返回超时说明baseUrl写错或网络不通。也可以直接在 Ubuntu 终端用 curl 验证通道本身curl https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer sk-你的TaoToken密钥 \ -H Content-Type: application/json \ -d { model: gpt-4o-mini, messages: [{role: user, content: ping}] }返回 JSON 里choices[0].message.content有内容就证明通道和 Key 都没问题。这一步能快速区分是 Openclaw 配置问题还是通道问题。如果 curl 通了但 Openclaw 不通那就是openclaw.json里 provider 名或模型 id 对不上。验证通过后回到 Openclaw 面板再发一条稍微复杂的指令比如「列出当前工作目录下的文件」确认 Agent 能正常调用工具。这一步能验证 gateway 和 workspace 权限是否正常。如果报权限错误检查workspace路径是否存在以及当前用户是否有读写权限。实测下来从改配置到验证通过大概 5 分钟。关键是别跳过 curl 这一步它能帮你快速定位问题层。很多人直接改完配置就发对话报错了不知道是 Key 问题还是配置结构问题来回折腾很久。5. 本篇常见报错排查401、local proxy failed、reading choices部署过程中最容易遇到这几类报错逐个说清楚。401 UnauthorizedKey 错误或没带上。检查openclaw.json里apiKey是否完整复制有没有多余空格。TaoToken 的 Key 以sk-开头复制时注意别漏字符。如果 Key 确认没错检查baseUrl是否是https://taotoken.net/api多写/v1会导致路径拼接错误有些情况下会返回 401 而不是 404。local proxy failed / connection refused通常是 gateway 没启动或者端口被占用。执行openclaw gateway status看状态如果没跑就openclaw gateway start。端口 18789 被占用的话改openclaw.json里gateway.port换一个然后重启。reading choices 报错 / 返回结构解析失败说明通道返回的 JSON 结构和 Openclaw 预期不一致。检查api字段是否是openai-completions以及models数组里的id是否是通道支持的模型 ID。如果模型 ID 写错通道可能返回错误结构Openclaw 解析choices时就报错。OAuth 相关报错如果你之前配过其他 provider 的 OAuth残留配置可能干扰。检查openclaw.json里有没有多余的 provider 段清理掉不用的。Openclaw 会按primary指定的 provider 走但残留配置有时会导致初始化异常。WSL2 里连不到宿主机服务如果你在 WSL2 里跑 Ollama 或其他本地服务注意127.0.0.1在 WSL2 里指向的是 WSL 自己不是 Windows 宿主机。用ip route show | grep default | awk {print $3}查真实网关 IP把baseUrl里的127.0.0.1换成这个 IP。不过用 TaoToken 通道就不存在这个问题因为它是公网地址。排查顺序建议先 curl 验证通道 → 再检查openclaw.json结构 → 最后看 gateway 日志。日志在~/.openclaw/logs/下报错信息比面板提示详细得多。6. 长期使用建议与接入文档跑通之后如果你打算天天用 Openclaw 做编码或自动化任务建议把 gateway 设置成开机自启。在 Windows 任务计划程序里创建一个基本任务程序填explorer.exe参数填shell:AppsFolder\你的Ubuntu AUMID触发条件选「计算机启动时」。AUMID 可以用Get-StartApps | Where-Object { $_.Name -like *Ubuntu* }查到。配置文件建议定期备份但备份前把 Key 替换成占位符。如果多人共用一台机器chmod 600是必须的。模型 ID 如果后续要换只改openclaw.json里models数组的id和agents.defaults.model.primary两处保持一致即可。接入过程中如果遇到通道层面的问题比如 Key 管理、模型列表、额度查询可以看接入文档里面有各语言的调用示例和错误码说明。需要新建或轮换 Key 就去 API Keys 页面。想先试试通道返回效果模型对话页面可以直接发消息验证。长期高频编码任务的话Coding Plan 的额度模型更适合具体可以对比一下自己的调用量再决定。最后提醒一点Openclaw 的 skill 权限比较大能读写文件、执行命令配置gateway.nodes.denyCommands时把不需要的敏感操作禁掉比如摄像头、通讯录、日历这些。默认模板已经禁了一部分按自己需求调整。跑通之后先从只读任务开始试确认行为符合预期再放开更多权限。