尧图精选

10分钟搞定本地AI:Ollama 零成本接入你的OpenClaw

🕒 发布时间:2026/10/1 20:29:16 📁 来源:尧图网络
1. 本地 Ollama 部署后OpenClaw 为什么识别不到模型很多人把 Ollama 装好、ollama run qwen3:8b也能在终端里正常聊天结果一转头去配 OpenClaw发现模型列表里空空如也或者报一个model not found。这个场景我遇到过不止一次问题基本都不在 Ollama 本身而在“OpenClaw 到底去哪里找模型”这件事上没对齐。先把概念理清楚。Ollama 装完之后它其实在本地起了一个 HTTP 服务默认监听127.0.0.1:11434。你在终端敲的ollama run本质是 Ollama 的 CLI 客户端去调这个本地服务。而 OpenClaw 要调用本地模型走的是同一条路——它需要知道这个服务地址并且知道这个地址下面有哪些模型可用。所以“识别不到”通常有三种原因服务地址写错、模型名对不上、或者 OpenClaw 的 provider 配置压根没加载。这里有个容易踩的坑Ollama 的模型名是带 tag 的比如qwen3:8b、qwen3:14b。你在 OpenClaw 配置里如果只写qwen3它可能匹配不到因为默认 tag 不一定是你下载的那个。最稳妥的做法是先跑ollama list把输出里的完整名字抄进配置。另一个高频问题是端口。Ollama 默认只监听本机回环地址也就是127.0.0.1。如果你的 OpenClaw 跑在 Docker 容器里容器内的127.0.0.1指向的是容器自己不是宿主机自然连不上。这种情况要么把 Ollama 的监听地址改成0.0.0.0要么在容器里用host.docker.internal指向宿主机。这两种做法后面都会给到具体命令。还有一个隐蔽的点OpenClaw 对 Ollama 的支持分两条路径。一条是走 OpenAI 兼容接口/v1/chat/completions另一条是走 Ollama 原生接口/api/chat。原生接口对工具调用和流式输出更稳但前提是你的 OpenClaw 版本认这个 provider 类型。如果你配的是 OpenAI 兼容模式那 base URL 要写成http://127.0.0.1:11434/v1而不是裸的11434。少写这个/v1就会得到 404。所以这一节的核心结论就一句话OpenClaw 识别本地模型靠的是“地址 模型名 接口路径”三件套对齐。任何一环错位都会表现为“识别不到”。下面我会按顺序把这三件事都落到可复制的配置上。顺便说一句如果你后面还要接云端模型做兜底或者团队里多人共用一套 Key那本地 Ollama 和云端通道可以用同一套管理方式统一起来这个在第三节会展开。现在先把本地这条链路打通。2. TaoToken 前置统一 Key 与 API 通道管理多工具调用本地 Ollama 的好处是零成本、数据不出机器但它有个天然边界模型能力受限于你的硬件。8B 的模型写写文案、做做翻译、整理结构化文本没问题但遇到复杂推理、长上下文代码重构还是得靠更大的云端模型。这时候一个现实问题就来了——你手里可能同时有 OpenClaw、Cline、Claude Code、Codex 好几个工具每个工具都要配一套 Base URL 和 Key改起来烦管起来乱。TaoToken 在这里扮演的角色是把“模型调用通道”这件事收敛到一个入口。你可以把它理解成一个统一的 API 网关不管底层是本地 Ollama还是云端的大模型工具侧只需要认一个 Base URL 和一把 Key。这样 OpenClaw 用本地模型做日常文字处理需要重活时切到云端模型配置层面不用大改。具体到接入信息官网入口是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 基址是 https://taotoken.net/api 。注意 API 地址后面不加 UTM 参数配置里直接写这个就行。Key 的获取在控制台的 API Keys 页面模型对话入口可以用来先验证通道是否通接入文档里有各工具的详细配置示例。这里要强调一个原则本地 Ollama 和 TaoToken 不是二选一而是分工。本地负责隐私敏感、高频、轻量的调用云端通道负责重推理、长上下文、多模态。OpenClaw 的配置支持 primary 和 fallbacks正好可以把本地模型设成 primary把云端模型设成 fallback。这样默认走本地本地不可用或任务超纲时自动切云端体验上是连贯的。对于长期跑编码和 Agent 工作流的场景Coding Plan 这类套餐会比按量计费更划算适合把 OpenClaw 当成日常主力工具的人。如果你只是偶尔用一下按量走 API 也完全够。关键是先把通道配通再根据用量决定用哪种计费方式。需要提醒的是TaoToken 是合规的 API 通道管理服务不是所谓的“中转”。它的作用是帮你把多个模型的调用统一到一套凭证下减少配置维护成本。这一点在团队协作里尤其明显——新人入职不用挨个申请各家 Key拿到一把统一 Key 就能开工。配置层面你需要在 OpenClaw 里同时声明两个 provider一个指向本地 Ollama一个指向 TaoToken 的 API 基址。两者的 Key 处理方式不同——Ollama 本地不需要真实 Key随便填一个占位符即可TaoToken 则需要真实的 API Key。下面第三节会给出完整的可复制配置片段。3. 可复制配置OpenClaw 接入 Ollama 与 TaoToken 的完整片段这一节是整篇的核心所有配置都可以直接抄。先给目录约定OpenClaw 的配置文件通常在项目根目录下的config.yaml如果你用的是环境变量方式也可以放在.env里。下面以config.yaml为主。第一步确认 Ollama 服务在跑并且知道有哪些模型ollama list输出大概长这样NAME ID SIZE MODIFIED qwen3:8b xxxxxxxx 5.2 GB 2 hours ago qwen3:14b yyyyyyyy 9.3 GB 1 day ago把NAME这一列完整记下来配置里要用。第二步写 OpenClaw 的 provider 配置。下面这段是 Ollama 本地 provider 加 TaoToken 云端 provider 的完整示例models: providers: ollama: type: ollama baseUrl: http://127.0.0.1:11434 apiKey: ollama-local models: - id: qwen3:8b name: qwen3:8b - id: qwen3:14b name: qwen3:14b taotoken: type: openai baseUrl: https://taotoken.net/api apiKey: ${TAOTOKEN_API_KEY} models: - id: claude-sonnet-4-5 name: claude-sonnet-4-5 - id: gpt-5 name: gpt-5 agents: defaults: model: primary: ollama/qwen3:8b fallbacks: - ollama/qwen3:14b - taotoken/claude-sonnet-4-5几个关键点解释一下。type: ollama告诉 OpenClaw 走 Ollama 原生接口这样工具调用和流式输出更稳。baseUrl是http://127.0.0.1:11434不带/v1。apiKey填ollama-local只是占位Ollama 本地不校验这个值但很多客户端要求这个字段非空。TaoToken 那个 provider 的type是openai因为它的接口是 OpenAI 兼容格式baseUrl写https://taotoken.net/api。apiKey用环境变量引用不要把真实 Key 硬编码进配置文件这是基本安全习惯。第三步设置环境变量。在.env文件里加TAOTOKEN_API_KEY你的真实Key OLLAMA_API_KEYollama-local如果你用的是 shell 直接导出export TAOTOKEN_API_KEY你的真实Key export OLLAMA_API_KEYollama-local第四步如果你的 OpenClaw 跑在 Docker 里Ollama 在宿主机上那baseUrl要改成baseUrl: http://host.docker.internal:11434同时宿主机上的 Ollama 需要允许外部访问。Mac 和 Linux 下这样启动OLLAMA_HOST0.0.0.0 ollama serveWindows 下在系统环境变量里新增OLLAMA_HOST值设为0.0.0.0然后重启 Ollama。第五步如果你想让 OpenClaw 自动发现 Ollama 里的所有模型而不是手动列可以用这种写法ollama: type: ollama baseUrl: http://127.0.0.1:11434 apiKey: ollama-local autoDiscover: trueautoDiscover打开后OpenClaw 会去调 Ollama 的/api/tags接口拉取模型列表。这个方式省事但前提是你的 OpenClaw 版本支持这个字段。如果不支持还是老老实实手动列。配置写完保存然后重启 OpenClaw 让配置生效。重启方式取决于你的部署方式如果是前台进程CtrlC 再起如果是 systemd 或 Docker用对应的 restart 命令。到这里配置部分就齐了。下一节验证请求是否真的通了。4. 验证请求确认本地模型已在 OpenClaw 中生效配置写完不代表通了必须验证。验证分三层先验 Ollama 服务本身再验 OpenClaw 能不能列出模型最后发一次真实对话请求确认端到端可用。第一层验 Ollama 服务。直接 curl 它的原生接口curl http://127.0.0.1:11434/api/tags正常会返回一个 JSON里面有你下载的所有模型。如果这个命令报连接拒绝说明 Ollama 没在跑先ollama serve起起来。如果返回空列表说明你还没下载模型回去跑ollama pull qwen3:8b。再验一下对话接口curl http://127.0.0.1:11434/api/chat -d { model: qwen3:8b, messages: [{role: user, content: Reply with exactly: ok}], stream: false }返回里如果message.content是ok说明 Ollama 侧完全正常。第二层验 OpenClaw 能不能看到模型openclaw models list --provider ollama预期输出里应该出现qwen3:8b和qwen3:14b。如果这里是空的回去检查config.yaml里的models列表和ollama list的输出是否完全一致包括大小写和 tag。第三层发真实请求openclaw infer model run --model ollama/qwen3:8b --prompt Reply with exactly: ok如果返回ok恭喜本地模型已经在 OpenClaw 里生效了。这一步走通意味着你的 OpenClaw 现在默认用本地模型回答问题不花一分钱数据也不出机器。再验一下 fallback 链路。把 Ollama 停掉然后发同样的请求ollama stop qwen3:8b openclaw infer model run --model ollama/qwen3:8b --prompt Reply with exactly: ok如果配置了 fallback这时候应该自动切到taotoken/claude-sonnet-4-5并正常返回。这一步验证的是你的容错链路是否真的生效很多人配了 fallback 但没测过真到用的时候才发现没切过去。最后做一个稍微真实一点的对话测试确认中文和上下文都正常openclaw infer model run --model ollama/qwen3:8b --prompt 用三句话解释什么是本地大模型部署如果返回的中文通顺、内容合理说明整条链路没问题。到这一步你的本地 AI 工作流就算跑通了。5. 本篇常见错排查401、local proxy failed、reading choices、OAuth这一节把最常见的几个报错逐个拆开。这些错误我基本都遇到过按下面的顺序排查九成能解决。报错一401 Unauthorized这个错误通常出现在 TaoToken 那条链路上不是 Ollama。原因一般是TAOTOKEN_API_KEY没设置、设置成了空字符串、或者环境变量没被 OpenClaw 读到。排查步骤先echo $TAOTOKEN_API_KEY确认有值再确认 OpenClaw 启动时确实加载了这个环境变量如果你是在.env里写的确认 OpenClaw 支持读.env最后去控制台的 API Keys 页面确认这把 Key 还有效、没被删。注意Ollama 本地那条链路不会报 401因为它不校验 Key。如果你在 Ollama 请求上看到 401那说明请求实际发到了 TaoToken 而不是本地检查baseUrl是不是写错了。报错二local proxy failed这个错误一般出现在 OpenClaw 尝试连接本地服务时。核心原因是地址不通。排查顺序先curl http://127.0.0.1:11434/api/tags确认 Ollama 在跑如果 OpenClaw 在 Docker 里把127.0.0.1换成host.docker.internal如果 Ollama 只监听了回环地址而 OpenClaw 在另一台机器上需要用OLLAMA_HOST0.0.0.0启动 Ollama。还有一种情况是端口被占用。lsof -i :11434看看是不是有别的进程占了。如果有要么杀掉那个进程要么改 Ollama 的端口同时改 OpenClaw 配置里的baseUrl。报错三reading choices 相关错误这个错误通常出现在解析云端模型响应时典型信息是cannot read property choices of undefined或者reading choices。原因是返回的 JSON 结构不符合 OpenAI 格式预期。常见触发点baseUrl少写了/v1或者多写了/v1。TaoToken 的基址是https://taotoken.net/apiOpenClaw 的 OpenAI 兼容 provider 会自动补/v1/chat/completions所以你不要手动再加/v1。如果你用的是别的客户端需要手动补/v1那就补上。另一个触发点是模型 ID 写错服务端返回了错误 JSON客户端去读choices就读不到。用curl直接打一次接口看原始返回是什么比猜快得多。报错四OAuth 相关错误如果你在配置里用了需要 OAuth 的 provider比如某些 Claude Code 或 Codex 的接入方式可能会遇到 OAuth token 过期或未授权。这类问题的排查思路是先确认 OAuth 流程是否走完token 是否写入了正确的位置。Codex 的凭证通常在~/.codex/auth.jsonClaude Code 有自己的凭证存储位置。如果 token 过期重新走一次授权流程即可。这里要提醒一点OAuth 类接入和 API Key 类接入是两套机制不要混用。如果你用 TaoToken 的统一 Key就走 API Key 模式不需要 OAuth。混着配容易出现“看起来配了但实际没生效”的情况。报错五模型名不匹配这个不报错但表现为“模型列表里有但调用时说找不到”。原因是配置里的id和实际模型名不一致。解决办法只有一个ollama list的输出原样抄。注意 tag 部分qwen3:8b和qwen3:latest是两个不同的东西。排查完这些如果还有问题去接入文档里对照示例配置逐行检查。大部分配置问题都是拼写和路径问题不是逻辑问题。6. 语义一致 CTA把本地与云端通道统一管起来本地 Ollama 跑通之后你手里就有了一套零成本的本地推理能力。但真实工作流里本地和云端是要配合的。OpenClaw 的 primary/fallback 机制正好覆盖这个需求而 TaoToken 的统一 Key 管理让云端那部分的配置维护成本降到最低。如果你现在要动手建议按这个顺序先去 API Keys 页面拿一把统一 Key然后照着接入文档把 OpenClaw 的 provider 配好再用模型对话入口验证一下通道是否通。本地 Ollama 那条链路按第三节的配置单独配两条链路互不干扰通过 fallback 串起来。对于长期把 OpenClaw 当主力工具、经常跑编码和 Agent 任务的Coding Plan 会比按量计费更省心用量可预期不用每次盯着余额。偶尔用一下的话按量走 API 就够。配置这件事一次配好后面就是纯使用。本地模型负责日常云端模型负责重活统一 Key 负责省心。这套组合跑顺之后你会发现本地 AI 和云端 AI 不是替代关系而是各司其职。
上一篇/下一篇内容由系统自动关联 返回资讯列表 →