
1. Windows 上用 WSL 装 OpenClaw 到底难在哪OpenClaw 是一个可以在本地跑起来的 AI 智能体运行框架能对接大模型 API、执行任务、开网关服务适合想在自己电脑上折腾 Agent 的开发者。但它的原生环境是 LinuxWindows 用户直接装会遇到一堆路径、权限、依赖问题。WSL 就是解决这个矛盾的最佳方案——在 Windows 里跑一个真正的 Linux 子系统既不用装双系统也不用折腾虚拟机。我选的是 AlmaLinux 8 作为 WSL 发行版。原因很简单它和 RHEL/CentOS 生态兼容yum/dnf 包管理成熟Node.js 官方源支持好装 OpenClaw 需要的编译工具链和依赖都能一把梭。相比 UbuntuAlmaLinux 在企业级环境里更常见踩坑资料也多。整条路径分四步装 WSL 并导入 AlmaLinux、初始化系统装 yum 和 Node.js、用 npm 全局装 OpenClaw、配置模型 API 并验证连通性。每一步我都会给出可直接复制的命令和预期输出你照着敲就行。前置条件只有一个Windows 10 版本 2004 及以上内部版本 19041或 Windows 11并且开启了虚拟化。这里有个容易忽略的点WSL 默认把发行版装在 C 盘AlmaLinux 加上 Node.js 依赖动辄几个 GC 盘紧张的话建议先做迁移。我在第 2 节会给出导出再导入到 D 盘的具体命令不需要重装系统。另外提醒一句OpenClaw 本身只是个运行框架它需要对接一个大模型服务才能干活。你可以用任意兼容 OpenAI 接口的服务本文以 TaoToken 为例演示配置因为它同时提供模型对话和 Coding Plan适合长期跑 Agent 任务。下面进入实操。2. 前置准备WSL 安装与 AlmaLinux 导入2.1 一条命令装好 WSL以管理员身份打开 PowerShell执行wsl --install这条命令会自动启用虚拟机平台和 WSL 功能然后提示重启。重启后系统会默认装一个 Ubuntu但我们不用它直接查可用发行版列表wsl.exe --list --online输出里会列出所有可安装的发行版找到AlmaLinux-8。然后安装wsl.exe --install AlmaLinux-8安装完成后设置用户名和密码。这个密码是 sudo 用的记牢。装好后用下面命令确认wsl.exe --list --all看到AlmaLinux-8状态是Stopped或Running就说明装好了。2.2 把系统迁到 D 盘可选但推荐如果 C 盘空间紧张先导出再导入。确保目标目录存在mkdir D:\developTools\wsl wsl --export AlmaLinux-8 D:\developTools\wsl\almalinux8_backup.tar wsl --unregister AlmaLinux-8 wsl --import AlmaLinux8 D:\developTools\wsl\almalinux8 D:\developTools\wsl\almalinux8_backup.tar注意导入后的发行版名字变成了AlmaLinux8你自己起的后面进入系统用这个名字wsl AlmaLinux8进去后whoami会显示 root因为导入的系统默认以 root 登录。想切回普通用户的话在 PowerShell 里用wsl -d AlmaLinux8 -u 你的用户名进入。2.3 初始化 AlmaLinux装 yum 和基础工具AlmaLinux 8 的 WSL 镜像里默认可能没有 yum需要手动补。进入系统后执行rpm -ivh http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/yum-*.rpm如果这个镜像地址失效CentOS 8 已 EOL改用 AlmaLinux 官方源dnf install -y yum装完 yum 后更新一下系统并装常用工具yum update -y yum install -y curl wget git vim tar gzip到这里系统环境就绪了。下一步装 Node.js。3. Node.js 与 npm 环境配置含可复制配置片段3.1 用 NodeSource 源装 LTS 版 Node.jsAlmaLinux 自带的 Node.js 版本太老OpenClaw 要求 Node 18 以上。用 NodeSource 官方源装最新 LTScurl -sL https://rpm.nodesource.com/setup_lts.x | sudo bash - yum install -y nodejs装完验证版本node -v npm -v预期输出类似v20.x.x和10.x.x。如果node -v报 command not found说明源没生效重新跑一遍 setup 脚本。3.2 配置 npm 国内镜像npm 默认源在国内拉包很慢换成 npmmirrornpm config set registry https://registry.npmmirror.com npm config get registry确认输出是https://registry.npmmirror.com/。3.3 全局安装 OpenClawnpm install -g openclawlatest --verbose--verbose是为了看安装进度第一次装依赖多耐心等。装完确认openclaw --version3.4 配置模型接入关键步骤OpenClaw 需要对接大模型 API。这里以 TaoToken 为例它的 Base URL 是https://taotoken.net/api兼容 OpenAI 接口格式。你需要先在 TaoToken 控制台创建一个 API Key然后配置到 OpenClaw。OpenClaw 的配置文件通常在~/.openclaw/config.json具体路径以openclaw onboard提示为准。一个可复制的配置片段如下{ baseUrl: https://taotoken.net/api, apiKey: sk-你的TaoToken密钥, model: claude-sonnet-4-20250514, provider: openai-compatible }如果你用的是 Claude Code 类工具链配置项名称可能是ANTHROPIC_BASE_URL和ANTHROPIC_API_KEY对应填{ ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: sk-你的TaoToken密钥, model: claude-sonnet-4-20250514 }三件套记牢Base URL 填https://taotoken.net/apiKey 填你创建的密钥Model ID 填你想用的模型名。缺一个都连不上。3.5 启动 OpenClawopenclaw onboard --install-daemon这个命令会引导你完成初始化并安装守护进程。过程中如果问是否 skip 某些步骤第一次可以先 skip后面手动配。完成后启动openclaw daemon start openclaw dashboarddashboard会输出一个本地访问地址通常是http://localhost:xxxx在 Windows 浏览器里直接打开就能看到 OpenClaw 的 Web 界面。4. 验证请求确认 OpenClaw 真的跑通了4.1 检查服务状态openclaw gateway status openclaw daemon status两个都显示 running 才算正常。如果 gateway 没起来先openclaw gateway stop再openclaw gateway start。4.2 发一条测试请求在 dashboard 界面里找到对话入口输入一句简单的话比如「你好介绍一下你自己」。如果模型正常返回说明 API 配置正确。也可以用命令行直接测curl -X POST https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer sk-你的TaoToken密钥 \ -H Content-Type: application/json \ -d { model: claude-sonnet-4-20250514, messages: [{role: user, content: ping}] }返回 JSON 里有choices字段且 content 非空就说明 API 通了。这一步能排除是 OpenClaw 的问题还是 API 的问题。4.3 验证 Agent 任务执行OpenClaw 的核心能力是跑 Agent 任务。在 dashboard 里创建一个简单任务比如「读取当前目录下的文件列表并总结」。如果它能调用工具、返回结果说明整个链路——WSL 系统、Node.js 运行时、OpenClaw 框架、模型 API——全部打通。4.4 常用运维命令openclaw dashboard # 查看 Web 访问地址 openclaw gateway stop # 停止网关 openclaw daemon stop # 停止守护进程 openclaw daemon start # 启动守护进程 exit # 退出 WSL wsl --shutdown # 在 PowerShell 里彻底停掉 WSL日常开发建议保持 daemon 运行这样开机自启后 OpenClaw 随时可用。不用的时候wsl --shutdown释放内存。5. 常见报错排查401、proxy failed、reading choices5.1 401 Unauthorized最常见。原因通常是 API Key 填错、过期或者 Base URL 少了/v1。检查两点Key 是否完整复制没有多余空格Base URL 是否和文档一致。TaoToken 的 Base URL 是https://taotoken.net/api注意不要自己加/v1除非文档明确要求。如果用的是 Claude Code 类配置确认ANTHROPIC_BASE_URL和ANTHROPIC_API_KEY都填了缺一个就会 401。5.2 local proxy failed / connection refused这个报错说明 OpenClaw 尝试连本地代理但没连上。检查~/.openclaw/config.json里有没有残留的 proxy 配置。如果有httpProxy或httpsProxy字段删掉或注释。WSL 环境下不需要额外代理直连即可。另外确认 WSL 的网络模式。默认 NAT 模式下 WSL 能访问外网但如果 Windows 防火墙拦了也会 connection refused。在 PowerShell 里跑wsl --shutdown wsl -d AlmaLinux8重启后一般能恢复。5.3 reading choices 报错 / 返回空 choices这个通常是模型返回格式不对或者模型名写错了。检查 config 里的model字段是否和 API 支持的模型 ID 完全一致。比如claude-sonnet-4-20250514不能写成claude-sonnet-4。用 4.2 节的 curl 命令单独测一下确认模型名有效。如果 curl 能返回但 OpenClaw 报 reading choices可能是 OpenClaw 版本旧了升级npm install -g openclawlatest5.4 OAuth 相关报错如果配置里用了 OAuth 方式认证报OAuth token expired或invalid_grant说明 token 失效。重新走一遍授权流程或者改用 API Key 方式。API Key 方式更简单适合本地开发。5.5 npm install 卡住或报错先确认 registry 换成了 npmmirror。如果还卡清缓存重试npm cache clean --force npm install -g openclawlatest --verbose权限问题加sudo但全局装 npm 包不建议长期用 sudo可以配置 npm 的 prefix 到用户目录。5.6 WSL 里 node 命令找不到退出 WSL 再重进或者source ~/.bashrc。如果还不行检查/usr/bin/node是否存在which node ls -l /usr/bin/node不存在就重装 NodeSource 源。6. 长期跑 Agent 任务Coding Plan 更省心本地把 OpenClaw 跑起来只是第一步。真正要长期跑 Agent 任务、做代码生成、自动化工作流API 调用的稳定性和成本就变成核心问题。按量计费的模式在任务量大时费用不可控而且每次都要盯着余额。TaoToken 的 Coding Plan 就是为这种场景设计的——固定周期内不限量调用适合持续跑 Agent、做批量代码处理的开发者。配置方式和普通 API 一样Base URL 还是https://taotoken.net/apiKey 换成 Coding Plan 对应的密钥即可。OpenClaw 的 config 里不需要改其他东西。如果你只是偶尔测一下模型效果用模型对话功能就够了按量付费更灵活。想先体验一下模型返回质量可以直接在 TaoToken 的模型对话页面发几条请求确认模型符合预期再接入 OpenClaw。接入文档里有各语言和工具的完整配置示例包括 Claude Code、Cline、Codex 等常见客户端的 settings 片段。遇到配置问题先翻文档大部分报错都有对应说明。最后说个实际经验WSL 的 AlmaLinux 跑久了内存会涨建议定期wsl --shutdown重启。OpenClaw 的 daemon 设成开机自启后每次重启 WSL 会自动拉起不用手动敲命令。模型 ID 别写错这是最容易翻车的地方。