恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
【OpenClaw】零基础本地AI助手搭建:Ollama + TaoToken 统一 Key 打通多模型调用
首页
资讯中心
/
【OpenClaw】零基础本地AI助手搭建:Ollama + TaoToken 统一 Key 打通多模型调用
【OpenClaw】零基础本地AI助手搭建:Ollama + TaoToken 统一 Key 打通多模型调用
发布时间:2026/10/11 15:17:58
1. 为什么要在本地跑 OpenClaw Ollama而不是只用云端很多人第一次接触本地 AI 助手都是被“断网可用、数据不出本机”这两个点吸引的。但真正动手之后会发现纯本地方案有个绕不开的坎本地模型能力有上限遇到复杂推理、长文档总结、代码生成这类任务小参数模型经常答非所问。于是大家又会去接云端 API结果 Key 散落在各个平台OpenClaw 里配一套、Ollama 里配一套、写脚本时又硬编码一套切换模型时改配置改到怀疑人生。这篇要解决的就是这个具体问题用 OpenClaw 做本地 AI 助手的调度层Ollama 负责跑本地模型同时把云端模型的 endpoint 统一收敛到 TaoToken 的 Key 通道上。这样你既保留了本地推理的隐私和低延迟又能在需要时一键切到更强的云端模型而所有模型在 OpenClaw 里看到的都是同一套 OpenAI 兼容接口。适合谁看刚装完 Ollama、想让 OpenClaw 真正跑起来的新手手里有多个模型 Key、被配置分散折磨过的开发者以及想给团队搭一个统一模型入口、又不想动生产数据库的人。整篇按“先跑通本地、再接入统一 Key、最后验证请求”的顺序写每一步都有可复制的配置和命令照着做就能得到一个能对话的本地助手。需要提前说明的是本文不涉及任何网络加速工具所有操作都在你本机的正常网络环境下完成。Ollama 的模型下载走官方源TaoToken 的接口调用走标准 HTTPS不需要额外配置代理。2. 前置准备Ollama 安装与模型拉取2.1 安装 Ollama 并确认服务端口Ollama 的安装本身没什么难度官网下载对应系统的安装包双击下一步即可。Windows 和 macOS 装完后会自动在后台起一个服务Linux 则通常需要手动systemctl start ollama或直接前台运行。装完后第一件事是确认服务在监听哪个端口默认是11434。打开终端或 PowerShell执行ollama --version curl http://127.0.0.1:11434/api/tags第一条命令确认版本第二条命令会返回当前已拉取的模型列表。如果第二条返回{models:[]}说明服务正常只是还没拉模型。如果连接被拒绝检查 Ollama 是否真的在运行Windows 看系统托盘图标macOS 看菜单栏Linux 用ps aux | grep ollama。这里有个新手常踩的坑Ollama 默认只监听127.0.0.1也就是只有本机能访问。如果你打算让局域网内其他设备也用这个 Ollama需要设置OLLAMA_HOST0.0.0.0:11434再启动。但本文的场景是 OpenClaw 和 Ollama 在同一台机器上所以保持默认的127.0.0.1最安全不用改。2.2 拉取一个适合本地跑的模型模型选择上零基础用户建议从 0.8B 到 7B 之间的量化模型起步。参数太大16GB 内存的机器会频繁爆内存参数太小回答质量又撑不起“助手”这个定位。Qwen 系列的中文能力在本地模型里比较均衡适合作为第一个跑通的模型。ollama pull qwen3.5:0.8b ollama listollama list会显示模型名称、大小和修改时间。记下这个名称后面写 OpenClaw 配置时id字段必须和它完全一致包括冒号和后面的 tag。很多人配置失败就是因为把qwen3.5:0.8b写成了qwen3.5Ollama 找不到对应模型OpenClaw 就会报模型不存在。拉取完成后可以先用命令行直接测一下模型能不能正常对话ollama run qwen3.5:0.8b 用一句话解释什么是本地大模型如果能看到流式输出的回答说明 Ollama 这一层已经通了。这一步很重要先把 Ollama 单独验证通过再去配 OpenClaw出问题时才能快速定位是哪一层的毛病。2.3 确认 OpenAI 兼容接口可用OpenClaw 连接 Ollama 走的是 OpenAI 兼容协议所以需要确认 Ollama 的/v1接口能正常响应。执行curl http://127.0.0.1:11434/v1/models正常会返回一个 JSON里面列出所有已拉取的模型。如果这个接口 404说明你的 Ollama 版本太旧需要升级到支持 OpenAI 兼容层的新版本。这个接口通了OpenClaw 的baseUrl填http://127.0.0.1:11434/v1才有意义。3. 可复制配置OpenClaw 接入 Ollama 与 TaoToken 统一 Key3.1 定位并备份 openclaw.jsonOpenClaw 的主配置文件默认在用户目录下的隐藏文件夹里。Windows 是C:\Users\你的用户名\.openclaw\openclaw.jsonmacOS 和 Linux 是~/.openclaw/openclaw.json。Windows 下需要先在文件资源管理器里开启“显示隐藏文件”才能看到.openclaw文件夹。改配置之前先复制一份备份这是血泪教训。配置写错导致 OpenClaw 起不来时直接还原备份比逐行排查快得多cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.bakWindows 下用文件管理器复制粘贴一份即可改名为openclaw.json.bak。3.2 写入 Ollama provider 配置用 VS Code 或任意文本编辑器打开openclaw.json找到models.providers这一段。下面是一个可以直接复制的最小可用配置把 Ollama 作为本地 provider 加进去{ models: { providers: { ollama: { baseUrl: http://127.0.0.1:11434/v1, apiKey: ollama-local, auth: api-key, api: openai-completions, authHeader: true, models: [ { id: qwen3.5:0.8b, name: qwen3.5:0.8b, api: openai-completions, reasoning: false, input: [text], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, contextWindow: 60000, maxTokens: 60000 } ] } } }, agents: { defaults: { model: { primary: ollama/qwen3.5:0.8b } } } }几个关键字段解释一下。baseUrl里的127.0.0.1是本机回环地址11434是 Ollama 默认端口/v1是 OpenAI 兼容路径三者缺一不可。apiKey对本地 Ollama 来说随便填因为它不校验但字段不能省否则 OpenClaw 的鉴权逻辑会报错。id必须和ollama list里显示的模型名一字不差。primary的格式是provider名/模型id这里就是ollama/qwen3.5:0.8b。3.3 把云端模型 endpoint 收敛到 TaoToken本地模型跑通之后接下来解决多模型 Key 分散的问题。思路是在 OpenClaw 里再加一个 provider指向 TaoToken 的统一接口这样云端模型和本地模型在 OpenClaw 看来是同一套调用方式切换时只改primary字段就行。TaoToken 的 API 地址是https://taotoken.net/api兼容 OpenAI 协议。在models.providers里追加一个 provider{ models: { providers: { taotoken: { baseUrl: https://taotoken.net/api/v1, apiKey: 你的TaoToken Key, auth: api-key, api: openai-completions, authHeader: true, models: [ { id: claude-sonnet-4-5, name: claude-sonnet-4-5, api: openai-completions, reasoning: false, input: [text], contextWindow: 200000, maxTokens: 8192 } ] } } } }这里baseUrl填https://taotoken.net/api/v1apiKey换成你在 TaoToken 控制台生成的 Key。模型id填你要调用的云端模型标识具体可用的模型列表在 TaoToken 的模型对话页面能看到。配好之后OpenClaw 里就有两个 providerollama走本地taotoken走统一 Key 通道。3.4 用 settings 片段控制默认模型切换OpenClaw 的模型选择逻辑在agents.defaults.model里。想让本地模型做默认就写ollama/qwen3.5:0.8b想临时切到云端改成taotoken/claude-sonnet-4-5即可。如果 OpenClaw 版本支持别名还可以在agents.defaults.models里给每个模型起短名{ agents: { defaults: { model: { primary: ollama/qwen3.5:0.8b }, models: { ollama/qwen3.5:0.8b: { alias: local }, taotoken/claude-sonnet-4-5: { alias: cloud } } } } }这样在对话里用local或cloud就能切换不用每次改配置文件。改完保存OpenClaw 重启后生效。4. 验证请求一次对话的完整检查清单4.1 启动 OpenClaw Gateway配置写完后先确认 Ollama 在运行然后启动 OpenClawopenclaw gateway终端会输出启动日志。重点看两行一行是加载 provider 的日志应该能看到ollama和taotoken都被注册另一行是 gateway 监听的地址默认是http://127.0.0.1:18789/。如果日志里出现provider ollama not found或model qwen3.5:0.8b not found说明配置里的名称和实际不匹配回去核对id字段。4.2 用 curl 直接打一次对话请求在打开浏览器之前先用 curl 验证接口层是否通。这一步能排除掉前端界面的干扰curl http://127.0.0.1:18789/v1/chat/completions \ -H Content-Type: application/json \ -H Authorization: Bearer 你的gateway token \ -d { model: ollama/qwen3.5:0.8b, messages: [{role: user, content: 你好用一句话介绍你自己}], stream: false }gateway token在openclaw.json的gateway.auth.token字段里。如果返回的 JSON 里有choices[0].message.content且内容是中文回答说明整条链路通了。如果返回 401检查 token 是否填对如果返回model not found检查model字段的格式是不是provider/id。4.3 返回结果检查清单拿到响应后按下面几项逐一确认第一choices数组非空且finish_reason是stop而不是length。如果是length说明maxTokens设太小回答被截断了。第二usage字段里prompt_tokens和completion_tokens都有数值。本地 Ollama 的 usage 统计可能不如云端精确但字段应该存在。第三响应时间。本地 0.8B 模型在普通 CPU 上首 token 延迟通常在 1 到 3 秒如果超过 10 秒检查是不是模型太大或者内存不足导致频繁 swap。第四切到taotoken/claude-sonnet-4-5再打一次同样的请求确认云端通道也能返回。两次都通说明统一 Key 通道配置成功。4.4 浏览器界面实测curl 通过后打开http://127.0.0.1:18789/在聊天框里输入问题。如果界面能正常流式输出说明 OpenClaw 的 gateway 和 provider 配置都没问题。这时候你可以试着在对话里切换模型观察本地和云端回答风格的差异。本地模型响应快但知识面窄云端模型慢一些但推理更完整按任务类型选用即可。5. 本篇常见报错排查5.1 401 Unauthorized这个报错分两种情况。如果打的是本地 Ollama 接口却返回 401检查apiKey字段是不是漏了Ollama 虽然不校验 Key但 OpenClaw 的authHeader: true会强制带上 Authorization 头字段缺失会导致请求构造失败。如果打的是 TaoToken 接口返回 401说明 Key 无效或过期去控制台重新生成一个注意复制时不要带多余空格。5.2 local proxy failed 或 connection refused这个报错通常出现在 OpenClaw 启动时。原因是baseUrl指向的地址连不上。先确认 Ollama 是否在运行curl http://127.0.0.1:11434/api/tags。如果这条命令都失败问题在 Ollama 不在 OpenClaw。如果 Ollama 正常但 OpenClaw 报连接失败检查baseUrl是不是写成了http://localhost:11434/v1某些系统上localhost解析到 IPv6 而 Ollama 只监听 IPv4改成127.0.0.1即可。5.3 reading choices 相关报错这个报错说明请求发出去了但返回的 JSON 结构不符合 OpenAI 格式OpenClaw 解析choices字段时失败。常见原因是api字段没设成openai-completions或者模型本身不支持 chat 格式。检查 provider 配置里的api字段确保是openai-completions。如果用的是 TaoToken 通道确认模型 id 拼写正确不存在的模型有时会返回错误页而不是标准 JSON。5.4 OAuth 或鉴权模式不匹配OpenClaw 的auth字段支持api-key和oauth两种模式。本地 Ollama 和 TaoToken 都用api-key。如果误设成oauth启动时会报鉴权模式不匹配。检查每个 provider 的auth字段确保和实际鉴权方式一致。另外authHeader: true表示把 Key 放在Authorization: Bearer头里这个对两个 provider 都适用。5.5 模型加载成功但回答为空有时候请求返回 200但content是空字符串。这通常是模型本身的问题不是配置问题。先用ollama run qwen3.5:0.8b 测试确认模型能正常输出。如果命令行也输出空重新拉取模型。如果命令行正常但 OpenClaw 里为空检查maxTokens是不是设成了 0 或负数。6. 把统一 Key 通道用起来从本地助手到多模型工作流配置跑通之后日常使用其实很简单。本地模型负责快速问答、草稿生成、隐私敏感的内容处理遇到需要长上下文推理、复杂代码生成的任务在对话里切到 TaoToken 通道的云端模型。因为两个 provider 在 OpenClaw 里是同一套接口切换成本几乎为零。如果你打算长期用这套组合做编码或 Agent 任务可以关注一下 TaoToken 的 Coding Plan它针对高频调用场景做了额度优化比按量计费更适合日常开发。需要看具体模型列表和额度说明的话模型对话页面有实时更新的信息。API Key 的生成和管理在控制台里接入文档里写了各种语言的调用示例遇到协议细节问题时可以直接对照。最后留一个实用技巧把openclaw.json纳入版本管理但把apiKey字段抽到环境变量里。OpenClaw 支持用${TAOTOKEN_API_KEY}这种占位符读取环境变量这样配置文件可以安全地提交到私有仓库Key 不会泄露。具体写法是在apiKey字段填${TAOTOKEN_API_KEY}然后在启动 OpenClaw 前export TAOTOKEN_API_KEY你的Key。这个习惯在团队协作时尤其重要避免 Key 跟着配置文件到处传。