
1. Windows 本地跑模型这件事为什么值得折腾如果你在 Windows 上做开发大概率遇到过这种纠结想用 AI 帮忙写代码、整理文档但数据敏感不敢往云端传或者网络环境不稳定调一次接口等半天。Ollama 就是为这种场景准备的——它把大模型变成一条本地命令ollama run一敲模型就在你自己的机器上跑起来推理过程不出本机。而 OpenClaw 是一个客户端接入层负责把模型能力包装成你日常能用的对话、编码、Agent 工作流。把这两个东西拼起来你得到的是一个纯本地的 AI 工作台模型在 Ollama 里跑OpenClaw 负责交互全程走127.0.0.1不依赖外部网络。这篇教程面向想在 Windows 上离线使用 AI 工具的开发者从 PowerShell 安装命令开始一路给到 OpenClaw 配置文件骨架、settings.json示例、连通性验证和报错排查。中间我会顺带讲清楚怎么用 TaoToken 的统一 Key 和 API 通道写法把本地模型和云端能力放在同一套配置里管理这样你既保留了离线推理的隐私优势又能在需要时切换到更强的模型。适合谁看有 NVIDIA 显卡想开 GPU 推理的、没显卡想纯 CPU 跑的、以及已经在用 OpenClaw 但被 “No API key found for provider ollama” 卡住的。下面每一步都给完整命令和预期结果你照着敲就行。2. 前置准备驱动、Ollama 与 TaoToken 统一 Key2.1 显卡驱动与 Ollama 安装有 NVIDIA 显卡的先确认驱动版本。Ollama 0.18 对驱动有最低要求531.00 是底线推荐 550 以上。以管理员身份打开 PowerShell执行nvidia-smi成功的话会输出显卡型号、驱动版本和 CUDA 版本。如果提示命令不存在说明驱动没装好或者没加进 PATH去 NVIDIA 官网按显卡型号下载安装后重启。接着装 Ollama。官网下载 Windows 版双击一路默认下一步它会自动配好环境变量。装完后强制开启 GPU 加速管理员 PowerShell 执行setx OLLAMA_CUDA 1 /m setx OLLAMA_GPU_ALL_LAYERS 1 /m这两条分别表示启用 CUDA 加速、把所有模型层加载到 GPU。必须重启电脑环境变量才生效。重启后拉一个 7B 模型适配 3060/3070 这类显存ollama pull qwen2.5:7b-instruct-q5_K_M拉完跑起来另开一个 PowerShell 看状态ollama run qwen2.5:7b-instruct-q5_K_M ollama psollama ps里 PROCESSOR 显示 GPU 或 CPUGPU 就对了显示 100% CPU 说明加速没生效回去检查驱动、环境变量和重启。2.2 TaoToken 统一 Key 的定位本地 Ollama 本身不需要密钥但 OpenClaw 的 provider 机制会强制校验 apiKey 字段这就是后面报错的根源。同时如果你希望同一套 OpenClaw 配置既能连本地 Ollama又能连云端模型就需要一个统一的 Key 管理入口。TaoToken 在这里扮演的是 API 通道和 Key 统一管理的角色你可以在控制台创建 Key然后在 OpenClaw 的 provider 配置里复用它。相关入口先记下来后面配置会用到控制台创建 Keyhttps://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentAPI Keys 管理https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentAPI 基地址不加 UTMhttps://taotoken.net/api注意本地 Ollama 的 apiKey 只是占位符填ollama-local即可不是真实密钥。真正需要 TaoToken Key 的是你配置云端 provider 的时候。3. 可复制配置OpenClaw 对接本地 Ollama3.1 安装与初始化 OpenClaw用 npm 全局安装npm install -g openclaw-cn openclaw onboard初始化向导里按这个顺序选风险提示输入Yes模型提供商选Ollama (本地)Ollama 地址直接回车默认http://127.0.0.1:11434模型名称填qwen2.5:7b-instruct-q5_K_M最后一步选3. 稍后执行。3.2 修复强制 API 密钥报错初始化后启动很容易撞上No API key found for provider ollama。本地 Ollama 根本不需要密钥这是 OpenClaw 的校验逻辑太死板。人为塞一个占位值openclaw config set models.providers.ollama.apiKey ollama-local3.3 settings.json 配置骨架OpenClaw 的配置最终落在settings.json里。下面是一个同时包含本地 Ollama 和 TaoToken 云端通道的骨架你可以按需删减{ models: { default: ollama/qwen2.5:7b-instruct-q5_K_M, providers: { ollama: { type: openai-compatible, baseUrl: http://127.0.0.1:11434/v1, apiKey: ollama-local, models: [qwen2.5:7b-instruct-q5_K_M] }, taotoken: { type: openai-compatible, baseUrl: https://taotoken.net/api, apiKey: 你的TaoTokenKey, models: [claude-sonnet-4-5, gpt-4o] } } }, gateway: { port: 18789, host: 127.0.0.1 } }几个关键点baseUrl本地走11434/v1云端走https://taotoken.net/apiapiKey本地是占位符云端填你在控制台创建的真实 Keydefault决定默认用哪个模型想强制离线就指向 ollama。3.4 启动网关openclaw gateway install openclaw gateway网关起来后浏览器打开带权限的本地面板http://127.0.0.1:187894. 验证请求从 PowerShell 到面板对话4.1 验证 Ollama 本地接口先确认 Ollama 自己在监听Invoke-WebRequest http://127.0.0.1:11434返回Ollama is running就说明服务正常。再验证 OpenAI 兼容接口能不能出结果$body { model qwen2.5:7b-instruct-q5_K_M messages ({ role user; content 用一句话说明什么是本地推理 }) } | ConvertTo-Json -Depth 5 Invoke-RestMethod -Uri http://127.0.0.1:11434/v1/chat/completions -Method Post -ContentType application/json -Body $body能拿到choices[0].message.content就说明模型链路通了。4.2 验证 OpenClaw 网关网关启动后用 PowerShell 探一下端口Test-NetConnection -ComputerName 127.0.0.1 -Port 18789TcpTestSucceeded : True表示网关在监听。然后浏览器打开http://127.0.0.1:18789在面板里发一条消息如果模型正常回复整条链路就打通了。想切云端模型在面板里把模型切到taotoken/claude-sonnet-4-5之类的即可Key 已经在settings.json里配好。4.3 参数对照表配置项本地 OllamaTaoToken 云端baseUrlhttp://127.0.0.1:11434/v1https://taotoken.net/apiapiKeyollama-local占位控制台创建的真实 Key网络依赖无需要可访问 API适用场景隐私数据、离线强模型、复杂任务5. 本篇常见报错排查5.1 No API key found for provider ollama最常见的一个。原因就是 OpenClaw 对 ollama provider 也做密钥校验。解决openclaw config set models.providers.ollama.apiKey ollama-local改完重启网关。如果还报检查settings.json里 ollama 节点下是不是真的写进了apiKey字段。5.2 ollama ps 显示 100% CPUGPU 没吃上。按顺序查nvidia-smi能不能出信息OLLAMA_CUDA和OLLAMA_GPU_ALL_LAYERS是否设置成功echo $env:OLLAMA_CUDA设完有没有重启。三者缺一不可。5.3 面板打不开或连接被拒先Test-NetConnection 127.0.0.1 18789。端口不通说明网关没起来重新openclaw gateway。另外面板链接要带权限参数直接访问裸地址可能被拒用启动时输出的完整链接。5.4 模型拉取慢或失败ollama pull走的是模型仓库网络波动会导致中断。重试即可已下载的层会复用。如果一直卡住换个时间段再拉。5.5 云端 provider 报 401说明 TaoToken Key 不对或没填。去控制台重新创建一个确认settings.json里taotoken.apiKey填的是完整 Key没有多余空格。接入细节可以对照接入文档核对 baseUrl 和路径。6. 把本地和云端放进同一套工作流走到这里你手上应该有一个能离线跑的 Ollama、一个能对话的 OpenClaw 面板以及一套同时容纳本地和云端 provider 的settings.json。我的建议是日常隐私相关的整理、草稿、代码片段默认走本地qwen2.5:7b遇到需要更强推理的复杂任务在面板里切到 TaoToken 通道的模型Key 和 baseUrl 都已经配好不用改代码。如果你打算长期用 OpenClaw 做编码或 Agent 工作流可以了解一下 Coding Plan它把常用模型的调用额度打包配合统一 Key 管理会省心不少https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content想先验证模型效果、对比本地和云端输出差异的直接开模型对话页试https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content最后留一个我踩过的坑改完settings.json一定要重启网关OpenClaw 不会热加载 provider 配置很多人以为配置没生效其实只是进程还拿着旧配置。把这一步养成习惯后面切换模型会顺很多。