1. 为什么要在 Windows 上养一只 openclaw
openclaw 是一个可以在本地跑起来的 AI 助手框架,简单说就是给你的电脑装一个能对话、能接渠道、能挂技能的“小龙虾”。它本身不绑定某一家模型,你可以把它理解成一个空壳子,模型接口、消息渠道、技能插件都靠配置往里塞。适合谁?适合那些不想把数据全丢到云端、想在自己机器上折腾一个私人助理的个人开发者。尤其是你手里已经有 API Key,想找个能长期挂着、随时喊一声就回话的本地入口,openclaw 是个不错的选择。
但 Windows 下的坑比 Linux 多。node.js、git、npm、PowerShell 四样东西的安装顺序和权限设置稍微错一步,后面就是连环报错。我试过在一台干净的 Win11 上从零装起,光是 PowerShell 执行策略和 git 的 SSH 绕行就卡了两次。这篇记录就是把这套流程拆开,每一步都给可复制的命令,最后再把模型请求的 endpoint 统一改到 TaoToken 通道,方便你以后换模型不用动代码。
核心检索词先摆出来:openclaw 是什么?它是一个本地 AI 助手运行框架,能做什么?能接飞书、Telegram、Discord 等渠道,能挂 skills,能通过统一 endpoint 调模型。适合谁?想在 Windows 本地跑个人助理、又不想被单一模型绑死的开发者。
装之前先确认一件事:你的网络能正常访问 npm 和 GitHub。openclaw 的安装包和依赖大多从这两个地方拉,如果 npm 装到一半卡住,八成是源的问题,后面排障章节会讲怎么换源。
另外提醒一句,openclaw 默认是个人使用配置,共享或多用户场景需要额外锁定权限。安装过程中它会弹风险提示,选 yes 继续就行,但心里要有数:这东西跑起来后是能读你本地消息、能发消息的,别在多人共用的机器上随便开。
下面按顺序来:先装 node.js 和 git,再配 PowerShell 权限,然后 npm 全局装 openclaw,跑 onboard 初始化,最后改 endpoint 到 TaoToken。每一步都有验证命令,装完一样确认一样,别跳步。
2. 前置环境:node.js、git、npm 与 PowerShell 的安装顺序
这一章是整篇的地基。顺序错了,后面 npm 装 openclaw 时会报各种找不到命令或者权限拒绝。正确顺序是:node.js → git → 验证 npm → PowerShell 执行策略。
先装 node.js。去 nodejs.org 下 LTS 版本,Windows 选 .msi 安装包,一路下一步。装完打开 PowerShell,敲:
node -v正常会输出类似v20.11.0。如果提示“无法将 node 项识别为 cmdlet”,说明 PATH 没生效,关掉 PowerShell 重开一次,或者重启电脑。node.js 装好后 npm 是自带的,再验证:
npm -v输出10.x.x就对了。npm 是 node 的包管理器,openclaw 就是通过它全局安装的。
接着装 git。去 git-scm.com 下 Windows 版,安装时注意一个选项:Adjusting your PATH environment,选 “Git from the command line and also from 3rd-party software”,这样 PowerShell 里能直接用 git。装完验证:
git -v输出git version 2.4x.x即可。git 的作用是 openclaw 安装时要从 GitHub 拉依赖,没有 git 会直接失败。
现在到了 Windows 特有的坑:PowerShell 执行策略。默认情况下 PowerShell 禁止运行脚本,而 npm 全局安装和 openclaw 的 onboard 脚本都需要执行权限。先看当前策略:
Get-ExecutionPolicy如果输出Restricted,就需要改。执行:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser然后输入 Y 确认。RemoteSigned 的意思是本地脚本可以跑,远程下载的脚本需要签名,对个人开发够用。改完再查一次确认变成 RemoteSigned。
这里有个细节:-Scope CurrentUser 只影响当前用户,不需要管理员权限,也不会动系统全局策略,相对安全。如果你在公司机器上,改之前最好确认下 IT 政策。
四样都齐了之后,建议把 npm 源换成国内镜像,不然装 openclaw 时拉包会慢到怀疑人生:
npm config set registry https://registry.npmmirror.com验证一下:
npm config get registry输出https://registry.npmmirror.com/就对了。这一步不是必须,但能省很多等待时间。如果你后面要发布包或者用私有源,记得换回来。
环境变量方面,node.js 和 git 安装时一般会自动写入 PATH。如果node -v和git -v都能输出,说明 PATH 没问题。万一某个命令找不到,手动加:右键此电脑 → 属性 → 高级系统设置 → 环境变量 → 用户变量里的 Path → 新建,把 node 和 git 的安装目录加进去。node 默认在C:\Program Files\nodejs\,git 默认在C:\Program Files\Git\cmd\。
这一章做完,你应该有四个能用的命令:node、npm、git、以及一个允许跑脚本的 PowerShell。下一章开始装 openclaw 本体。
3. 可复制配置:npm 全局安装 openclaw 与 onboard 初始化
环境齐了,现在装 openclaw。打开 PowerShell,执行:
npm i -g openclaw-g是全局安装,装完后 openclaw 命令在任何目录都能用。安装过程中如果卡在 git 拉取阶段,报类似ssh://git@github.com/连接失败,这是 git 默认走 SSH 但你没配 SSH Key 导致的。临时绕过办法是让 git 把 SSH 地址重写成 HTTPS:
git config --global url."https://github.com/".insteadOf "ssh://git@github.com/"这条命令的意思是:以后所有ssh://git@github.com/开头的地址,git 自动替换成https://github.com/。配完重新跑npm i -g openclaw就能过。
装完验证:
openclaw -v能输出版本号就说明装上了。接下来初始化:
openclaw onboard这个命令会引导你完成基础配置。第一步是风险提示,大意是“默认个人使用,共享/多用户需要锁定,继续吗”,选 yes。然后选模型提供方,会看到.cn和.ai两个选项,.cn是国内节点,.ai是国际节点。按你的网络情况选,国内用户选.cn延迟低。
接着粘贴 API Key。这里先随便填一个你手头有的,或者先跳过,因为后面我们要把 endpoint 统一改到 TaoToken,Key 也用 TaoToken 的。onboard 走完后会问网页打开方式,选默认即可,安装完成。
现在改模型请求的 endpoint。openclaw 的配置文件一般在用户目录下的.openclaw文件夹里。先找到它:
ls $env:USERPROFILE\.openclaw里面会有config.json或settings.json之类的文件。用记事本或 VS Code 打开,找到模型配置段。不同版本字段名可能略有差异,但核心是三个:Base URL、API Key、Model ID。把 Base URL 改成 TaoToken 的统一通道:
{ "model": { "baseUrl": "https://taotoken.net/api", "apiKey": "你的TaoToken密钥", "modelId": "claude-3-5-sonnet-20241022" } }注意 API 地址是https://taotoken.net/api,不带任何多余路径。Key 去 TaoToken 控制台生成,Model ID 填你要用的模型标识。这样配的好处是:以后换模型只改 modelId 一个字段,baseUrl 和 key 都不用动,代码里也不用硬编码。
如果你用的是 Claude Code 或者 Cline 这类工具,配置逻辑一样,都是 Base URL + Key + Model ID 三件套。openclaw 的 config.json 里如果字段名不是 baseUrl,可能是endpoint或apiBase,按实际文件里的键名改。
改完保存,重启 gateway 让配置生效:
openclaw gateway restart到这里,openclaw 已经指向 TaoToken 通道了。下一章验证请求能不能通。
4. 验证请求:从 gateway 启动到模型对话成功
配置改完,得确认 openclaw 真能拉起模型。先启动 gateway:
openclaw gateway start正常会输出类似gateway started on port 3000的日志。如果报端口占用,换一个端口或者先openclaw gateway stop再 start。启动后,用 openclaw 自带的对话命令测试:
openclaw chat "你好,介绍一下你自己"如果配置正确,会返回模型的回复。第一次调用可能稍慢,因为要建立连接。看到正常文字回复,说明 endpoint 改到 TaoToken 成功了。
再验证一下模型标识对不对。有时候 baseUrl 通了但 modelId 写错,会报model not found。这时候去 TaoToken 的模型对话页面确认可用模型列表,把 modelId 换成列表里的准确名称。TaoToken 的模型对话入口在控制台里能找到,点进去可以直接试对话,确认模型可用再回填到 config.json。
如果你想更直观地看请求过程,可以开 gateway 的日志:
openclaw gateway start --verbose这样每次请求的 URL、状态码、耗时都会打出来。看到200 OK和返回的 choices 字段,就说明链路通了。如果看到401,是 Key 不对;看到local proxy failed,是 baseUrl 写错或者网络不通;看到reading choices报错,通常是返回体格式不对,检查 modelId 是否匹配。
验证通过后,你可以把 openclaw 挂到飞书或其他渠道。添加渠道命令:
openclaw channels add按提示选飞书,然后它会让你去飞书开放平台建机器人,把 App ID 和 Secret 填回来。建机器人时需要开权限:获取与上传图片或文件资源、获取用户基本信息、获取群组信息、获取与发送单聊群组消息、接收群聊中@机器人消息事件、读取用户发给机器人的单聊消息、查看消息表情回复、以应用身份发消息、更新消息。其中“获取群组中所有消息”是敏感权限,个人用可以不勾。
渠道加完后,直接跟机器人对话,如果报错,复制最后一行错误信息粘贴到 PowerShell 里执行,通常是让你补装某个依赖或重新授权。
常用命令记一下:
openclaw gateway start # 启动 openclaw gateway stop # 停止 openclaw gateway restart # 重启 openclaw channels login # WhatsApp QR 配对登录 openclaw channels add # 添加 Telegram/Discord/Slack 机器人到这一步,你的小龙虾已经能跑起来并回话了。下一章讲安装过程中最容易撞上的几个报错。
5. 本篇常见错排查:401、local proxy failed、reading choices 与 OAuth
装 openclaw 的过程里,报错基本集中在几个地方。这一章按真实报错逐条拆。
报错一:401 Unauthorized。这个最直接,Key 不对或者没传。检查 config.json 里的 apiKey 是不是 TaoToken 控制台生成的完整密钥,有没有多余空格。另外确认 baseUrl 是https://taotoken.net/api,如果写成https://taotoken.net/api/v1可能会 404 而不是 401,但有些版本会返回 401 混淆。改完记得openclaw gateway restart。
报错二:local proxy failed。这个通常出现在 gateway 启动阶段,意思是本地代理起不来。原因可能是端口被占,或者 baseUrl 指向了一个不可达的地址。先openclaw gateway stop再 start,如果还报,换端口:
openclaw gateway start --port 3001然后确认 config.json 里的 baseUrl 没有拼写错误。TaoToken 的 API 地址是https://taotoken.net/api,注意是 https 不是 http。
报错三:reading choices 相关。完整报错可能是Cannot read properties of undefined (reading 'choices')。这是返回体里没有 choices 字段,说明模型返回的不是标准 OpenAI 格式。原因一般是 modelId 写错,或者 baseUrl 指向了非兼容端点。去 TaoToken 模型对话页面确认模型名,回填正确的 modelId。如果用的是 Claude 系列,确认 TaoToken 通道支持该模型的 OpenAI 兼容格式。
报错四:OAuth 相关。如果你在 channels add 时选了一些需要 OAuth 的渠道,可能会卡在授权回调。Windows 下常见的是回调地址 localhost 被占用或防火墙拦截。解决办法是换一个回调端口,或者在防火墙里放行。如果是飞书,确认 App ID 和 Secret 填对,权限勾选完整。
报错五:npm 安装时 SSH 失败。前面提过,用git config --global url."https://github.com/".insteadOf "ssh://git@github.com/"绕过。如果还失败,检查 git 是否装好,git -v能不能输出。
报错六:PowerShell 禁止脚本。报错关键词cannot be loaded because running scripts is disabled。执行Set-ExecutionPolicy RemoteSigned -Scope CurrentUser,输入 Y。
报错七:缺少 UV 工具。安装 skills 时可能报缺少底层工具 UV。装它:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"装完重启 gateway:
openclaw gateway restart然后再装 skills 就能过。注意内置 skills 是全局安装,不建议,因为后续 openclaw 升级会造成依赖冲突。建议只装你需要的自定义 skills。
排障的核心思路是:先看报错最后一行,它通常直接告诉你缺什么。然后对照上面几条,改配置、重启、再验证。每次改完 config.json 都要 restart gateway,不然不生效。
6. 把模型请求统一到 TaoToken 通道的长期用法
openclaw 跑起来之后,真正省心的地方在于 endpoint 统一。你把 baseUrl 指向 TaoToken 的https://taotoken.net/api,Key 用 TaoToken 生成的,Model ID 按需切换。这样做的价值是:以后想换模型,只改 config.json 里一个字段,不用动任何代码,也不用重新配 Key。
具体操作上,TaoToken 控制台里可以生成和管理 API Key,建议给 openclaw 单独建一个 Key,方便追踪用量。模型对话页面可以直接测试哪个模型可用、响应快,测好了再把 modelId 填回配置。如果你要长期跑 coding 或 Agent 类任务,Coding Plan 更适合,额度和稳定性比按次调用好。
接入文档里有各语言的示例,openclaw 这种走 OpenAI 兼容格式的,直接照抄 baseUrl 和 header 就行。核心三件套再强调一遍:Base URL 填https://taotoken.net/api,Key 填 TaoToken 的,Model ID 填你要用的模型标识。这三样在 config.json、Cline、Claude Code 里都是同一个逻辑。
日常维护上,openclaw 的 gateway 建议设成开机自启,或者用计划任务拉起来。常用命令就那几条,start、stop、restart,记熟就行。渠道方面,飞书机器人配好后,手机和电脑都能对话,等于你有了一个跨端的私人助理。
最后说个实际经验:装完第一次跑通后,把 config.json 备份一份。以后升级 openclaw 或者换机器,直接拷过去改 Key 就能用,省得重新 onboard。skills 按需装,别贪多,全局装的那批升级时容易打架。小龙虾养起来不难,难的是环境那几步,按这篇的顺序走,基本能一次过。