首页 / 资讯中心 / 文章详情

本地安装部署openclaw(最新版):从WSL到npm的完整配置大纲

本地安装部署openclaw(最新版):从WSL到npm的完整配置大纲 ★ FEATURED ARTICLE
1. Windows 下用 WSL 跑 openclaw 最新版先把环境这关过了openclaw 是一个可以本地部署、通过网关暴露 Web 控制台与 Agent 能力的开源项目适合想把大模型能力接到自己机器上、又不想依赖云端托管的人。它支持自定义模型提供商也就是说你可以把请求指向任意兼容 OpenAI 协议的 endpoint。这篇要解决的就是在 Windows 上不装双系统、不折腾虚拟机直接用 WSL2 Ubuntu 把 openclaw 最新版跑起来并且把模型通道切到 TaoToken 统一入口做连通性验证。很多人第一次装会卡在三个地方一是 WSL 装完默认落在 C 盘磁盘一紧张就难受二是 Ubuntu 自带的 Node 版本太老npm 装 openclaw 直接报 engine 不匹配三是装完之后不知道 endpoint 该填什么本地模型和远程通道混在一起。下面按「装 WSL → 换目录 → 装 Node 22 → 装 openclaw → 改配置 → 验证请求」的顺序走一遍命令都能直接复制。适合谁看手上是 Windows 10/11、想本地跑 Agent 网关、对 Linux 命令不算熟但能照着敲的开发者。整个过程不需要额外硬件一台普通笔记本就够。2. WSL2 初始化与 Ubuntu 子系统安装避坑2.1 开启 WSL2 并安装 Ubuntu在 Windows 搜索框输入 powershell右键以管理员身份运行执行wsl --install这条命令会一次性开启虚拟机平台、安装 WSL2 内核并拉取默认发行版。执行完重启电脑这一步别省否则内核组件没加载后面wsl -l -v会报错。重启后查看可用的发行版列表wsl.exe --list --online然后安装 Ubuntuwsl.exe --install Ubuntu首次进入会让你创建默认用户和密码这个用户就是后面所有操作的账号别用 root 直接跑日常命令。进去之后先更新依赖sudo apt update sudo apt upgrade -y2.2 把子系统从 C 盘迁到其他盘默认安装位置在 C 盘openclaw 加上 Node 依赖体积不小建议迁走。先看状态wsl -l -v如果显示 Running先停掉wsl --shutdown导出镜像假设目标盘是 F 盘目录自己建好wsl --export Ubuntu F:\wsl\ubuntu.tar注销原系统wsl --unregister Ubuntu再确认一次状态列表里应该已经没有 Ubuntu 了。然后导入到新位置wsl --import Ubuntu F:\wsl F:\wsl\ubuntu.tar导入后默认登录用户会变成 root需要手动切回你创建的用户或者改/etc/wsl.conf里的default字段。这一步踩过坑的人不少登录进去发现是 root 别慌su 你的用户名就能切。2.3 安装 Node.js 22 与 npmopenclaw 最新版要求 Node 22 以上Ubuntu 仓库自带的版本通常偏低用 NodeSource 源装sudo apt install -y curl curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - sudo apt install -y nodejs验证版本node -v npm -v正常应该输出 v22.x 和对应的 npm 版本。如果node -v还是老版本说明 PATH 里有旧 Node用which node查一下路径把旧的删掉或调整优先级。多版本共存时可以用 nvm 管理但这里单版本够用不额外引入复杂度。3. openclaw 安装与 openclaw.json 配置改到 TaoToken 通道3.1 用 npm 全局安装 openclaw在 WSL 终端里执行sudo npm install -g openclawlatest装完检查openclaw --help能打印出命令列表就说明二进制已经进 PATH 了。如果提示 command not found多半是 npm 全局 bin 目录没进 PATH用npm config get prefix看路径再把它加到~/.bashrc里。3.2 运行引导程序安装守护进程openclaw onboard --install-daemon引导过程会让你选模型提供商。这里选自定义custom因为我们要把 endpoint 指向 TaoToken 统一通道。需要填三样东西Base URL、API Key、Model ID。TaoToken 的 API 地址是https://taotoken.net/apiKey 在控制台的 API Keys 页面生成。引导完成后配置文件落在~/.openclaw/openclaw.json。用 vim 打开vim ~/.openclaw/openclaw.json把models.providers部分改成指向 TaoToken 的配置。下面是一个可复制的片段路径和字段名与官方结构一致{ models: { providers: { taotoken: { baseUrl: https://taotoken.net/api/v1, apiKey: sk-你的TaoToken密钥, api: openai-completions, models: [ { id: claude-sonnet-4-5, name: Claude Sonnet 4.5, reasoning: false, input: [text], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, contextWindow: 200000, maxTokens: 8192 } ] } } }, agents: { defaults: { model: { primary: taotoken/claude-sonnet-4-5 }, models: { taotoken/claude-sonnet-4-5: { alias: sonnet } } } } }注意baseUrl后面要带/v1这是 OpenAI 兼容协议的标准路径。api字段填openai-completionsopenclaw 会按这个协议发请求。Model ID 要和 TaoToken 支持的模型名对齐写错了会在响应里报 model not found。3.3 网关 token 与本地访问配置改完获取网关鉴权 tokenopenclaw config get gateway.auth.token把返回的 token 拼到本地地址后面http://127.0.0.1:18789/#token你的token浏览器打开这个地址就能进控制台。如果端口被占用改gateway.port字段换个端口重启守护进程生效。4. 验证请求确认 openclaw 真的连上了 TaoToken4.1 用 curl 直接打通道在改 openclaw 配置之前先用 curl 确认 TaoToken 通道本身是通的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-5, messages: [{role: user, content: 回复ok两个字}], max_tokens: 20 }返回 JSON 里choices[0].message.content有内容说明 Key 和 endpoint 都没问题。这一步能排除掉大部分「配置写了但连不上」的困惑。4.2 在 openclaw 里发一条测试消息回到控制台在对话输入框发一句「你好报一下你用的模型」。如果配置正确回复会正常返回。同时可以在 WSL 里看守护进程日志openclaw logs --follow日志里会打印出请求的 provider 和 model确认走的是taotoken而不是默认的本地 provider。如果日志里出现local proxy failed或reading choices之类的字样说明请求发出去了但响应解析失败往下看排错部分。4.3 验证成功的判断标准三个信号同时满足就算通了curl 能拿到 JSON 响应控制台对话有正常回复日志里 provider 显示为 taotoken。缺一个就按下一节的对照表排查。5. 常见报错排查401、local proxy failed、reading choices5.1 401 Unauthorized最常见的原因是 Key 没填对或者带了多余空格。检查openclaw.json里apiKey字段确认是sk-开头、没有换行。另外注意 TaoToken 的 Key 和网关 token 是两回事别把gateway.auth.token填到 provider 的 apiKey 里。改完配置要重启守护进程openclaw daemon restart5.2 local proxy failed这个报错通常出现在 openclaw 尝试走本地代理但代理没起来的时候。如果你配置的是远程 endpoint检查baseUrl是不是写成了http://127.0.0.1:xxxx这种本地地址。指向 TaoToken 时应该是https://taotoken.net/api/v1。另外 WSL 里的 DNS 偶尔会抽风ping taotoken.net不通就先sudo apt install -y resolvconf修一下解析。5.3 reading choices 解析失败日志里出现reading choices一般是响应体结构和预期不符。可能是api字段填错了比如填成了anthropic-messages但 endpoint 返回的是 OpenAI 格式。确认api为openai-completions。还有一种情况是模型 ID 写错服务端返回了错误对象而不是正常的 choices 数组把 Model ID 改成 TaoToken 文档里列出的名称即可。5.4 OAuth 相关报错如果你之前配过 qwen-portal 这类 OAuth 提供商auth.profiles里会残留 oauth 模式。切到 TaoToken 的 API Key 模式后把不需要的 profile 删掉避免 openclaw 在启动时尝试刷新过期的 OAuth token 而卡住。配置里只保留taotoken一个 provider 最省心。5.5 Node 版本不匹配npm install -g openclawlatest报 engine 错误说明 Node 低于 22。回到 2.3 节重装 Node或者用nvm install 22 nvm use 22切换。装完node -v确认是 v22 再重试。6. 把通道固定下来后续接入与长期使用建议配置跑通之后建议把openclaw.json备份一份改坏了能快速回滚。日常使用中如果要在多个模型之间切换可以在agents.defaults.models里加别名比如给 sonnet 和 haiku 各配一个 alias对话时用别名指定不用每次改主模型。需要长期跑 Agent 任务或者做编码辅助的可以了解下 Coding Plan 这类按周期计费的方案比单次调用更适合高频场景。模型对话入口适合临时验证某个模型的表现API Keys 页面用来管理密钥和查看用量接入文档里有各语言的调用示例。这几个入口配合起来本地 openclaw 的通道就能稳定用下去。最后提醒一句WSL 的时钟偶尔会和宿主机不同步导致 HTTPS 请求证书校验失败。遇到莫名其妙的 TLS 错误先sudo hwclock -s同步一下时间再试。这个坑不常遇到但遇到了很难查。
阅读完成 · 觉得有帮助?
咨询建站