资讯动态

【OpenClaw】云服务器端 openclaw 集成本地 Windows端 ollama 模型:把 endpoint 改到 TaoToken 的完整配置

发布时间:2026/10/9 13:48:39 来源:尧图企业网站定制
1. 云服务器上的 OpenClaw 为什么连不上本地 Windows 的 ollama先说清楚这个场景到底在解决什么问题。你有一台云服务器上面跑着 OpenClaw一个可以对接多种模型后端的 Agent 框架同时你手边有一台带独显的 Windows 电脑本地用 ollama 跑着 qwen 系列模型。你希望 OpenClaw 在云上干活但推理算力用你本地这台 Windows 机器的 GPU——因为云服务器通常没有独显跑大模型要么慢要么贵。这个需求本身很合理但直接连会遇到两个硬骨头。第一是网络方向问题云服务器有公网 IP你的 Windows 电脑在家庭或公司内网里外网无法主动访问内网设备所以必须做内网穿透把本地 11434 端口暴露出去。第二是鉴权与 endpoint 统一问题穿透出来的地址是裸 IP 加端口OpenClaw 配置里如果直接写这个地址一旦 IP 变动、端口调整或者你想换成别的模型通道就得改一堆地方。更麻烦的是很多团队会把模型调用统一收口到一个带 Key 鉴权的 API 通道上而不是让每个客户端直连裸端口。我试过把 endpoint 改到 TaoToken 这套统一 Key/API 通道上好处是 OpenClaw 侧只需要认一个 Base URL 和一个 Key本地 ollama 的穿透地址、模型名映射都收敛到通道侧配置。这样云服务器上的 OpenClaw 配置变得非常干净换模型、换机器都不用动 OpenClaw 本身。适合谁看手里有云服务器 本地有独显 Windows 机器、想用 OpenClaw 做 Agent 但不想在云上烧 GPU 的开发者以及已经在用 ollama 本地跑模型、想把调用入口统一管理的同学。下面从本地 ollama 配置讲起一路到 OpenClaw 的 endpoint 改写和连通性验证每一步都给可复制的命令和配置。2. 前置准备本地 ollama 监听与 TaoToken 通道配置2.1 让本地 ollama 监听所有网卡ollama 默认只监听 127.0.0.1也就是只有本机能访问。内网穿透工具转发过来的流量源地址不是本机回环所以必须让它监听 0.0.0.0。打开 PowerShell执行两条环境变量设置[Environment]::SetEnvironmentVariable(OLLAMA_HOST, 0.0.0.0:11434, User) [Environment]::SetEnvironmentVariable(OLLAMA_ORIGINS, *, User)第一条让 ollama 监听所有网卡的 11434 端口第二条允许跨域请求避免 OpenClaw 侧因为 CORS 被拦。设置完打开任务管理器CtrlShiftEsc搜索 ollama把所有相关后台进程结束掉然后重新启动 ollama让它读取新的环境变量。验证方法是在浏览器访问http://127.0.0.1:11434/api/tags能看到本地已下载模型列表就说明监听正常。2.2 内网穿透把 11434 暴露到公网云服务器无法直接访问你内网的 11434需要一条隧道。可以用 frp 自建也可以用现成的穿透服务。这里以 frp 为例说明配置结构因为它的配置文件最直观。服务端云服务器的frps.tomlbindPort 7000 auth.token my_password webServer.addr 0.0.0.0 webServer.port 7500 webServer.user admin webServer.password admin客户端Windows的frpc.tomlserverAddr 123.45.67.89 serverPort 7000 auth.token my_password [[proxies]] name ollama type tcp localIP 127.0.0.1 localPort 11434 remotePort 11434服务端放行端口后启动./frps -c frps.toml客户端启动.\frpc.exe -c frpc.toml。此时访问http://云服务器IP:11434/api/tags应该能看到你本地 Windows 上的模型列表。这一步成功说明隧道通了。2.3 在 TaoToken 侧配置统一通道隧道通了之后理论上 OpenClaw 可以直接写http://云服务器IP:11434/v1。但裸 IP 加端口有两个问题一是没有鉴权任何人扫到你的端口都能调用你的本地模型二是 IP 或端口一变所有客户端都要改。所以更稳的做法是把本地 ollama 的穿透地址注册到 TaoToken 的统一通道里由通道对外提供一个带 Key 鉴权的稳定 endpoint。进入控制台创建 API Key然后在模型通道配置里把上游指向你的穿透地址。配置片段大致如下具体字段以控制台为准{ channel_name: local-ollama-win, base_url: http://云服务器IP:11434/v1, api_key: 本地ollama不需要key可留空, models: [qwen3.5:2b, qwen3.5-2b-gpu:latest], auth_type: none }这里的关键是models字段它决定了通道对外暴露哪些模型名。OpenClaw 侧请求的 Model ID 必须和这里列出的名字完全一致否则会报模型不存在。配置完成后TaoToken 会给你一个统一的 Base URL形如https://taotoken.net/api/v1以及一个以sk-开头的 Key。这个 Key 才是 OpenClaw 侧要填的东西本地 ollama 的裸地址被藏在通道后面。注意本地 ollama 本身不校验 Key所以通道侧的上游auth_type设为 none 即可。但通道对外的 Key 一定要保管好它等于你本地 GPU 算力的调用凭证。3. 可复制配置OpenClaw 的 endpoint 与 auth.json 改写3.1 OpenClaw 配置入口OpenClaw 的配置通过openclaw config命令进入交互式配置流程。如果你第一次安装时已经选过「与 OpenAI 兼容的接口」这里会看到之前的配置项。我们要改的核心就三个API Base URL、API Key、Model ID。执行openclaw config在交互流程里选择继续编辑Continue / Done 之前的步骤找到 API Base URL 这一项。原来如果填的是http://127.0.0.1:11434/v1或者http://云服务器IP:11434/v1现在改成 TaoToken 的统一地址https://taotoken.net/api/v1API Key 填你在控制台创建的那个sk-开头的 Key。Model ID 填通道里配置的模型名比如qwen3.5:2b。三个字段填完选择 ContinueDone保存。3.2 auth.json 的完整三件套OpenClaw 底层很多实现会读写一个auth.json来持久化认证信息。这个文件通常位于 OpenClaw 的配置目录下不同安装方式路径略有差异常见位置是~/.openclaw/auth.json或项目根目录下的config/auth.json。你可以用find定位find / -name auth.json -path *openclaw* 2/dev/null找到后确保里面包含完整的三件套Base URL、Key、Model ID。一个可参考的结构如下{ provider: openai-compatible, base_url: https://taotoken.net/api/v1, api_key: sk-你的Key, model: qwen3.5:2b, timeout: 120 }这三个字段必须同时存在且一致。我踩过的坑是只改了base_url没改model结果 OpenClaw 拿着旧的模型名去新通道请求通道里没有这个模型直接返回 404。还有一种情况是api_key留空通道侧返回 401。所以改完一定要三项对照检查。3.3 如果你用 Claude Code 或 Cline 类客户端有些同学是在 Claude Code 或 Cline 里通过 MCP 方式调用 OpenClaw 的能力。这类客户端的配置逻辑一样也是三件套。以 Claude Code 的 settings 为例在~/.claude/settings.json里{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: sk-你的Key, ANTHROPIC_MODEL: qwen3.5:2b } }注意这里的 Base URL 用的是https://taotoken.net/api不带/v1因为 Anthropic 协议和 OpenAI 协议的路径拼接规则不同。如果你用的是 OpenAI 兼容协议OpenClaw 默认走这个才用https://taotoken.net/api/v1。这一点很容易搞混配错了会报 404 或路径不存在。4. 验证请求一次 curl 确认连通性配置改完不要急着在 OpenClaw 里跑复杂任务先用一条最简单的请求确认链路通。在云服务器上执行curl -X POST https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer sk-你的Key \ -H Content-Type: application/json \ -d { model: qwen3.5:2b, messages: [{role: user, content: 只回复两个字通了}], max_tokens: 16 }如果链路正常你会收到类似这样的响应{ id: chatcmpl-xxx, object: chat.completion, choices: [ { index: 0, message: { role: assistant, content: 通了 }, finish_reason: stop } ], usage: { prompt_tokens: 12, completion_tokens: 2, total_tokens: 14 } }看到choices[0].message.content有内容返回说明从云服务器到 TaoToken 通道、再到你本地 Windows 的 ollama、再原路返回整条链路是通的。这一步的响应时间取决于你本地 GPU 的性能和模型大小qwen3.5:2b在 4G 显存上通常一两秒内能出结果。如果返回的是流式响应OpenClaw 默认可能开 stream你会看到一串data:开头的 SSE 事件最后以data: [DONE]结束。这也是正常的说明流式通道没问题。验证通过后回到 OpenClaw 里跑一个实际任务比如让它读一个文件并总结。如果 OpenClaw 能正常输出说明配置完全生效。此时你可以打开本地 Windows 的任务管理器看 GPU 占用是否有波动确认推理确实发生在本地显卡上而不是云服务器 CPU。5. 常见报错排查401、local proxy failed、reading choices、OAuth5.1 401 Unauthorized这是最常见的。原因通常是 Key 没填、填错、或者 Key 被禁用。检查auth.json里的api_key是否以sk-开头且完整。还有一种情况是 Base URL 写成了https://taotoken.net/api少了/v1OpenAI 兼容协议下路径拼接会变成/api/chat/completions通道侧找不到这个路由有时会返回 401 而不是 404。对照检查 URL 和 Key 两项。5.2 local proxy failed这个报错通常出现在 OpenClaw 启动阶段意思是它尝试连接配置的 Base URL 失败。可能原因有三个一是云服务器出网被限制检查curl https://taotoken.net/api/v1/models能否通二是 DNS 解析问题试试nslookup taotoken.net三是本地 ollama 的穿透隧道断了虽然 OpenClaw 连的是 TaoToken但 TaoToken 通道侧连不上你的本地 ollama会返回上游错误OpenClaw 有时会把它包装成 proxy failed。排查顺序是先确认隧道http://云服务器IP:11434/api/tags能访问再确认 TaoToken 通道状态正常。5.3 reading choices 相关报错类似cannot read property choices of undefined或reading choices的报错说明 OpenClaw 收到了响应但响应结构里没有choices字段。这通常是因为通道返回了错误信息比如模型不存在、上游超时而 OpenClaw 按成功响应的结构去解析。解决办法是先用第 4 节的 curl 命令单独测一次看原始响应到底是什么。如果是model not found检查 Model ID 是否和通道里配置的模型名完全一致注意大小写和冒号。5.4 OAuth 相关报错如果你在 Claude Code 或类似客户端里看到 OAuth 报错说明客户端在尝试走 Anthropic 官方的 OAuth 流程而不是用你配置的 Key。这类客户端需要显式设置环境变量来覆盖默认认证方式。检查settings.json里的ANTHROPIC_BASE_URL和ANTHROPIC_API_KEY是否都设置了并且 Base URL 用的是https://taotoken.net/api不带/v1。如果客户端有「使用官方登录」的选项要关掉它强制走 API Key 模式。5.5 模型跑在 CPU 上导致超时如果请求能通但特别慢甚至超时很可能是模型没完全加载到 GPU。在 Windows 上执行ollama ps查看模型运行设备如果显示 CPU 占比高需要调num_gpu参数。查看 ollama 日志托盘图标右键 View logs路径在C:\Users\用户名\AppData\Local\Ollama\server.log搜索offloaded看有多少层在 GPU。如果输出层在 CPU回复会明显变慢。可以在交互模式里执行/set parameter num_gpu 25把全部层压进 GPU或者直接设一个大于总层数的值比如 999ollama 会自动取最大值。但要注意显存上限超了会报memory layout cannot be allocated这时要适当降低层数。6. 把通道用起来模型对话、Coding Plan 与接入文档配置跑通之后你手里就有了一条从云服务器 OpenClaw 到本地 Windows GPU 的稳定调用链路。日常使用中如果只是想快速验证某个模型在通道里是否可用可以直接用模型对话页面发一条消息不用改任何代码。地址是https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite如果你打算长期用 OpenClaw 做编码类 Agent 任务比如让它读代码库、改文件、跑测试那调用量会比较大建议看一下 Coding Plan 的额度方案比按量计费更划算https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite需要管理多个 Key、查看调用日志或者调整通道配置时进控制台https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite创建和管理 API Key 的页面https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite完整的接入文档包括各种客户端和协议的配置示例https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite如果你用的是 Claude Code 并且想走 Anthropic 协议接入参考这个页面https://taotoken.net/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_contentclaude_codeutm_campaignrewrite最后提醒一个实操细节本地 Windows 的 ollama 穿透隧道和 TaoToken 通道是两层独立的东西。隧道断了通道侧会报上游错误通道 Key 失效了OpenClaw 侧会报 401。排查时先分层定位再动手改配置比一上来就重装省时间得多。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑