1. Windows 10 上装 OpenClaw,卡在哪一步
OpenClaw 是一个可以在本机跑起来的个人 Agent 网关,能接聊天渠道、跑工具、连模型,适合想在自己电脑上折腾自动化助手的开发者。但在 Windows 10 上第一次装它,很多人会连续踩三个坑:npm install -g openclaw@latest报spawn git ENOENT、onboard 向导里模型供应商选了一堆却不知道 Key 怎么统一管、gateway 起来了但 Control UI 一直转圈连不上。
这篇就按「git/npm 环境已就绪」这个前提往下写,重点不是重复装 Node,而是把 OpenClaw 的 gateway 通道用 TaoToken 的统一 Key 打通。我会给出可直接复制的config.toml与settings.json骨架、环境变量写法,以及启动后用命令验证 gateway 连通性的具体动作。如果你已经装完 git 和 npm,可以直接从第 3 节开始抄配置。
先说清楚 TaoToken 在这套流程里的位置:它是一个统一模型接入层,你拿一个 Key,就能在 OpenClaw 里通过 OpenAI 兼容协议访问多家模型,不用为每个供应商单独配一套凭证。官网入口在 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API 基址是 https://taotoken.net/api 。
2. 前置:TaoToken 统一 Key 与 OpenClaw 的对接点
OpenClaw 的模型配置走的是 provider 抽象,onboard 向导里那一长串 OpenAI、Anthropic、Qwen、Moonshot 选项,本质是让你选一个 provider 再填它的 baseUrl 和 key。TaoToken 的用法是选Custom Provider,把 baseUrl 指向 TaoToken 的 API 地址,key 填你申请到的统一 Key。这样 OpenClaw 内部所有模型调用都从这一个出口走,换模型只改 model 字段,不用重新登录。
拿 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,复制出来先存到临时文本里。注意这个 Key 只在创建时完整显示一次,关掉页面就看不到了。
注意:Key 不要写进会提交到 git 的文件。OpenClaw 的配置目录默认在
C:\Users\<你的用户名>\.openclaw\,这个目录本身不在任何仓库里,但如果你手动把配置拷到项目里,记得先脱敏。
接入文档在 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,里面写了 OpenAI 兼容端点的完整路径和请求格式,配 OpenClaw 时对照着看 baseUrl 该不该带/v1。
3. 可复制配置:config.toml 与 settings.json 骨架
OpenClaw 在 Windows 上的主配置是C:\Users\<用户名>\.openclaw\openclaw.json,onboard 向导会帮你生成一份。但向导里选 Custom Provider 时字段名容易填错,我建议直接改文件。下面这份骨架把 gateway 和 TaoToken provider 都写全了。
先看 gateway 部分,端口用默认的 18789,绑定回环地址,认证用 token:
{ "gateway": { "port": 18789, "bind": "127.0.0.1", "auth": { "mode": "token", "token": "在这里填你的-gateway-token" } }, "models": { "providers": { "taotoken": { "type": "openai-compatible", "baseUrl": "https://taotoken.net/api", "apiKey": "在这里填你的-TaoToken-Key", "models": [ "claude-sonnet-4-5", "gpt-4o", "deepseek-chat" ] } }, "default": "taotoken/claude-sonnet-4-5" } }gateway.auth.token可以用openclaw doctor --generate-gateway-token生成,也可以自己写一串足够长的随机字符。models.providers.taotoken.type用openai-compatible,因为 TaoToken 暴露的是 OpenAI 兼容接口。baseUrl填https://taotoken.net/api,如果你的客户端会自动补/v1,就保持这个;如果报 404,再试https://taotoken.net/api/v1。
有些教程会让你写config.toml,那是 OpenClaw 早期版本或某些子命令的格式。当前版本主配置是 JSON,但 gateway 服务在 Windows 上会生成一个gateway.cmd启动脚本,里面可以注入环境变量。如果你更习惯用环境变量而不是把 Key 写进 JSON,可以这样改:
:: C:\Users\Administrator\.openclaw\gateway.cmd @echo off set OPENCLAW_GATEWAY_TOKEN=你的-gateway-token set TAOTOKEN_API_KEY=你的-TaoToken-Key set OPENCLAW_MODELS_PROVIDERS_TAOTOKEN_BASEURL=https://taotoken.net/api node "C:\Users\Administrator\AppData\Roaming\npm\node_modules\openclaw\dist\gateway.js" --port 18789环境变量优先级高于 JSON 里的同名字段,这样 Key 就不落在配置文件里。settings.json是 Control UI 的前端设置,存在浏览器 localStorage,一般不用手改。如果你要预置,可以在C:\Users\<用户名>\.openclaw\settings.json写:
{ "control": { "gatewayUrl": "ws://127.0.0.1:18789", "defaultModel": "taotoken/claude-sonnet-4-5" } }4. 启动 gateway 并验证连通性
配置改完,先别急着开 Control UI,用命令行把 gateway 拉起来看日志。打开一个新的 PowerShell 或 CMD:
openclaw gateway --port 18789 --verbose--verbose会把每次模型请求的 URL 和状态码打出来,排查 Key 和 baseUrl 问题时非常有用。如果端口被占用,加--force会先终止占用进程再启动。正常启动后你会看到类似Gateway listening on ws://127.0.0.1:18789和Gateway: reachable的输出。
另开一个终端,验证 gateway 的 HTTP 健康检查端点:
curl http://127.0.0.1:18789/health返回{"status":"ok"}说明 gateway 进程本身没问题。接着验证模型通道,用 OpenClaw 自带的诊断命令发一条最小请求:
openclaw models test taotoken/claude-sonnet-4-5 --prompt "ping"如果配置正确,你会看到模型返回的文本,同时 verbose 日志里出现POST https://taotoken.net/api/chat/completions 200。这一步过了,说明 TaoToken 统一 Key 已经打通了 gateway 到模型的整条链路。
最后打开 Control UI 确认前端能连上:
openclaw dashboard --no-open它会打印一个带 token 的 URL,形如http://127.0.0.1:18789/#token=xxxx。把这个 URL 粘到浏览器,页面右上角显示Gateway: reachable就全通了。如果你更想先在网页里直接和模型对话验证,可以走模型对话入口 https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,用同一个 Key 发一条消息,确认 Key 本身有效,再回来排查 OpenClaw 侧。
5. 本篇常见报错排查
npm error spawn git ENOENT:这是最开始那个坑,npm 在装 openclaw 时要调 git 拉依赖,但 PATH 里找不到 git。装完 git 后必须重开一个终端,让 PATH 刷新。验证git --version能输出版本号再重跑npm install -g openclaw@latest。
Gateway: unreachable但进程在跑:多半是bind和访问地址不一致。配置里写127.0.0.1,浏览器就必须用127.0.0.1访问,用localhost有时会走 IPv6 解析到::1导致连不上。统一用127.0.0.1。
模型请求返回 401:TaoToken Key 没填对,或者环境变量名写错。检查TAOTOKEN_API_KEY是否被 gateway.cmd 正确 set,以及 JSON 里apiKey字段有没有被环境变量覆盖成空值。
模型请求返回 404:baseUrl 路径问题。先试https://taotoken.net/api,报 404 再试https://taotoken.net/api/v1。OpenClaw 的 openai-compatible provider 有的版本会自动补/v1,有的不会,以 verbose 日志里实际请求的 URL 为准。
Control UI 打开是空白页:浏览器缓存了旧的 localStorage 设置。按 F12 打开开发者工具,在 Application 里清掉openclaw.control.settings.v1,再用带 token 的 URL 重新打开。
gateway 服务开机不自启:onboard 时选了 Node runtime 会注册一个计划任务OpenClaw Gateway。在「任务计划程序」里找到它,确认触发器是「登录时」,如果被禁用了手动启用。
6. 接下来怎么走
gateway 通了之后,OpenClaw 的能力才刚开始展开。如果你打算长期把它当编码助手或 Agent 跑,建议把模型调用走 Coding Plan https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,额度模型更适合高频调用场景,比按次计费省心。接入细节和更多 provider 写法都在接入文档 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 里,配新模型时对着抄字段就行。Key 管理统一在 API Keys 页面 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,建议给 OpenClaw 单独建一个 Key,方便按用途区分和随时吊销。