1. Windows 上跑通 OpenClaw 后,为什么还要改 settings
OpenClaw 是一个跑在本地电脑上的开源 AI 智能体,能读写文件、操作浏览器、调用系统功能,还能接飞书这类聊天工具,让你在外面用手机给它留言,它在家里的 Windows 机器上自动干活。很多人第一次装完,用 QuickStart 走一遍,本地能打开http://localhost:18789看到面板,就以为大功告成。真正开始用才发现,模型调用这一步没配好,智能体要么回一句「模型不可用」,要么干脆卡住不动。
问题出在 OpenClaw 的模型通道配置上。QuickStart 阶段为了让你先跑起来,通常会让你跳过通道配置,或者填一个临时地址。等你真要长期用,就得把settings里的 Base URL 和鉴权字段统一改到一个稳定的 API 通道上。这篇就聚焦 Windows 环境下这一步的落地:settings 文件在哪、Base URL 和 Key 怎么填、改完怎么发一次请求验证、报错怎么对照排查。目标是一次性完成通道切换,并且确认调用真的生效,而不是「看起来配好了」。
适合谁看:已经在 Windows 上装完 OpenClaw、本地面板能打开、但模型调用还没走通的开发者;或者之前用别家通道、现在想统一到一个 Key 上管理的用户。前置条件很简单,Node.js 22+ 和 Git 装好,PowerShell 能正常执行脚本,OpenClaw 本体已经安装完成。如果你还没装,先按官方安装脚本走一遍,装完再回来改 settings,顺序不要反。
这里要区分两个概念:OpenClaw 本体是本地智能体框架,负责调度任务、操作电脑、接聊天工具;模型通道是它背后真正干活的「大脑」,负责理解你的指令、生成回复、决定下一步动作。本体装好只是有了躯干,通道配好才是接上大脑。很多人卡在躯干能跑、大脑没接的状态,表现就是面板能开、任务能建、但一执行就报错。
我试过在几台 Windows 机器上重复这套流程,发现最容易出问题的不是安装,而是 settings 改完之后没有做一次真实的请求验证,导致错误被拖到实际使用时才暴露。所以这篇会把验证步骤单独拎出来讲,改完立刻发一次请求,看到正常返回才算数。
2. TaoToken 前置准备:拿到 Base URL 和 API Key
在动 settings 之前,先把要填进去的两样东西准备好:Base URL 和 API Key。这两样都从 TaoToken 拿。TaoToken 是一个统一的模型 API 通道,把不同模型的调用收敛到一个地址和一套鉴权上,对 OpenClaw 这种需要长期稳定调用的场景比较友好,不用在多个平台之间来回切 Key。
第一步,打开官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,注册并登录。登录后进控制台,找到 API Keys 管理页,新建一个 Key。新建的时候给它起个能认出来的名字,比如openclaw-win,方便以后区分是哪个项目在用。Key 生成后只显示一次,复制下来先存到安全的地方,别直接贴在聊天窗口或者截图里。
第二步,确认 Base URL。TaoToken 的 API 入口是 https://taotoken.net/api ,注意这个地址不带任何查询参数,填到 settings 里就用这个。有些教程会让你在末尾加/v1之类的路径,具体加不加取决于 OpenClaw 的通道类型,后面配置章节会讲清楚怎么判断。
第三步,确认你要用的 Model ID。OpenClaw 的模型字段需要填具体的模型标识,不是随便写个名字就行。你可以在控制台的模型列表里看到当前可用的模型 ID,复制那个准确的字符串。常见的写法类似claude-sonnet-4-5这种带版本号的格式,具体以你控制台里显示的为准,不要凭记忆手写。
把这三样整理成一张小抄,改配置的时候对着填:
| 项目 | 值 | 说明 |
|---|---|---|
| Base URL | https://taotoken.net/api | 不带查询参数 |
| API Key | 控制台新建的 Key | 只显示一次,妥善保存 |
| Model ID | 控制台模型列表里的准确 ID | 区分大小写和版本号 |
注意:API Key 属于敏感凭据,不要提交到 Git 仓库,也不要写进会分享出去的配置文件。OpenClaw 的 settings 如果放在项目目录里,记得把对应文件加进
.gitignore。
如果你打算长期跑编码类或 Agent 类任务,可以顺带看一下 Coding Plan 页面,了解套餐和额度情况,避免跑到一半额度不够。入口在控制台导航里能找到,这里不展开。
准备好这三样,就可以进入下一步改配置了。记住一个原则:Base URL、Key、Model ID 三件套必须来自同一个通道,混着填是后面 401 和模型找不到的主要来源。
3. 可复制配置:把 settings 改到 TaoToken
OpenClaw 在 Windows 上的配置文件位置,取决于你是用安装脚本装的还是手动 clone 的。用官方脚本装的,配置一般落在用户目录下的.openclaw文件夹里;手动 clone 的,配置可能在项目根目录。你可以先在 PowerShell 里确认一下:
# 查看用户目录下的 openclaw 配置目录 Get-ChildItem $HOME\.openclaw -Force # 如果上面没有,看看当前项目目录 Get-ChildItem . -Filter "*settings*" -Recurse -ErrorAction SilentlyContinue找到 settings 文件后,用编辑器打开。OpenClaw 的 settings 支持 JSON 格式,下面是一份可以直接对照修改的片段,把占位符替换成你第 2 章准备好的值:
{ "models": { "default": { "provider": "openai-compatible", "baseUrl": "https://taotoken.net/api", "apiKey": "sk-你的TaoToken密钥", "model": "你的ModelID" } }, "gateway": { "port": 18789 } }几个字段的含义要弄清楚,不然改错一个就白忙:
provider填openai-compatible,因为 TaoToken 的接口兼容 OpenAI 风格的调用格式,OpenClaw 用这个 provider 类型就能对接。如果你的版本里 provider 字段用的是别的枚举值,以你本地 settings 里已有的默认值为准,只改 baseUrl、apiKey、model 这三项,别乱动 provider。
baseUrl填https://taotoken.net/api,不要在后面加/v1或者斜杠。有些 OpenAI 兼容客户端会自动补路径,手动加了反而会拼成/api/v1/v1/...这种错误地址,报 404。
apiKey填你新建的 Key,注意保留sk-前缀(如果你的 Key 有的话),不要多空格。JSON 里字符串要用双引号,别用中文引号,这是 Windows 上复制粘贴最容易踩的坑。
model填控制台里那个准确的 Model ID,区分大小写。填错会报模型不存在,而不是鉴权错误,排查时要注意区分。
改完保存。如果你用的是 TOML 格式的配置(部分版本支持),对应写法是这样:
[models.default] provider = "openai-compatible" baseUrl = "https://taotoken.net/api" apiKey = "sk-你的TaoToken密钥" model = "你的ModelID" [gateway] port = 18789保存后重启 OpenClaw 的 gateway,让配置生效:
openclaw gateway stop openclaw gateway重启后保持这个窗口运行,另开一个 PowerShell 窗口做下一步验证。这里有个细节:改完配置一定要重启 gateway,光保存文件不重启,进程里还是旧配置,验证会一直失败,很多人会误以为是 Key 的问题。
提示:如果你同时用了 Cline MCP 或 Codex 的 auth.json,记得把这三件套在那些地方也同步成一致的 Base URL、Key、Model ID,避免同一个项目里两套通道打架。
4. 验证请求:发一次真实调用确认生效
配置改完、gateway 重启后,不要急着去飞书里发消息测试,先用一条最小请求确认通道本身是通的。这样能把「通道问题」和「聊天工具配置问题」分开,排查起来快很多。
在另一个 PowerShell 窗口里,用 curl 发一条请求。Windows 10 以上自带 curl,直接可用:
curl.exe https://taotoken.net/api/chat/completions ` -H "Content-Type: application/json" ` -H "Authorization: Bearer sk-你的TaoToken密钥" ` -d "{\"model\":\"你的ModelID\",\"messages\":[{\"role\":\"user\",\"content\":\"回复两个字:收到\"}]}"注意 PowerShell 里换行用反引号,JSON 里的双引号要转义。如果你觉得转义麻烦,可以把请求体写到一个文件里再引用:
# 先写请求体 @' { "model": "你的ModelID", "messages": [ {"role": "user", "content": "回复两个字:收到"} ] } '@ | Out-File -Encoding utf8 body.json # 再发请求 curl.exe https://taotoken.net/api/chat/completions ` -H "Content-Type: application/json" ` -H "Authorization: Bearer sk-你的TaoToken密钥" ` --data-binary "@body.json"正常返回会长这样,重点看choices数组里有没有内容:
{ "id": "chatcmpl-xxxx", "object": "chat.completion", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "收到" }, "finish_reason": "stop" } ], "usage": { "prompt_tokens": 12, "completion_tokens": 2, "total_tokens": 14 } }看到choices[0].message.content有内容,说明 Base URL、Key、Model ID 三件套都对,通道是通的。这时候再回到 OpenClaw 面板,新建一个简单任务,比如「读取当前目录下的文件列表」,看它能不能正常执行。如果面板里也能跑通,说明 settings 改到位了。
如果 curl 通了但 OpenClaw 里不通,问题多半在 OpenClaw 的配置读取上,回去检查 settings 文件路径对不对、gateway 有没有真正重启、JSON 有没有语法错误。可以用下面这条命令验证 JSON 格式:
Get-Content $HOME\.openclaw\settings.json -Raw | ConvertFrom-Json没报错说明 JSON 合法,报错会直接告诉你哪一行有问题。
5. 常见报错对照:401、local proxy failed、reading choices
改配置的过程中,报错基本集中在几个固定位置。下面按真实遇到的错误对照排查,看到类似信息直接对号入座。
401 Unauthorized。这是鉴权失败,最常见的原因是 Key 填错或者带了多余字符。检查三处:Key 有没有复制完整、前后有没有空格、Authorization头里Bearer和 Key 之间是不是一个空格。还有一种情况是 Key 被禁用或额度耗尽,去控制台确认 Key 状态。如果 settings 里填的 Key 和 curl 里用的不是同一个,也会出现 curl 通、OpenClaw 报 401 的情况,统一成同一个。
local proxy failed / connection refused。这个报错说明 OpenClaw 连不上你填的 Base URL。先确认baseUrl是不是https://taotoken.net/api,有没有手滑写成http或者多加了路径。再确认本机网络能正常访问这个地址,用curl.exe -I https://taotoken.net/api看能不能拿到响应头。如果本机有安全软件拦截出站请求,也会表现为连接失败,临时放行对应进程再试。
Error reading choices / choices is undefined。这个报错说明请求发出去了、也返回了,但返回结构里没有choices字段。常见原因是 Model ID 填错,通道返回了一个错误对象而不是正常的 completion 结构。回去核对 Model ID 是否和控制台里完全一致,注意大小写和版本号。另一种可能是请求体格式不对,比如messages写成了字符串而不是数组,检查 JSON 结构。
OAuth / token expired 类报错。如果你之前用的是需要 OAuth 的通道,切到 TaoToken 后要把旧的 token 相关配置清掉,避免 OpenClaw 还在尝试走旧鉴权流程。检查 settings 里有没有残留的oauth、refreshToken字段,有就删掉,只保留apiKey。
模型不存在 / model not found。和 Model ID 直接相关。控制台里显示的 ID 可能带日期后缀或版本号,复制的时候别漏。有些模型有别名和正式 ID 两种写法,用正式 ID 更稳。
排查顺序建议固定下来:先 curl 验证通道,再验证 settings JSON 合法性,再看 gateway 是否重启,最后才怀疑网络和安全软件。按这个顺序走,大部分问题在第一步就能定位。
注意:不要为了让报错消失而随意改 provider 字段或加各种兼容参数,先把 Base URL、Key、Model ID 三件套对齐,绝大多数报错都会消失。
6. 通道切换完成后的下一步
settings 改完、curl 验证通过、OpenClaw 面板里任务能正常执行,这条通道就算切换完成了。接下来可以做的事:把飞书通道接上,让手机也能给这台 Windows 机器派活;或者把定时任务配起来,用自然语言建几个日常提醒。这些都在 OpenClaw 本体能力范围内,通道通了之后它们才有意义。
如果你还想在别的工具里复用这套通道,比如 Cline MCP 或 Codex,记得把 Base URL、Key、Model ID 三件套同步过去,保持一个 Key 管所有入口,省得以后换 Key 要改一堆地方。API Keys 管理页在 https://taotoken.net/api-keys ,接入文档在 https://taotoken.net/doc ,遇到字段含义不清楚的可以对照文档确认。想先单独试试模型对话效果,可以用 https://taotoken.net/models 这个入口发几条消息感受一下返回格式。长期跑编码和 Agent 任务的话,Coding Plan 页面 https://taotoken.net/coding-plan 可以看套餐情况。
最后留一个实用习惯:每次改完 settings,都先跑一遍第 4 章那条 curl,看到choices里有内容再去做别的。这一步花不了一分钟,但能帮你把通道问题和业务问题彻底分开,省下大量来回试错的时间。