1. OpenClaw v2.7.9 是什么,Windows 新手为什么需要统一 Key
OpenClaw v2.7.9 是一个能在 Windows 上本地运行的桌面自动化智能体,圈内人叫它“小龙虾”。它和普通聊天 AI 最大的区别是:它能真的动手操作你的电脑——整理文件夹、批量处理表格、自动开浏览器抓数据、把结果汇总成 Excel。你只需要用自然语言描述任务,它自己拆步骤、自己执行。
但很多人装完之后卡在同一个地方:模型接口怎么配。OpenClaw 本身不带大模型,它需要调用一个兼容 OpenAI 协议的 endpoint 才能“思考”。默认配置里往往指向一些需要额外网络条件或者已经失效的地址,新手照着旧教程填完,启动后要么报 401,要么一直转圈。
这篇就是解决这个问题的。我会带你走完 OpenClaw v2.7.9 在 Windows 10/11 上的完整部署,然后把模型 endpoint 和 API Key 统一改到 TaoToken,最后用一条 curl 命令验证连通。全程不需要你懂编程,命令和配置片段都可以直接复制。
适合谁看:Windows 64 位系统、想用桌面自动化但没写过代码、之前装过 OpenClaw 但模型一直连不上的用户。装完之后你得到的是一个能本地跑、数据不出机器、可以绑定飞书/微信/Slack 的数字员工。
先说清楚一个概念:OpenClaw 的“一键部署包”解决的是运行环境问题,它把 Python 依赖、Gateway 服务、配置文件模板都打包好了。但模型接入是另一层,需要你手动填 Base URL、API Key 和 Model ID 这三样。这三样填错任何一个,Gateway 就会显示离线或者请求失败。下面我会把这三件套的填法讲透。
2. TaoToken 前置准备:拿到统一 Key 和 Base URL
在动 OpenClaw 之前,先把模型侧的东西准备好。TaoToken 的作用是给你一个统一的 API 入口,兼容 OpenAI 的/v1/chat/completions协议,OpenClaw 这种需要自定义 endpoint 的工具直接填它的地址就行。
你需要准备三样东西:
第一,API Key。打开 https://taotoken.net/api-keys ,登录后创建一个新的 Key。建议命名成openclaw-win方便以后区分。创建完立刻复制,页面刷新后就看不到了。Key 的格式通常是一串以sk-开头的字符串。
第二,Base URL。TaoToken 的 API 根地址是:
https://taotoken.net/api注意这里不要加 UTM 参数,也不要加/v1后缀——OpenClaw 的配置项里通常会自动补/v1/chat/completions,你填根地址就行。如果你填成https://taotoken.net/api/v1,有些版本会拼成/v1/v1/...导致 404。
第三,Model ID。这个取决于你想用哪个模型。在 https://taotoken.net/models 页面可以看到当前可用的模型列表,复制你想要的模型 ID,比如claude-sonnet-4-5或gpt-4o这类。Model ID 必须和列表里完全一致,大小写错了也会报 model not found。
把这三样先记在记事本里:
| 配置项 | 值 | 说明 |
|---|---|---|
| Base URL | https://taotoken.net/api | 不加 /v1,不加 UTM |
| API Key | sk-xxxxxxxx | 从 api-keys 页面复制 |
| Model ID | 从模型列表复制 | 大小写敏感 |
注意:不要把 API Key 直接写进会提交到 Git 的文件里。OpenClaw 的配置文件在本地,问题不大,但养成习惯用环境变量或者单独的 secrets 文件更好。
如果你还没决定用哪个模型,可以先在 https://taotoken.net/chat 里试几个,确认能正常对话再填进 OpenClaw。这样能排除是模型侧的问题还是 OpenClaw 配置的问题。
3. 可复制配置:OpenClaw 目录结构与 settings 片段
OpenClaw v2.7.9 装完之后,核心配置文件在安装目录下的config文件夹里。假设你按推荐路径装到了D:\OpenClaw,目录结构大致是这样:
D:\OpenClaw\ ├── Openclaw Windows 一键启动.exe ├── config\ │ ├── settings.json # 主配置,模型 endpoint 在这里 │ ├── gateway.toml # Gateway 服务参数 │ └── models.json # 模型列表缓存 ├── runtime\ │ ├── python\ # 内置 Python 环境 │ └── deps\ # 依赖组件 ├── logs\ │ └── gateway.log # 排障看这个 └── workspace\ # 默认工作目录你要改的是config\settings.json。用记事本或者 VS Code 打开,找到model相关的段落。不同版本字段名略有差异,但核心是这三个:base_url、api_key、model。
下面是一个可以直接对照的 JSON 片段(路径和字段名以你本地文件为准,不要整段覆盖,只改对应的值):
{ "model": { "provider": "openai-compatible", "base_url": "https://taotoken.net/api", "api_key": "sk-你的Key粘贴在这里", "model": "claude-sonnet-4-5", "max_tokens": 4096, "temperature": 0.7, "timeout": 120 }, "gateway": { "host": "127.0.0.1", "port": 18789, "auto_start": true }, "workspace": "D:\\OpenClaw\\workspace" }几个容易踩坑的点:
base_url结尾不要带斜杠。填https://taotoken.net/api而不是https://taotoken.net/api/,有些 HTTP 客户端会把双斜杠当成路径错误。
api_key如果配置文件支持环境变量引用,优先用${TAOTOKEN_API_KEY}这种写法,然后在系统环境变量里设置。但 OpenClaw v2.7.9 的默认模板是明文,新手直接填明文也能跑,先跑通再优化。
timeout建议设 120 秒以上。桌面自动化任务有时候 prompt 很长,模型响应慢,超时太短会中途断掉。
如果你用的是gateway.toml来管模型配置(部分版本把模型配置挪到了 TOML),对应片段是这样:
[model] provider = "openai-compatible" base_url = "https://taotoken.net/api" api_key = "sk-你的Key粘贴在这里" model = "claude-sonnet-4-5" max_tokens = 4096 timeout = 120 [gateway] host = "127.0.0.1" port = 18789 auto_start = true改完保存,完全退出 OpenClaw(右下角托盘图标也要退出),再重新启动。配置文件的读取发生在启动阶段,热改不生效。
4. 验证请求:一条 curl 确认连通与返回
配置改完别急着在界面里点,先用 curl 直接打 TaoToken 的接口,确认 Key 和 Base URL 本身是通的。这样能把“模型侧问题”和“OpenClaw 配置问题”分开。
打开 PowerShell(Win 键搜 PowerShell 就行),粘贴下面这条命令。把sk-你的Key换成你实际的 Key:
curl -X POST "https://taotoken.net/api/v1/chat/completions" ^ -H "Content-Type: application/json" ^ -H "Authorization: Bearer sk-你的Key" ^ -d "{\"model\":\"claude-sonnet-4-5\",\"messages\":[{\"role\":\"user\",\"content\":\"回复ok\"}],\"max_tokens\":10}"注意 PowerShell 里换行符是^,如果你用 CMD 就是^,用 Git Bash 则是\。如果嫌麻烦,写成一行也行:
curl -X POST "https://taotoken.net/api/v1/chat/completions" -H "Content-Type: application/json" -H "Authorization: Bearer sk-你的Key" -d "{\"model\":\"claude-sonnet-4-5\",\"messages\":[{\"role\":\"user\",\"content\":\"回复ok\"}],\"max_tokens\":10}"正常返回长这样:
{ "id": "chatcmpl-xxx", "object": "chat.completion", "created": 1730000000, "model": "claude-sonnet-4-5", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "ok" }, "finish_reason": "stop" } ], "usage": { "prompt_tokens": 8, "completion_tokens": 2, "total_tokens": 10 } }看到choices数组里有content就说明模型侧通了。这时候再回到 OpenClaw 界面,右上角应该显示Gateway 在线。如果 curl 通了但 OpenClaw 还是离线,问题就在 OpenClaw 的配置文件读取上,往下看第 5 节。
再补一个验证方式:直接在 OpenClaw 主界面底部输入“帮我列出 D 盘根目录的文件”,看它能不能返回文件列表。能返回说明整条链路——界面 → Gateway → TaoToken → 模型 → 执行器——都通了。
5. 本篇常见错排查:401、local proxy failed、reading choices
这一节按真实报错来。你遇到哪个就对照哪个。
报错一:401 Unauthorized
返回体里通常带invalid_api_key或authentication_error。原因就三个:Key 复制时带了空格、Key 已经删除、Key 前面少了Bearer。检查settings.json里api_key字段,确保是完整的sk-开头字符串,前后没有引号外的空格。如果 Key 是在 TaoToken 页面复制的,重新复制一次,有时候浏览器会带不可见字符。
报错二:local proxy failed / connection refused
这个报错说明 OpenClaw 的 Gateway 根本没把请求发出去。先确认base_url填的是https://taotoken.net/api而不是http://或者localhost。如果你之前配过本地代理,检查系统环境变量里有没有HTTP_PROXY指向一个已经关掉的端口。在 PowerShell 里跑echo $env:HTTP_PROXY看看,有值就清掉。
报错三:reading 'choices' of undefined
这是 OpenClaw 解析响应时没找到choices字段。通常是因为返回的不是标准 OpenAI 格式——比如 Base URL 填成了网页地址而不是 API 地址,返回的是 HTML。确认你填的是https://taotoken.net/api,并且 curl 测试返回的是 JSON 而不是 HTML。另一个可能是 Model ID 写错了,接口返回了错误对象,里面没有choices。
报错四:OAuth / token refresh failed
OpenClaw 某些版本会尝试用 OAuth 方式登录模型提供方。如果你在配置里同时留了 OAuth 相关字段和 API Key 字段,它会优先走 OAuth 然后失败。解决办法:在settings.json里把oauth或auth_type相关字段删掉,只保留api_key。如果用的是 Codex 风格的auth.json,确保里面只有api_key没有refresh_token。
报错五:Gateway 在线但任务不执行
模型通了,但输入指令后没反应。看logs\gateway.log最后 20 行。常见原因是工作目录权限不足,或者安全软件拦截了键鼠模拟。把 OpenClaw 安装目录加入 Windows Defender 排除项,然后重启 Gateway。
提示:每次改完配置,先完全退出程序(包括托盘),再启动。直接点重启有时候不会重新读配置文件。
6. 多场景适配与长期使用建议
OpenClaw 装好只是开始,真正省时间的是把它接到你日常用的工具上。v2.7.9 支持绑定飞书、微信、Slack,绑定之后你可以在聊天窗口里直接发指令,比如“把今天下载文件夹里的 PDF 按日期归档”,它在后台执行完把结果发回给你。
如果你打算长期跑自动化任务,建议把模型调用走 Coding Plan 这类套餐,比按量计费更可控。具体可以在 https://taotoken.net/coding-plan 看当前的方案。对于需要频繁调用模型的 Agent 场景,统一 Key 的好处是所有工具共用一个额度,不用每个工具单独充值。
另外几个实用习惯:工作目录单独设一个盘,不要和系统盘混在一起;定期清理logs文件夹,日志涨得很快;配置文件改之前先复制一份settings.json.bak,改坏了能回滚。
最后一步,把 curl 验证那条命令存成一个.ps1脚本,以后换 Key 或者换模型的时候先跑一遍,确认模型侧通了再动 OpenClaw。这样排障路径最短。