虚拟机里 OpenClaw 连着本地 Ollama,云端模型的 Base URL 填 TaoToken 📅 发布时间:2026/9/18 16:21:44 👁 浏览次数: 在 Rocky10 虚拟机里折腾 OpenClaw 的时候最顺的一段是本地 Ollama把 Ollama 监听到 12555firewall-cmd 放行端口再到 Windows 本机用 netsh interface portproxy 把虚拟机的 12555 映射到本机 8089浏览器打开 localhost:8089 就能看到本地模型在回话。但本地模型回答短、排队慢想换成云端模型时OpenClaw 的模型供应商配置里那一栏认证信息是空的原文也没写怎么填。TaoToken 在这里的角色很简单提供一条兼容 OpenAI 的 API 通道你只需要一个 Base URL 和一把 Key。先去 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_content 注册并创建 Key回到 OpenClaw 的模型配置里把 Base URL 填成 https://taotoken.net/apiKey 填刚刚复制的那串。下面把「傻瓜模式安装」之后缺失的模型供应商配置单独拆开讲同时保留原文的 firewalld 放行、portproxy 映射和 Ollama 本地部署步骤不做替换。1. Rocky10 里 OpenClaw 与 Ollama 12555 的原始链路1.1 虚拟机内的 OpenClaw 安装与 Ollama 端口调整原文用 Rocky10 虚拟机先装 OpenClaw 的傻瓜模式再装 Ollama。Ollama 默认监听 11434但原文改成了 12555。改端口通常是在 systemd 的 override 文件里加环境变量或者启动时带OLLAMA_HOST。如果你已经按原文跑通虚拟机里执行ss -tlnp | grep 12555应该能看到 Ollama 在监听。这里不重复安装步骤只强调一点本地模型和云端模型是两条独立的配置线本地端口跑通不代表 OpenClaw 知道怎么调云端。OpenClaw 的模型设置里可以同时存在多个供应商本地 Ollama 只是其中一个后面要新增的云端供应商需要单独填地址和 Key。Ollama 监听 12555 之后虚拟机内部用curl http://127.0.0.1:12555/api/tags应该能列出本地模型。这一步能过说明 Ollama 本身没问题。如果这一步就报连接拒绝先检查 Ollama 服务是否启动再检查端口有没有被其他进程占用。原文在这一段没有展开但它是后面所有验证的基础建议先确认本地 12555 是通的。1.2 firewall-cmd 放行 12555 和 netsh portproxy 映射 8089Rocky 的 firewalld 默认会拦外部访问。原文执行的是sudo firewall-cmd --zonepublic --add-port12555/tcp --permanent sudo firewall-cmd --reload这两条命令把 12555 加入 public 区域的永久放行列表然后重载防火墙。执行完可以用sudo firewall-cmd --zonepublic --list-ports确认 12555/tcp 已经在列表里。如果虚拟机重启后防火墙规则丢失说明--permanent没生效重新执行一次即可。然后在 Windows 本机用管理员 PowerShell 做端口映射netsh interface portproxy add v4tov4 listenport8089 listenaddress0.0.0.0 connectport12555 connectaddress虚拟机IP这一步是把本机的 8089 转发到虚拟机的 12555。注意connectaddress要换成你虚拟机的实际 IPlistenaddress如果只本机用可以写 127.0.0.1。跑完用netsh interface portproxy show all确认规则存在。如果本机 8089 已经被占用换一个端口同时记得后面访问 OpenClaw 时也要用新端口。1.3 本机 localhost:8089 验证本地模型映射完成后本机浏览器打开http://localhost:8089如果 OpenClaw 或 Ollama 的 Web 界面能出字说明本地链路通了。这一步的验证方法原文已经覆盖我们后面还会用它来对照云端通道。注意 OpenClaw 自己的 Web 界面端口可能不是 80898089 只是映射到 Ollama 的 12555。如果你在 OpenClaw 里聊天时选的是本地 Ollama 模型那么请求最终会走到 12555再经过 portproxy 回到本机或者反过来。理清这个方向后面排查云端问题时就不会混淆。本地链路跑通后OpenClaw 的模型下拉框里应该有一个本地模型可选。选它发一句「你好」如果几秒内出字说明本地供应商配置完整。接下来要做的是在同一个下拉框里增加一个来自云端通道的模型而不是替换掉本地模型。2. 本地 Ollama 能用之后OpenClaw 的云端模型认证为什么空着2.1 原文只走到「本地模型出字」模型供应商配置没展开原文的链路停在「本地 Ollama 能回答」但 OpenClaw 本身支持多个模型供应商。当你点开模型设置会看到已经有一个本地供应商但想加云端模型时需要填 Base URL 和 API Key。原文没有写这部分因为本地 Ollama 不需要 Key地址也是内网地址。云端模型不一样它需要一把能计费的 Key以及一个固定的 API 入口。OpenClaw 的模型配置界面通常会把「本地」和「云端」分成两个条目本地条目里填的是http://127.0.0.1:12555这类地址云端条目里则要填公网可达的 HTTPS 地址。很多人卡在这里不是因为不会填而是因为不知道 Base URL 该写什么。写https://taotoken.net不行写https://taotoken.net/v1也不行正确的写法是https://taotoken.net/api。这个地址末尾不带/v1OpenClaw 会自己拼接后续路径。记住这一点排障时能省很多时间。2.2 云端模型需要 Base URL API Key 这套标准入口OpenClaw 接云端模型时走的是 OpenAI 兼容协议。这意味着你只需要准备两个东西一个 Base URL一个 API Key。Base URL 告诉 OpenClaw 把请求发到哪里API Key 用来识别你的账户。TaoToken 提供的正是这样一条兼容通道不需要改 OpenClaw 的源码也不需要动虚拟机的端口映射。虚拟机的 firewalld 和 portproxy 只管本地 Ollama 的 12555云端通道走的是 OpenClaw 所在虚拟机的出站网络和入站端口是两回事。也就是说你不需要把https://taotoken.net/api加到防火墙放行里也不需要给它做端口映射。只要虚拟机可以访问外网OpenClaw 就能把请求发出去。这一点和本地 Ollama 的配置逻辑完全不同分开理解会清晰很多。2.3 去 TaoToken 注册并创建一把 API Key打开 TaoToken注册登录后进控制台在 API Keys 页面创建一把新 Key。复制出来的字符串先存到记事本稍后要填进 OpenClaw 的模型配置。注意 Key 只在创建时完整显示一次关掉页面就看不到了。如果你还没有账号现在就用这个链接注册后面的配置都需要它。创建 Key 的时候可以顺手给它起个名字比如openclaw-vm这样以后在控制台看用量时能区分是哪台机器在用。Key 的权限和额度以控制台当时显示为准不要假设所有 Key 都共享同一个额度池。如果你打算在多个工具里用同一把 Key也可以但建议至少给 OpenClaw 单独留一把方便出问题时快速定位。3. 在 OpenClaw 模型设置里新增 TaoToken 供应商3.1 找到模型配置入口设置里的供应商列表OpenClaw 的模型配置一般在 Web 界面的设置菜单里。不同版本入口可能叫「模型」「Model Providers」「AI 设置」但逻辑一样先看已有供应商列表本地 Ollama 应该在里面。点「添加供应商」或「新增模型」准备填字段。如果你在 OpenClaw 里找不到模型设置先确认你登录的是管理员账号有些版本只有管理员能改模型供应商。进入新增供应商页面后一般会让你选供应商类型。选 OpenAI Compatible 或 Custom OpenAI不要选 Ollama因为本地 Ollama 已经有一个独立条目了。选错类型会导致请求被发到错误的路径表现就是一直连不上或者返回格式错误。3.2 字段对照Base URL 填 https://taotoken.net/api新增供应商时按下表填字段填写值供应商名称自定义例如 cloud-channel供应商类型OpenAI CompatibleBase URLhttps://taotoken.net/apiAPI KeyYOUR_API_KEY模型 ID从模型广场复制不要手写Base URL 末尾不要加/v1也不要加任何查询参数。OpenClaw 自己会拼接后续路径。填错这里最常见的后果是 404。API Key 填你刚才创建的那把如果界面有「测试连接」按钮可以先点一下看能不能通过。有些版本的 OpenClaw 会把「模型 ID」和「模型名称」分成两个字段。模型 ID 填模型广场里复制的字符串模型名称可以随便写一个好记的比如「云端-快速模型」。显示名称不影响请求但模型 ID 必须准确。3.3 模型 ID 以模型广场为准不要自己拼模型 ID 不是越新越好也不是随便写个名字就能用。打开 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_content 的模型广场找到你想用的模型复制它的 ID 字符串粘贴到 OpenClaw 的模型 ID 字段。不要自己加日期后缀也不要写 gpt-5 这类不存在的名字。如果模型广场里没有你想要的就换一个列表里有的。如果你不确定该选哪个模型可以先用模型广场里标注为通用对话的模型试一条。等通道跑通之后再根据实际任务换更合适的模型。模型广场的列表会更新今天能用的 ID 明天可能被新版本替代所以每次重新配置时都建议回广场确认一下当前可用列表。3.4 保存后把默认模型切到 TaoToken 供应商保存供应商后回到聊天界面在模型下拉框里应该能看到刚添加的云端模型。把它选为当前模型。此时 OpenClaw 的请求就会走https://taotoken.net/api而不是本地 12555。本地 Ollama 的配置不要删后面还要切回来对照验证。如果你希望默认就用云端模型可以在设置里把新供应商设为默认。但建议先不要设默认而是手动切换这样验证阶段可以随时回到本地模型做对照。等两条通道都确认稳定之后再按自己的使用习惯调整默认值。4. 虚拟机里各发一次请求本地 Ollama 与 TaoToken 通道对照4.1 先切回本地 Ollama 模型发一条短消息在 OpenClaw 聊天界面把模型切回本地 Ollama输入一句「用一句话说明你现在是本地模型」。如果很快出字说明 firewalld、portproxy、Ollama 12555 这条链路仍然正常。这一步是基线验证确保后面的云端问题不是本地环境引起的。如果本地模型这时候也不出字先去查虚拟机里的 Ollama 进程和 12555 监听不要急着调云端配置。本地模型返回的内容可能比较简短甚至有点慢这都正常。只要它能出字就说明 OpenClaw 的模型调用链路是通的。记住这次返回的速度和内容等会切到云端模型时可以做主观对比但不要编造加速倍数实际差异以你当时的网络和模型为准。4.2 再切到 TaoToken 模型发同一条消息把模型切到刚添加的云端供应商发同样的消息。这次请求会从虚拟机出去经过 OpenClaw 到https://taotoken.net/api。如果返回正常说明 Base URL 和 Key 都对了。如果报错先看下一节的排障顺序。你也可以在虚拟机里直接用 curl 测一次curl https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer YOUR_API_KEY \ -H Content-Type: application/json \ -d {model:YOUR_MODEL_ID,messages:[{role:user,content:ping}]}把YOUR_MODEL_ID换成模型广场里复制的 IDYOUR_API_KEY换成你自己的 Key。返回 JSON 里有内容就说明通道本身没问题。如果 curl 能通但 OpenClaw 不通那问题就在 OpenClaw 的供应商配置字段上而不是网络或 Key。4.3 去控制台看这次调用有没有记上发完请求后回到 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_content 的控制台打开用量或日志页面看看刚才那次调用有没有记录。如果有记录说明请求确实到了服务端而不是被本地缓存或错误配置吞掉了。这一步也能帮你确认 Key 是不是用对了。如果没有记录但 OpenClaw 也没报错那可能是 OpenClaw 没有真正发出请求或者请求被发到了其他供应商检查一下当前选中的模型是不是云端那条。控制台里还能看到调用时间和消耗的 token 数这些数据可以帮你判断 OpenClaw 发出去的请求是否符合预期。如果发现请求量异常先检查是不是有多个 OpenClaw 实例在用同一把 Key。5. 12555 映射通了但 OpenClaw 报错时的排查顺序5.1 401Key 复制不全或多了换行如果 OpenClaw 提示 401 Unauthorized第一个要看的是 API Key。有时候从网页复制会带上末尾空格或换行粘贴到 OpenClaw 里就变成无效 Key。重新去控制台复制一次粘贴时注意不要多选空白。另外确认你填的是创建 Key 时的那串而不是其他项目的 Key。如果 Key 已经泄露或忘记可以直接在控制台重新创建一把然后到 OpenClaw 里更新。还有一种情况是 Key 被禁用或额度用尽这时候也会返回 401 或类似的权限错误。去控制台看看这把 Key 的状态如果显示已停用换一把新 Key 再试。5.2 404Base URL 末尾多写了 /v1404 通常不是 Key 的问题而是 Base URL 路径拼接错了。OpenClaw 里 Base URL 只填https://taotoken.net/api不要写成https://taotoken.net/api/v1。多出来的/v1会导致 OpenClaw 拼出/api/v1/v1/chat/completions这类不存在的路径。检查一下你的供应商设置把末尾的/v1删掉。注意https://taotoken.net/api后面也不要加斜杠保持干净。如果删掉/v1之后还是 404检查一下 OpenClaw 的供应商类型是不是选成了 Ollama 或 Anthropic。类型选错时OpenClaw 会向不同路径发请求即使 Base URL 填对了也会 404。回到供应商设置确认类型是 OpenAI Compatible。5.3 本地 Ollama 失联firewalld 与 portproxy 复查如果切回本地模型也不出字先看虚拟机里 Ollama 是否还在 12555 监听再查 firewall-cmd 的放行规则有没有被重置最后在本机 PowerShell 跑netsh interface portproxy show all看映射是否还在。虚拟机重启后portproxy 规则有时会丢需要重新添加。firewalld 的永久规则一般不会丢但如果之前用了--add-port而没有加--permanent重启后就会失效。另外注意netstat 或 ss 看到的监听地址如果是127.0.0.1:12555外部仍然访问不到需要让 Ollama 监听0.0.0.0:12555。这一点在本地链路排查时经常被忽略。5.4 模型 ID 对不上回模型广场重新复制如果返回 400 或提示模型不存在去 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_content 模型广场重新复制模型 ID。OpenClaw 里填的字符串必须和广场里的一模一样大小写、连字符都不能差。不要凭记忆手打。有些模型 ID 里包含斜杠或冒号复制时确保完整。如果你在 OpenClaw 里配置了多个云端模型注意切换模型时下拉框里显示的名称可能只是显示名实际请求用的是模型 ID。切换后如果报错先确认当前选中的模型 ID 是不是你想用的那个。6. 下一步把常用模型设成默认按量看用量配置跑通之后可以在 OpenClaw 里把云端模型设为默认本地 Ollama 保留为备用。这样日常聊天走云端断网或需要本地隐私时切回 12555。想快速验证模型对话打开 TaoToken 模型对话 用同一把 Key 发一条消息需要管理 Key 就去 控制台 API Keys如果长期写代码可以看 Coding Plan 的套餐是否够用。Claude Code 接入文档在 这里不过本篇的 OpenClaw 不需要改那些环境变量保持 Base URL 为 https://taotoken.net/api 即可。