1. 为什么 Windows 上跑 OpenClaw 总在第一步卡住
OpenClaw 是一个基于 Node.js 的 AI 工具运行时,内置 Gateway 服务,用来统一管理模型调用、配置和本地工作目录。它适合三类人:想在自己电脑上跑 AI 编码助手的开发者、需要把模型请求收敛到一个入口的运维同学,以及刚接触命令行、想找个能跟做的部署案例的小白。问题在于,Windows 和 macOS、Linux 的命令行生态差别很大,很多人第一次装 OpenClaw 时,卡的不是 OpenClaw 本身,而是 PowerShell 执行策略、Node 版本、PATH 没刷新这三件小事。
我见过最多的场景是这样的:照着教程复制了一行安装命令,回车后 PowerShell 直接甩出一句「无法加载文件,因为在此系统上禁止运行脚本」,然后人就懵了。还有人 Node 装的是 v18,安装脚本检测到版本不够,自动去下便携版 Node,结果网络一抖,卡在半路。更隐蔽的是 PATH 问题——安装明明成功了,新开终端敲openclaw却提示「不是内部或外部命令」,其实只是当前终端没重新加载环境变量。
这篇就按 Windows 从零到可用的路径走一遍:先解决 PowerShell 执行策略,再校验 Node/npm 环境,然后用一键脚本或 npm 手动装,接着把 TaoToken 的统一 Key 接进 OpenClaw 的配置里,最后用几条命令验证 Gateway 是否真的在监听、日志有没有报错。每一步都给可复制的 PowerShell 命令和预期输出,你照着敲就行。核心检索词先放这儿:OpenClaw Windows 一键部署、PowerShell 执行策略、npm 全局安装、TaoToken 统一 Key 接入。
需要提前说清楚一点:OpenClaw 的安装脚本会从官方地址拉取,TaoToken 在这里的角色是提供统一的模型 API 通道,也就是你把 Base URL 和 Key 填进 OpenClaw 的配置后,模型请求走 TaoToken 的 API 入口。两者是配合关系,不是替代关系。下面进入实操。
2. TaoToken 统一 Key 的前置准备与 API 通道说明
在装 OpenClaw 之前,先把 TaoToken 这边的 Key 准备好,这样装完就能直接接上,不用来回切窗口。TaoToken 是一个模型 API 聚合通道,你可以把它理解成一个「统一收银台」:不管你后面想调哪个模型,OpenClaw 只认一个 Base URL 和一个 Key,换模型时改 Model ID 就行,不用每个模型单独配一套鉴权。官网入口是 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API 根地址是 https://taotoken.net/api 。
拿 Key 的路径不复杂:进官网后找到控制台,在 API Keys 页面创建一个新 Key。创建时建议给 Key 起个能认出来的名字,比如openclaw-win-local,方便以后在多个工具之间区分。Key 只在创建时完整显示一次,复制后先存到密码管理器或者临时文本里,别直接贴在聊天窗口。控制台地址是 https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API Keys 页面是 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。
这里有个容易踩的坑:很多人以为拿到 Key 就完事了,其实还要确认两件事。第一,Base URL 到底填https://taotoken.net/api还是带/v1的版本,这取决于 OpenClaw 的 provider 配置格式,后面第 3 节会给完整片段。第二,Model ID 要和你实际想用的模型对上,TaoToken 的模型列表在文档里有,文档入口是 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。如果你只是先跑通链路,随便选一个便宜的小模型做验证就行,等 Gateway 起来了再换。
另外,如果你后面打算长期用 OpenClaw 做编码或 Agent 任务,可以顺手看一下 Coding Plan,入口是 https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。它和按量计费的 Key 是两条线,适合高频调用场景。不过这一节的重点还是:先把 Key 和 Base URL 记下来,装完 OpenClaw 立刻就能填。
注意:Key 属于敏感凭据,不要写进会提交到 Git 的配置文件里。OpenClaw 的配置一般放在用户目录下,不在项目仓库内,相对安全,但如果你手动改项目里的配置,记得加
.gitignore。
3. 可复制的 PowerShell 配置:执行策略、Node 校验与 OpenClaw 安装
这一节是全文的核心操作区,命令都可以直接复制。先解决 PowerShell 执行策略,这是 Windows 上跑任何.ps1脚本的第一道门。以管理员身份打开 PowerShell,运行:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser执行后会提示你确认,输入Y回车。RemoteSigned的意思是:本地写的脚本可以直接跑,从网上下载的脚本需要有签名。这比Unrestricted安全,也比Restricted实用。如果你只想临时放开,可以用-Scope Process,但那样每次开新窗口都要重设,不推荐。
接着校验 Node 和 npm。OpenClaw 要求 Node v22.19 及以上,先看当前版本:
node -v npm -v如果node -v输出低于 v22.19,或者提示命令不存在,用 winget 装 LTS 版:
winget install OpenJS.NodeJS.LTS装完必须关掉当前终端,重新开一个,再跑node -v确认。这一步很多人忽略,导致后面 npm 全局安装时用的还是旧 Node。确认 Node 没问题后,可以顺手把 npm 的日志级别调低,减少安装时的噪音:
npm config set loglevel error npm config set fund false npm config set audit false然后是一键安装。官方脚本地址是https://openclaw.ai/install.ps1,用irm拉取并执行:
irm https://openclaw.ai/install.ps1 | iex如果你想要更可控的方式,直接用 npm 全局安装:
npm install -g openclaw@latestnpm 方式的好处是升级方便,坏处是需要 npm 全局目录的写权限。如果遇到EACCES权限错误,把全局目录改到用户目录下:
npm config set prefix "$env:APPDATA\npm"改完后把$env:APPDATA\npm加到用户 PATH 里,再重开终端。安装完成后,OpenClaw 的配置文件通常落在用户目录下,你需要把 TaoToken 的 Base URL、Key 和 Model ID 填进去。下面是一个 JSON 配置片段,路径按 OpenClaw 实际生成的配置目录来,一般是%USERPROFILE%\.openclaw\config.json或类似位置,你可以在openclaw doctor的输出里看到确切路径:
{ "providers": { "taotoken": { "baseUrl": "https://taotoken.net/api", "apiKey": "sk-你的TaoTokenKey", "model": "你的ModelID" } }, "defaultProvider": "taotoken" }三件套记牢:Base URL 填https://taotoken.net/api,Key 填你创建的那串,Model ID 填文档里对应的模型标识。如果你用的是 OpenClaw 的交互式引导,运行openclaw onboard后按提示选自定义 provider,把这三项填进去也行。填完保存,别急着启动,先跑一次诊断:
openclaw doctordoctor会检查配置文件语法、provider 连通性和 Gateway 状态。如果它报 provider 连不上,先别怀疑 OpenClaw,多半是 Key 或 Base URL 写错了,回到配置里逐字核对。
4. 验证请求与成功结果:端口监听、日志确认与一次真实调用
配置填完,接下来要证明它真的能跑。第一步是启动 Gateway:
openclaw gateway start然后看状态:
openclaw gateway status正常输出里会有running或listening字样,以及一个本地端口号,常见的是 3000 或 8080 段。如果状态是stopped,先看日志。OpenClaw 的日志一般在%USERPROFILE%\.openclaw\logs\下,用 PowerShell 看最新几行:
Get-ChildItem "$env:USERPROFILE\.openclaw\logs" | Sort-Object LastWriteTime -Descending | Select-Object -First 1 | Get-Content -Tail 50日志里如果出现listening on加端口号,说明 Gateway 起来了。如果出现ECONNREFUSED或401,那就是 provider 鉴权或网络问题,回到第 5 节排查。
端口确认后,做一次真实调用验证。OpenClaw 一般提供 CLI 方式的对话或请求命令,你可以用:
openclaw chat "用一句话说明什么是 Gateway"如果返回了模型输出,说明整条链路通了:OpenClaw → TaoToken API → 模型 → 返回。这一步成功的话,你会看到类似choices结构的内容,或者直接是模型生成的文本。如果返回的是reading 'choices'之类的报错,说明响应结构没对上,多半是 Base URL 少了或多了/v1,或者 Model ID 不存在。
再补一个端口监听检查,用 PowerShell 原生命令:
Get-NetTCPConnection -State Listen | Where-Object { $_.LocalPort -eq 3000 }把 3000 换成你实际看到的端口。有输出就说明端口确实在监听。到这一步,OpenClaw 在 Windows 上就算真正可用了。你可以把openclaw gateway status和一次成功调用的输出截图存下来,作为部署完成的凭据。
提示:如果你想让 Gateway 开机自启,OpenClaw 支持
openclaw gateway install注册为后台服务,但建议先手动跑通再注册,否则出问题不好定位。
5. 本篇常见报错排查:401、local proxy failed 与 reading choices
部署过程中最容易撞上的报错就那么几个,逐个说清楚。
401 Unauthorized:这是鉴权失败,九成是 Key 填错或没生效。先确认配置文件里的apiKey没有多余空格,再确认你复制的是完整 Key。如果 Key 没问题,检查 Base URL 是不是写成了https://taotoken.net/api/带尾斜杠,有些客户端对尾斜杠敏感。改完配置后必须重启 Gateway,openclaw gateway restart,否则旧配置还在内存里。
local proxy failed / connection refused:这个报错通常出现在 Gateway 试图连 TaoToken API 的时候。先确认本机网络能访问https://taotoken.net/api,用 PowerShell 测:
Invoke-WebRequest -Uri "https://taotoken.net/api" -Method Head如果这一步就失败,那是网络层问题,不是 OpenClaw 的锅。如果这一步成功但 OpenClaw 还报 proxy failed,检查是不是配了额外的本地代理环境变量,比如HTTP_PROXY,把它临时清掉再试:
Remove-Item Env:HTTP_PROXY -ErrorAction SilentlyContinue Remove-Item Env:HTTPS_PROXY -ErrorAction SilentlyContinuereading 'choices' 报错:这是响应解析失败,说明 OpenClaw 拿到的返回结构里没有choices字段。常见原因是 Base URL 指向了错误的端点,比如把对话端点和模型列表端点搞混。确认你的 Base URL 是https://taotoken.net/api,并且 Model ID 是真实存在的。如果还不行,用openclaw doctor看它实际请求的 URL 是什么,对比文档里的端点格式。
OAuth 相关报错:如果你在配置里误开了 OAuth 模式,但 TaoToken 用的是 Key 鉴权,就会报 OAuth 失败。检查配置文件里有没有authType: "oauth"之类的字段,改成apiKey或直接删掉该字段。OpenClaw 的 provider 配置以 Key 为准时,不需要 OAuth 流程。
PATH 未生效:装完敲openclaw提示找不到命令。先关掉所有终端重开,如果还不行,手动确认 npm 全局目录在 PATH 里:
npm config get prefix把输出的路径加到用户环境变量的 Path 里,重开终端。这一步在第 3 节提过,但实际部署时还是有人漏掉。
Gateway 启动后立刻退出:看日志,多半是端口被占用。换端口或者杀掉占用进程:
Get-NetTCPConnection -LocalPort 3000 -State Listen | Select-Object OwningProcess Stop-Process -Id <进程ID>排查的核心思路就一条:先看日志,再看配置,最后测网络。别一上来就重装,重装解决不了配置错误。
6. 接入之后怎么用:模型对话、文档与长期编码入口
OpenClaw 跑通、TaoToken Key 接上之后,你手里就有了一个本地 AI 运行时。日常用法分几种:临时验证模型效果,可以直接用模型对话入口,地址是 https://taotoken.net/model-chat?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,不用每次都在命令行里敲;查配置格式和模型列表,看接入文档 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ;管理 Key 和额度,进控制台 https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。
如果你打算把 OpenClaw 当成长期编码助手,或者跑 Agent 类任务,调用频率会明显上去,这时候可以了解一下 Coding Plan,入口是 https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。它和按量 Key 的区别在于计费方式,适合高频场景。另外,如果你同时用 Claude Code 这类工具,TaoToken 也提供对应的接入方式,文档里有说明,入口同样是 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。
最后给一个实用习惯:每次改完 OpenClaw 配置,先跑openclaw doctor,再openclaw gateway restart,最后用一次简单对话验证。这三步走完再干正事,能省掉大量「明明配了却不生效」的困惑。Windows 上的部署难点从来不是 OpenClaw 本身,而是环境细节,把执行策略、Node 版本、PATH 和配置格式这四样盯住,基本一次就能跑通。