
1. Windows 上跑 OpenClaw 到底卡在哪本地 Ollama 模型接入的完整链路OpenClaw 是一个可以跑在自己电脑上的个人 AI 助手框架它能接本地大模型、能挂飞书机器人、能通过网页网关对话适合想省钱又想把数据留在本地的开发者。很多人第一次在 Windows 上装它卡点其实不在 OpenClaw 本身而在三件事Node.js 环境没配好、Ollama 拉的模型不支持 tools 调用、飞书机器人回调地址填错。这篇就把这三段链路一次跑通。我实测的机器是 Windows 11Node.js 用 LTS 版本Ollama 跑 qwen3-vl:8b网关走 127.0.0.1:18789飞书那边用自建应用机器人。整个过程不需要额外网络工具全部走官方源和本地端口。下面按「环境准备 → 模型接入 → OpenClaw 配置 → 飞书联动 → 排障」的顺序写命令都可以直接复制。先说清楚整体数据流你在飞书里发一句话飞书开放平台把事件推给 OpenClaw 的 webhookOpenClaw 把这句话转成 Ollama 的 /api/chat 请求本地模型生成回复后再原路返回飞书。所以任何一环断了表现都是「飞书里机器人不回话」。定位问题时按这个链路逐段验证比盲目重装快得多。另外提醒一句OpenClaw 的网关默认只监听本机飞书要回调就必须让外网能访问到你的机器这一步在飞书配置里用「长连接」模式可以绕开公网 IP 的问题后面第 5 节会具体写。2. 前置准备Node.js、Ollama 与 TaoToken 的 API Key 获取2.1 安装 Node.js LTS 并验证去 nodejs.org 下载 LTS 版本安装时勾选「Add to PATH」。装完打开一个新的 cmd 窗口一定要新开否则 PATH 不生效执行node --version npm --version正常会输出类似v22.x.x和10.x.x。如果提示「不是内部或外部命令」说明 PATH 没配好重新安装并确认勾选项。2.2 安装 Ollama 并拉取支持 tools 的模型访问 ollama.com 下载 Windows 版安装后它会在后台常驻默认监听localhost:11434。验证服务是否起来curl http://localhost:11434/api/tags返回 JSON 列表就说明服务正常。接着拉模型这里有个关键坑不是所有模型都支持 tools 调用。OpenClaw 依赖模型的 function calling 能力deepseek-r1 系列会直接报does not support tools。推荐用 qwen 系列ollama pull qwen3-vl:8b拉完后确认ollama list能看到qwen3-vl:8b即可。如果你的机器显存较小可以换更小的 qwen 版本但上下文建议不低于 32KOpenClaw 官方推荐 64K。2.3 获取 TaoToken 的 API Key可选但推荐如果你除了本地模型还想在 OpenClaw 里挂一个云端模型做兜底本地模型答不好时切换可以准备一个 TaoToken 的 Key。它的接口兼容 OpenAI 格式Base URL 填https://taotoken.net/apiKey 在控制台生成控制台入口https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentconsoleAPI Keys 管理https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentapi-keys生成后先复制保存后面配置 provider 时要用。注意 Key 只显示一次丢了就重新生成。3. 可复制配置OpenClaw 安装、网关启动与 Ollama provider 对接3.1 安装 OpenClaw 并解决 PowerShell 脚本限制打开 PowerShell执行官方安装脚本iwr -useb https://openclaw.ai/install.ps1 | iex很多人会在这里遇到这个报错iex : 无法加载文件 D:\software\nodejs\npm.ps1因为在此系统上禁止运行脚本。 CategoryInfo : SecurityError: (:) [Invoke-Expression]PSSecurityException这是 PowerShell 执行策略拦的不是 OpenClaw 的问题。临时放开当前会话即可Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass然后再跑一次安装脚本。装完验证openclaw --version3.2 启动配置向导执行openclaw dashboard会进入交互式配置。关键选项这样填模型提供商选custom provider模型名填qwen3-vl:8bAPI Key 填任意非空字符本地 Ollama 不校验但不能留空留空会报错skill 和 hook 先跳过3.3 写入 provider 配置JSON 片段OpenClaw 的配置文件在用户目录下的.openclaw文件夹里provider 部分参考下面这段 JSON路径和字段名按你实际安装的版本对齐{ providers: { ollama-local: { type: openai-compatible, baseUrl: http://localhost:11434/v1, apiKey: ollama, models: { qwen3-vl:8b: { contextWindow: 65536, supportsTools: true } } }, taotoken-cloud: { type: openai-compatible, baseUrl: https://taotoken.net/api, apiKey: 你的_TaoToken_Key, models: { claude-sonnet-4-5: { contextWindow: 200000, supportsTools: true } } } } }注意 Ollama 的 OpenAI 兼容端点是/v1不是/api这两个别混。/api/chat是原生接口/v1/chat/completions才是 OpenAI 格式OpenClaw 走的是后者。3.4 启动网关openclaw gateway浏览器打开http://127.0.0.1:18789/能看到对话界面就说明网关起来了。如果打不开先检查 Windows 防火墙是否拦了 18789 端口临时关闭防火墙测试一下。4. 验证请求从 curl 到飞书机器人回话的成功结果4.1 先验证 Ollama 本身能对话在配置 OpenClaw 之前先用 curl 确认 Ollama 的 OpenAI 兼容接口是通的curl http://localhost:11434/v1/chat/completions -H Content-Type: application/json -d {\model\:\qwen3-vl:8b\,\messages\:[{\role\:\user\,\content\:\你好\}]}返回里有choices[0].message.content就说明模型侧没问题。如果这里就报错别往下走先解决 Ollama。4.2 验证 OpenClaw 网关能调模型在http://127.0.0.1:18789/的对话框里发一句「你好」观察返回。如果界面报reading choices之类的错误通常是 provider 的 baseUrl 写成了/api而不是/v1或者模型名拼错。4.3 飞书机器人配置与 Webhook 验证飞书这边分几步去飞书开放平台创建「企业自建应用」拿到 App ID 和 App Secret。在「事件订阅」里选择「长连接」模式这样不需要公网 IPOpenClaw 主动连飞书。在「权限管理」里开通im:message、im:message:send_as_bot等消息相关权限。在 OpenClaw 里配置 channel安装飞书插件填入 App ID 和 App Secret。配置完成后在飞书里给机器人发一条消息OpenClaw 网关日志里应该能看到事件进来然后模型返回飞书里收到回复。这一步成功整条链路就通了。如果你在飞书里想验证云端模型的效果可以临时把 provider 切到 TaoToken用模型对话页面直接测模型对话https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentchat5. 本篇常见错排查401、local proxy failed、reading choices 与 OAuth5.1 401 Unauthorized出现在调用云端 provider 时说明 API Key 错了或没带。检查配置文件里apiKey字段是否填了真实 Key注意不要有多余空格。如果是 TaoToken去 API Keys 页面重新生成一个再试。5.2 local proxy failed这个报错通常出现在 OpenClaw 尝试连本地 Ollama 时。原因有两个一是 Ollama 服务没启动二是端口不是 11434。先跑curl http://localhost:11434/api/tags确认服务活着再检查配置里的 baseUrl 端口。5.3 reading choices 报错这是解析模型返回时找不到choices字段。最常见原因是 baseUrl 用了/api而不是/v1导致返回的是 Ollama 原生格式而不是 OpenAI 格式。改成http://localhost:11434/v1即可。5.4 OAuth 相关报错飞书长连接模式如果报 OAuth 或鉴权失败检查 App ID 和 App Secret 是否配对以及应用是否已发布版本。飞书自建应用改配置后需要重新发布才生效这一步很容易漏。5.5 模型不支持 tools400 registry.ollama.ai/library/deepseek-r1:8b does not support tools换支持 function calling 的模型qwen 系列基本都支持。去 Ollama 官网的 models 页面筛选 tools 标签确认。6. 长期跑本地 AI 助手把 OpenClaw 接进日常编码与 Agent 流程链路跑通只是开始真正省事的是把它变成日常工具。如果你主要用 Claude Code 这类编码工具可以把 OpenClaw 的网关当成一个统一的模型入口本地模型处理简单问答复杂任务切到云端。TaoToken 的 Coding Plan 适合长期编码和 Agent 场景配置方式是把 Base URL 指向https://taotoken.net/apiKey 用控制台生成的Model ID 填你订阅里支持的模型Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentcoding-plan接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentdocClaude Code 的接入方式是在 settings 里配ANTHROPIC_BASE_URL和ANTHROPIC_API_KEY具体字段参考文档里的 ClaudeCodeAnthropic 章节Claude Code 接入https://taotoken.net/doc/claudecode-anthropic?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentclaudecode-anthropic最后给一个实用建议OpenClaw 的网关日志一定要开着看飞书不回话时先看日志里事件有没有进来再看模型请求有没有发出去两段一对比就知道断在哪。本地模型跑久了显存会涨定期重启 Ollama 服务能避免卡死。