ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

OpenClaw 全面解析:从零到精通 第 006 篇:Windows/WSL2 安装部署实战与 TaoToken 接入

OpenClaw 全面解析:从零到精通 第 006 篇:Windows/WSL2 安装部署实战与 TaoToken 接入 1. Windows 11 WSL2 部署 OpenClaw 到底解决什么问题OpenClaw 是一个开源 AI 智能体框架能在本地跑起一个可执行命令、读写文件、调用外部模型的 Agent 运行时。它原生面向 Linux 生态很多依赖systemd、Unix socket、bash 工具链在纯 Windows 上会水土不服。所以 Windows 用户最省心的路径是用 WSL2 跑一个 Ubuntu 子系统把 OpenClaw 装在里面再从 Windows 浏览器访问它的 Gateway 控制台。这篇是系列第 006 篇专门讲 Windows 11 WSL2 的完整安装与部署顺带把 API 端点切到 TaoToken让 Key 管理统一起来。适合三类人一是手上只有 Windows 机器、想本地跑 Agent 的开发者二是已经装了 WSL2 但 OpenClaw 起不来、卡在网络或端口上的同学三是想把模型调用收敛到一个入口、不想在多个平台之间来回换 Key 的人。我试过在纯 Windows 上直接装依赖报错能排到怀疑人生最后还是回到 WSL2。下面这套流程是我实测跑通的命令可以直接复制。核心检索词先记住OpenClaw 在 Windows/WSL2 上的安装与部署重点在发行版选择、依赖安装、服务启动、报错排查这四块。先说结论性的选型WSL2 部署接近原生 Linux 性能生态兼容性好配置也简单原生 Windows 部署虽然不占虚拟化资源但部分功能受限、维护复杂。除非你有特殊需求否则一律走 WSL2。下面从环境搭建开始一步步来。2. WSL2 环境搭建与 Ubuntu 发行版选择这一章解决“地基”问题。WSL2 装不好后面全是坑。系统要求Windows 10 版本 2004 及以上或 Windows 1164 位支持 SLAT 的处理器至少 4GB 内存推荐 8GBBIOS/UEFI 里开启虚拟化。Windows 11 基本都满足重点是把 WSL2 功能和虚拟机平台打开。以管理员身份打开 PowerShell执行两条启用命令dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart执行完必须重启计算机别跳过。重启后下载 WSL2 内核更新包或者用 PowerShell 直接拉Invoke-WebRequest -Uri https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi -OutFile wsl_update_x64.msi Start-Process wsl_update_x64.msi装完把 WSL2 设为默认版本并验证wsl --set-default-version 2 wsl --status接下来是发行版选择。推荐 Ubuntu 22.04 LTS 或 24.04 LTS。22.04 长期支持、生态最稳24.04 更新、功能更全。命令行直接装wsl --install -d Ubuntu-22.04装完从开始菜单启动 Ubuntu首次会提示设置用户名比如 openclaw和密码等初始化完成。然后在 PowerShell 里确认版本wsl -l -v输出里VERSION列必须是 2STATE是 Running。如果显示 1用wsl --set-version Ubuntu-22.04 2转换。网络互通是 WSL2 最容易翻车的地方。WSL2 默认 NAT 网络需要在 Windows 用户目录建.wslconfig路径是C:\Users\你的用户名\.wslconfig内容如下[wsl2] memory4GB processors2 localhostForwardingtrue [experimental] autoMemoryReclaimgradual networkingModemirrored dnsTunnelingtrue firewalltrue autoProxytrue sparseVhdtruelocalhostForwardingtrue是关键它让 Windows 浏览器能直接访问 WSL2 里的服务。改完执行wsl --shutdown再wsl重启生效。防火墙方面管理员 PowerShell 加一条入站规则New-NetFirewallRule -DisplayName WSL -Direction Inbound -InterfaceAlias vEthernet (WSL) -Action Allow验证互通在 WSL2 里ping $(cat /etc/resolv.conf | grep nameserver | awk {print $2})能通 Windows 主机在 Windows 里ping $(wsl hostname -I)能通 WSL2。这两步通了地基就算打好了。3. 在 WSL2 中安装 OpenClaw 与依赖配置进入 Ubuntu 终端先更新系统包再装基础依赖sudo apt update sudo apt upgrade -y sudo apt install -y curl wget git build-essentialbuild-essential带 gcc、g、makeOpenClaw 某些原生模块编译要用。接着装 Node.js要求 ≥22.0.0。推荐用 nvm 管理版本curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash source ~/.bashrc nvm install 22 nvm use 22 nvm alias default 22 node -v npm -v然后装 pnpmOpenClaw 用它做包管理npm install -g pnpm pnpm -v安装 OpenClaw 有两种方式。一键脚本curl -fsSL https://openclaw.ai/install.sh | bash echo export PATH$HOME/.local/bin:$PATH ~/.bashrc source ~/.bashrc openclaw --version或者走 npm 全局安装pnpm add -g openclawlatest openclaw --version装完运行openclaw进入交互式配置向导。安全警告选 Y配置模式选 QuickStart网关端口默认 18789 直接回车模型提供商这一步先选“暂时跳过”我们后面统一改到 TaoTokenChannels 也先跳过Hooks 选 Y 安装Skills 直接回车跳过。向导结束后配置文件在~/.openclaw/openclaw.json支持 JSON5。现在把模型端点切到 TaoToken。先到 TaoToken 控制台创建 API Key地址是 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentopenclaw_wsl2utm_campaignrewrite 拿到 Key 后编辑配置{ agents: { defaults: { workspace: ~/.openclaw/workspace } }, gateway: { port: 18789, host: 0.0.0.0 }, models: { default: claude-sonnet-4-20250514, providers: { taotoken: { apiKey: sk-你的TaoToken密钥, baseUrl: https://taotoken.net/api, model: claude-sonnet-4-20250514 } } }, hooks: { memory: { enabled: true } } }三件套记牢Base URL 填https://taotoken.net/apiKey 填控制台生成的Model ID 填你要用的模型名。改完openclaw restart生效。这样所有模型调用都走 TaoToken 统一入口换模型只改一个字段。4. 启动服务与连通性验证清单配置改完启动 Gatewayopenclaw gateway start openclaw statusstatus里 Gateway 显示 running 就对了。因为前面配了localhostForwardingtrue直接在 Windows 浏览器打开http://localhost:18789就能看到 Web 控制台。如果打不开先确认 WSL2 里curl http://127.0.0.1:18789有响应再排查 Windows 侧。验证模型连通性最直接的方式是在控制台里发一条测试消息或者用命令行触发一次对话。也可以到 TaoToken 的模型对话页面 https://taotoken.net/model-chat?utm_sourcetaotoken_aicg_blog_endutm_contentopenclaw_wsl2utm_campaignrewrite 单独验证 Key 是否可用两边对照能快速定位是 Key 问题还是 OpenClaw 配置问题。开机自启用 systemdopenclaw gateway install sudo systemctl enable openclaw-gateway sudo systemctl start openclaw-gateway sudo systemctl status openclaw-gatewayWindows 侧想让它随系统启动建一个start_openclaw.batecho off wsl -d Ubuntu-22.04 -u openclaw -e bash -c openclaw start丢进C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup即可。验证清单我列一下逐条打勾wsl -l -v版本为 2node -v≥22pnpm -v正常openclaw --version有输出openclaw statusGateway runningWindows 浏览器能开 18789控制台发消息有模型回复TaoToken 后台能看到调用记录。全过说明部署成功。常用管理命令备着openclaw logs --follow看日志openclaw restart重启openclaw update更新openclaw stop停止。5. 常见报错排查401、local proxy failed、端口占用排障这块我踩过的坑最多按报错对照着查最快。401 Unauthorized多半是 Key 或 Base URL 不对。检查openclaw.json里baseUrl是不是https://taotoken.net/api注意别多写/v1或少写。Key 有没有多余空格、有没有过期。改完必须openclaw restart热改不生效。如果还报 401去 TaoToken 控制台确认 Key 状态和额度。local proxy failed / connection refused这是 WSL2 网络层的问题。先wsl --shutdown再wsl重启网络栈确认.wslconfig里localhostForwardingtrue和networkingModemirrored都在检查/etc/resolv.conf的 DNS 是否正常。如果 Windows 浏览器打不开但 WSL2 内curl能通基本是防火墙或转发没生效重跑那条New-NetFirewallRule。reading choices / 响应解析失败通常是模型返回格式和 OpenClaw 预期不一致或者 Model ID 填错。确认model字段和 TaoToken 支持的模型名完全一致大小写别错。也可能是流式响应被中间层截断换一个模型试能快速判断是配置还是模型侧问题。OAuth / 认证跳转异常如果你之前配过别的 provider 残留了 OAuth 配置和 TaoToken 的 Key 模式冲突。清掉providers里无关条目只留 taotoken 一个重启服务。端口 18789 被占用sudo lsof -i :18789 sudo kill -9 PID或者改配置里的gateway.port为 18790重启。权限不足sudo chown -R openclaw:openclaw ~/.openclaw chmod -R 755 ~/.openclawWSL2 起不来管理员 PowerShell 执行net stop LxssManager net start LxssManager或wsl --shutdown后重开。性能卡顿把.wslconfig的memory提到 8GB、processors提到 4、加swap4GBautoMemoryReclaimgradual保留重启 WSL。排障时优先看openclaw logs --follow的实时输出报错原文比猜有用得多。接入相关的完整文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentopenclaw_wsl2utm_campaignrewrite 配置字段对不上时翻一下最省时间。6. 把 Key 和端点统一到 TaoToken 的长期用法部署跑通只是开始真正省心的是把模型调用收敛到一个入口。OpenClaw 支持多 provider但每加一个就多一份 Key 要管、多一套额度要盯。统一走 TaoToken 后openclaw.json里只维护一个taotokenprovider换模型改model字段就行不用动 Key。如果你后面要跑长期编码任务或 Agent 循环建议了解下 Coding Plan地址 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentopenclaw_wsl2utm_campaignrewrite 适合高频调用的场景。日常调试和验证模型用模型对话页面就够。控制台在 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentopenclaw_wsl2utm_campaignrewrite 能看调用量和余额。安全上别偷懒Key 写进~/.openclaw/.env并chmod 600配置文件里用环境变量引用别把明文 Key 提交到 git。沙盒隔离建议开{ sandbox: { enabled: true, allowedPaths: [/home/openclaw/Documents, /home/openclaw/Downloads] } }数据备份用 rsync 定时同步到 Windows 盘rsync -av ~/.openclaw /mnt/c/backup/openclaw_$(date %Y%m%d)最后提醒一句WSL2 里的服务默认只在子系统内监听host设0.0.0.0配合localhostForwarding才能从 Windows 访问如果要局域网访问还得加netsh interface portproxy转发。这套组合拳打完Windows 11 上的 OpenClaw 就算真正落地了后续升级openclaw update一条命令搞定。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进