☰
Windows 上用 WSL 装 OpenClaw:AlmaLinux + Node.js 环境一次跑通
2026/10/4 13:25:26 网站建设 项目流程

1. Windows 上用 WSL 装 OpenClaw 到底难在哪

OpenClaw 是一个可以在本地跑起来的 AI 智能体运行框架,能对接大模型 API、执行任务、开网关服务,适合想在自己电脑上折腾 Agent 的开发者。但它的原生环境是 Linux,Windows 用户直接装会遇到一堆路径、权限、依赖问题。WSL 就是解决这个矛盾的最佳方案——在 Windows 里跑一个真正的 Linux 子系统,既不用装双系统,也不用折腾虚拟机。

我选的是 AlmaLinux 8 作为 WSL 发行版。原因很简单:它和 RHEL/CentOS 生态兼容,yum/dnf 包管理成熟,Node.js 官方源支持好,装 OpenClaw 需要的编译工具链和依赖都能一把梭。相比 Ubuntu,AlmaLinux 在企业级环境里更常见,踩坑资料也多。

整条路径分四步:装 WSL 并导入 AlmaLinux、初始化系统装 yum 和 Node.js、用 npm 全局装 OpenClaw、配置模型 API 并验证连通性。每一步我都会给出可直接复制的命令和预期输出,你照着敲就行。前置条件只有一个:Windows 10 版本 2004 及以上(内部版本 19041+)或 Windows 11,并且开启了虚拟化。

这里有个容易忽略的点:WSL 默认把发行版装在 C 盘,AlmaLinux 加上 Node.js 依赖动辄几个 G,C 盘紧张的话建议先做迁移。我在第 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.js

AlmaLinux 自带的 Node.js 版本太老,OpenClaw 要求 Node 18 以上。用 NodeSource 官方源装最新 LTS:

curl -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 默认源在国内拉包很慢,换成 npmmirror:

npm config set registry https://registry.npmmirror.com npm config get registry

确认输出是https://registry.npmmirror.com/。

3.3 全局安装 OpenClaw

npm install -g openclaw@latest --verbose

--verbose是为了看安装进度,第一次装依赖多,耐心等。装完确认:

openclaw --version

3.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/api,Key 填你创建的密钥,Model ID 填你想用的模型名。缺一个都连不上。

3.5 启动 OpenClaw

openclaw onboard --install-daemon

这个命令会引导你完成初始化并安装守护进程。过程中如果问是否 skip 某些步骤,第一次可以先 skip,后面手动配。完成后启动:

openclaw daemon start openclaw dashboard

dashboard会输出一个本地访问地址,通常是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 choices

5.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 openclaw@latest

5.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 openclaw@latest --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/api,Key 换成 Coding Plan 对应的密钥即可。OpenClaw 的 config 里不需要改其他东西。

如果你只是偶尔测一下模型效果,用模型对话功能就够了,按量付费更灵活。想先体验一下模型返回质量,可以直接在 TaoToken 的模型对话页面发几条请求,确认模型符合预期再接入 OpenClaw。

接入文档里有各语言和工具的完整配置示例,包括 Claude Code、Cline、Codex 等常见客户端的 settings 片段。遇到配置问题先翻文档,大部分报错都有对应说明。

最后说个实际经验:WSL 的 AlmaLinux 跑久了内存会涨,建议定期wsl --shutdown重启。OpenClaw 的 daemon 设成开机自启后,每次重启 WSL 会自动拉起,不用手动敲命令。模型 ID 别写错,这是最容易翻车的地方。

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

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

立即咨询