1. Win11 本地 Qwen3.5 接入 OpenClaw 的真实痛点
Win11 上把 Ollama 拉起来跑 Qwen3.5 其实不难,ollama run qwen3.5:9b一行命令就能对话。真正让人卡住的是下一步:怎么让 OpenClaw 这类 Agent 工具稳定调用本地模型,同时又不把云端模型的 Key 散落在四五个配置文件里。我试过最乱的时候,settings.json里塞着 OpenAI 的 Key,config.toml里又写了一份 Anthropic 的,CC Switch 切来切去最后自己都忘了哪个工具在用哪个通道。
这篇就聚焦这条链路:Win11 + Ollama 拉起 Qwen3.5,再用 TaoToken 的统一 Key 通道把 OpenClaw 的模型接入配置对齐。适合已经在本地跑过 Ollama、但被多工具 Key 管理搞烦的人。核心检索词就三个:Win11 本地 Qwen3.5、Ollama、OpenClaw 配置。下面给出的settings.json和config.toml骨架可以直接复制,CC Switch 的切换步骤也会走一遍,最后用一次请求验证本地模型和统一 Key 通道是否同时生效。
先说清楚分工:Ollama 负责在本地把 Qwen3.5 跑起来,OpenClaw 负责当 Agent 去读写文件、执行任务,TaoToken 负责把云端模型的 Key 收敛成一个入口。三者不冲突,本地模型走localhost,云端模型走统一通道,切换靠配置文件而不是靠记忆。
2. TaoToken 前置:统一 Key 通道解决什么问题
多工具 Key 分散的本质是每个工具都有自己的配置格式。OpenClaw 读settings.json,一些编码工具读config.toml,CC Switch 又要维护一套切换逻辑。如果每个工具都单独填一遍云端 Key,改一次要改五处,漏一处就报 401。
TaoToken 在这里的角色是统一入口:你只在它那边生成一次 API Key,然后各个工具都指向同一个 API 地址。这样本地 Qwen3.5 和云端模型可以共存——本地模型走 Ollama 的http://localhost:11434,云端模型走 TaoToken 的https://taotoken.net/api,OpenClaw 根据配置决定调哪个。
需要提前准备的东西:
- Ollama 已安装并能跑
qwen3.5:9b,版本建议 0.17.5 以上 - Node.js 22.x,OpenClaw 依赖它
- 一个 TaoToken 的 API Key,在控制台生成
API Key 的生成入口在控制台,地址是https://taotoken.net/console,生成后复制保存,后面填进配置文件。接入文档在https://taotoken.net/doc,遇到字段对不上可以对照查。模型对话的调试入口在https://taotoken.net/models,用来确认通道本身是通的。
注意:本地模型和云端模型是两条独立通道。Ollama 那条不需要 Key,TaoToken 那条需要 Key。配置文件里要把两者的 base_url 分开写,别混在一个字段里。
3. 可复制配置:settings.json 与 config.toml 骨架
OpenClaw 的主配置是settings.json,位置通常在用户目录下的.openclaw文件夹里。下面这份骨架把本地 Qwen3.5 和 TaoToken 统一通道都写进去了,字段名按 OpenClaw 的约定来,你复制后把 Key 换成自己的即可。
{ "models": { "local-qwen": { "provider": "ollama", "base_url": "http://localhost:11434/v1", "model": "qwen3.5:9b", "api_key": "ollama" }, "cloud-unified": { "provider": "openai-compatible", "base_url": "https://taotoken.net/api", "model": "claude-sonnet-4-5", "api_key": "sk-你的TaoTokenKey" } }, "default_model": "local-qwen", "gateway": { "port": 18789, "token": "ollama" } }几个字段说明:local-qwen的api_key填ollama是占位,Ollama 的 OpenAI 兼容接口不校验这个值,但字段不能空。cloud-unified的base_url指向 TaoToken 的 API 地址,model填你要用的云端模型名。default_model决定 OpenClaw 启动时默认调哪个,想先用本地就填local-qwen。
另一份是config.toml,一些编码类工具和 CC Switch 会读它。骨架如下:
[default] model = "local-qwen" api_base = "http://localhost:11434/v1" api_key = "ollama" [profiles.local-qwen] model = "qwen3.5:9b" api_base = "http://localhost:11434/v1" api_key = "ollama" [profiles.cloud-unified] model = "claude-sonnet-4-5" api_base = "https://taotoken.net/api" api_key = "sk-你的TaoTokenKey"[default]段是启动时的默认配置,[profiles.*]段是 CC Switch 可以切换的档位。这样切本地和切云端只改一个 profile 名,不用动 Key。
提示:两份文件的
base_url写法要一致,Ollama 的 OpenAI 兼容路径是/v1结尾,TaoToken 的 API 地址按文档给的写,别自己加/v1。
4. CC Switch 切换与一次请求验证
配置写好后,用 CC Switch 在两个 profile 之间切换。CC Switch 读的就是上面config.toml里的[profiles.*]段。切换命令按 CC Switch 的用法来,切到本地:
cc-switch use local-qwen切到云端统一通道:
cc-switch use cloud-unified切换后确认当前档位:
cc-switch current输出会显示当前 profile 名和对应的api_base。如果显示的还是旧值,说明config.toml没被重新加载,重启一下 CC Switch 或对应的工具进程。
接下来验证两件事:本地 Qwen3.5 能不能被 OpenClaw 调起来,TaoToken 统一通道能不能通。先起 Ollama 服务,确认模型在:
ollama list应该能看到qwen3.5:9b。然后启动 OpenClaw:
ollama launch openclaw启动后浏览器打开http://localhost:18789/#token=ollama,这是 OpenClaw 的 Web UI。在对话框里发一句让它读桌面文件列表的指令,比如「列出我桌面上的图片文件名」。如果它返回了文件名,说明本地 Qwen3.5 这条链路通了。
再验证 TaoToken 通道。切到cloud-unified后,用 curl 直接打一次 API,确认 Key 和地址都对:
curl https://taotoken.net/api/v1/chat/completions \ -H "Authorization: Bearer sk-你的TaoTokenKey" \ -H "Content-Type: application/json" \ -d '{"model":"claude-sonnet-4-5","messages":[{"role":"user","content":"ping"}]}'返回里有choices字段就说明通道通了。如果返回 401,检查 Key 有没有复制全;返回 404,检查base_url是不是多写了或漏写了路径。
两条都通之后,回到 OpenClaw 里切回local-qwen,再发一次读文件的指令,确认切换后本地模型仍然工作。这一步做完,本地模型和统一 Key 通道就同时生效了。
5. 本篇常见错排查
Ollama 起来了但 OpenClaw 连不上。先确认 Ollama 监听的是11434端口,ollama list能出结果不代表服务在跑,用curl http://localhost:11434/v1/models测一下。如果连不上,重启 Ollama 托盘程序。
settings.json 改了不生效。OpenClaw 启动时读一次配置,改完要重启进程。另外 JSON 里不能有注释,多一个逗号都会解析失败,用编辑器校验一下。
CC Switch 切了但工具还用旧模型。config.toml的[default]段和[profiles.*]段可能不一致,切 profile 只改当前档位,[default]是兜底。确认cc-switch current的输出和预期一致。
TaoToken 返回 401。Key 复制时带了空格,或者用了过期的 Key。到控制台重新生成一个,注意Bearer后面有一个空格。
本地模型响应慢、思考时间长。Qwen3.5 默认带思考模式,简单任务也会想很久。可以在 Ollama 的模型参数里关掉 thinking,或者在 OpenClaw 的 prompt 里明确要求「直接回答,不要展开推理」。这一步我还在调,关掉之后响应会快不少。
端口 18789 被占用。OpenClaw 默认用这个端口,如果被别的程序占了,改settings.json里gateway.port的值,重启后 Web UI 地址也要跟着换。
6. 接入与排障的下一步
配置链路打通后,日常用起来就是切 profile 的事。本地 Qwen3.5 适合不敏感、量大的任务,云端统一通道适合需要更强推理的场景。Key 只在 TaoToken 那边维护一份,工具侧只改 profile 名。
如果你在接入过程中遇到字段对不上、报错定位不了的情况,直接对照接入文档查字段:https://taotoken.net/doc。需要重新生成或管理 Key,去 API Keys 页面:https://taotoken.net/api-keys。想先确认某个云端模型在统一通道下能不能正常返回,用模型对话页面发一条测试消息最快:https://taotoken.net/models。长期跑编码类 Agent、需要稳定额度的话,Coding Plan 那边有对应的方案:https://taotoken.net/coding-plan。
最后留一个我踩过的坑:config.toml和settings.json里的模型名要完全一致,qwen3.5:9b和qwen3.5-9b在有些工具里会被当成两个模型,切换后报模型不存在,其实就是名字对不上。