☰
OpenClaw+Ollama 实操:本地 Qwen/DeepSeek 模型无缝对接详解|TaoToken 统一 Key 配置指南
2026/9/27 22:15:49 网站建设 项目流程

1. 为什么要在 OpenClaw 里接 Ollama 本地模型

如果你同时用 Qwen 和 DeepSeek 两个模型,大概率遇到过这种局面:一个跑在本地 Ollama 上,一个走云端 API,两边的 Key、地址、模型名各写一套,切换一次就要翻配置文件。OpenClaw 本身支持多 Provider,但真正让人头疼的不是"能不能接",而是"接完之后怎么统一管理"。

这篇要解决的就是这条链路:OpenClaw 通过 Ollama 调用本地 Qwen / DeepSeek,同时用 TaoToken 的统一 Key 兜住云端通道,让本地模型和远端模型在同一个配置体系里共存。适合已经装好 OpenClaw、想把手头本地模型接进来、又不想每次切模型都改一堆参数的人。

核心检索词先摆清楚:OpenClaw 是一个支持多模型 Provider 的客户端,Ollama 是本地模型运行时,Qwen 和 DeepSeek 是我们要跑的两个本地模型,TaoToken 负责把云端 Key 收敛成一个。整条链路的关键在于三处配置——Ollama 的服务地址、模型名映射、以及统一 Key 的落点。

我试过把本地和云端混着用,最容易踩的坑不是模型跑不起来,而是模型名对不上:Ollama 里叫qwen2.5:7b,配置文件里写成qwen-7b,请求直接 404。所以下面每个环节我都会把"名字从哪来、写到哪去"讲清楚。

2. 前置准备:Ollama 服务与 TaoToken 统一 Key

2.1 确认 Ollama 本地服务在跑

Ollama 装好之后默认监听127.0.0.1:11434,这是 OpenClaw 要填的地址。先在终端确认服务活着:

ollama list

如果这条命令能列出模型,说明服务正常。列表里的第一列就是模型名,比如:

NAME ID SIZE MODIFIED qwen2.5:7b xxxx 4.7 GB 2 days ago deepseek-r1:7b xxxx 4.7 GB 3 days ago

这两个名字要原样抄进 OpenClaw 配置,一个字符都不能改。很多人卡在"测试不通过",八成是这里抄错了。

如果ollama list报连接失败,先启动服务:

ollama serve

Windows 下安装完 Ollama 通常会自动常驻,Mac 和 Linux 需要手动确认进程。服务没起来,后面所有配置都是白搭。

2.2 TaoToken 统一 Key 的定位

本地模型走 Ollama 不需要 Key,但你的 OpenClaw 里大概率还挂着云端模型。这时候如果每个 Provider 一套 Key,配置文件会越来越乱。TaoToken 的作用是把云端通道收敛成一个 Key,本地 Ollama 继续走本地地址,两边互不干扰。

先去控制台拿 Key:

https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=openclaw_ollama_console

拿到 Key 之后,OpenClaw 里云端 Provider 的api_key就填这一个,base_url指向:

https://taotoken.net/api

注意 API 地址不带 UTM 参数,直接写https://taotoken.net/api即可。本地 Ollama 那一段完全不碰这个 Key,各走各的通道。

3. OpenClaw 侧 config.toml 骨架与模型名映射

3.1 config.toml 整体结构

OpenClaw 的 Provider 配置集中在config.toml。下面是一个能同时容纳本地 Ollama 和 TaoToken 云端通道的骨架,你可以直接照着改:

# 本地 Ollama 通道 [[providers]] name = "ollama-local" type = "ollama" base_url = "http://127.0.0.1:11434" api_key = "" # 本地不需要 Key,留空 [[providers.models]] name = "qwen2.5:7b" display_name = "Qwen2.5 7B (本地)" [[providers.models]] name = "deepseek-r1:7b" display_name = "DeepSeek R1 7B (本地)" # TaoToken 云端统一通道 [[providers]] name = "taotoken" type = "openai-compatible" base_url = "https://taotoken.net/api" api_key = "sk-你的TaoTokenKey" [[providers.models]] name = "claude-sonnet-4-5" display_name = "Claude Sonnet 4.5 (云端)"

几个要点:type = "ollama"告诉 OpenClaw 这是本地运行时,走 Ollama 的接口协议;base_url必须是http://127.0.0.1:11434,不要写成localhost,某些环境下解析会出问题;api_key留空字符串,别删掉这一行,有些版本缺字段会报解析错误。

3.2 模型名映射的写法

name字段是发给 Ollama 的真实模型名,必须和ollama list输出完全一致。display_name是给你自己看的,可以随便写中文。

这里有个容易忽略的点:Ollama 的模型名带 tag,比如qwen2.5:7b里的:7b是 tag,不能省。如果你只写qwen2.5,Ollama 会去找latesttag,找不到就报错。所以配置里的name一定要带完整 tag。

如果你想让同一个模型在 OpenClaw 里显示得更友好,可以这样:

[[providers.models]] name = "qwen2.5:7b" display_name = "通义千问 2.5 7B" context_length = 32768

context_length是可选的,填了之后 OpenClaw 会按这个长度截断上下文,不填就用默认值。本地模型上下文一般比云端小,建议显式写上,避免请求超长被 Ollama 拒绝。

3.3 settings.json 里的统一 Key 片段

除了config.toml,OpenClaw 还有一个settings.json管全局行为。TaoToken 的 Key 如果不想写死在config.toml里,可以放到这里做环境变量引用:

{ "providers": { "taotoken": { "api_key_env": "TAOTOKEN_API_KEY", "base_url": "https://taotoken.net/api" }, "ollama-local": { "base_url": "http://127.0.0.1:11434" } }, "default_provider": "ollama-local" }

然后在系统环境变量里设置TAOTOKEN_API_KEY。这样 Key 不进版本库,换机器也不用改配置文件。default_provider设成ollama-local,意思是默认走本地,省流量也省 Key 额度。

4. 验证请求:一次对话确认本地模型接入成功

4.1 先用 curl 直连 Ollama

在动 OpenClaw 之前,先用 curl 确认 Ollama 本身能正常响应:

curl http://127.0.0.1:11434/api/generate -d '{ "model": "qwen2.5:7b", "prompt": "你好,你是什么模型", "stream": false }'

正常返回是一段 JSON,response字段里有模型输出。如果这里就报错,说明问题在 Ollama 侧,跟 OpenClaw 无关,先解决 Ollama。

4.2 在 OpenClaw 里发一次请求

打开 OpenClaw,进入聊天页,模型选择框里搜qwen2.5:7b,选中带ollama标签的那一项。发送:

你好,你是什么模型

如果页面正常返回内容,说明链路通了。返回内容里通常会带模型自报的身份,比如"我是通义千问"之类。这一步能过,本地接入就算成功。

4.3 切换 DeepSeek 再验一次

同样的流程,模型选择框切到deepseek-r1:7b,再发一条消息。两个模型都能正常回,说明模型名映射没写错,Provider 配置也对。

如果你在 OpenClaw 里同时配了 TaoToken 云端通道,可以再切到云端模型发一条,确认统一 Key 也生效。三条都通,整个配置就稳了。

5. 本篇常见错排查

5.1 测试不通过,提示连接失败

先看 Ollama 服务在不在:

curl http://127.0.0.1:11434/api/tags

这条命令返回模型列表就说明服务正常。如果连不上,检查 Ollama 进程是否在跑,端口是否被占用。Windows 下有时候安全软件会拦本地端口,临时关掉试试。

5.2 模型列表为空

OpenClaw 测试时识别不到模型,通常是两个原因:一是ollama list里根本没有模型,需要先ollama pull qwen2.5:7b拉下来;二是base_url写错了,比如写成了http://localhost:11434在某些环境解析异常,统一用127.0.0.1。

5.3 请求返回 404 model not found

这是模型名对不上。回到终端跑ollama list,把第一列的名字原样复制到config.toml的name字段。注意大小写和 tag,Qwen2.5:7B和qwen2.5:7b在 Ollama 里是两个不同的名字。

5.4 云端通道报 401

TaoToken 的 Key 没填对,或者环境变量没生效。检查settings.json里的api_key_env名字和系统环境变量是否一致,改完环境变量要重启 OpenClaw 才生效。Key 本身可以去控制台重新生成:

https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=openclaw_ollama_keys

5.5 本地模型响应特别慢

先确认模型是不是跑在 CPU 上。Ollama 默认会尝试用 GPU,但如果驱动没装好会退回 CPU,7B 模型在 CPU 上跑起来很吃力。可以在终端看 Ollama 启动日志,确认有没有加载 GPU。另外context_length设太大也会拖慢速度,本地模型建议控制在 8K 到 32K 之间。

6. 把本地和云端收进一套配置

走到这里,你应该已经能在 OpenClaw 里自由切换 Qwen、DeepSeek 本地模型和 TaoToken 云端模型了。回顾一下关键动作:Ollama 侧确认服务地址和模型名,OpenClaw 侧写config.toml的 Provider 骨架,TaoToken 侧把云端 Key 收敛成一个。

如果你后面要长期跑编码任务或者 Agent 流程,本地模型适合做高频、低成本的调用,云端模型适合处理复杂推理。两边的配置都放在同一套文件里,切换时只改模型选择框,不用再动配置文件。

需要看更完整的接入参数和字段说明,可以翻接入文档:

https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=openclaw_ollama_doc

想直接在网页上验证模型对话效果,不装客户端也能试:

https://taotoken.net/model-chat?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=openclaw_ollama_chat

最后留一个实操建议:把config.toml和settings.json一起纳入版本管理,但 Key 走环境变量。这样换机器、重装 OpenClaw 的时候,复制两个文件加一个环境变量就能恢复全部模型通道,比重新配一遍省事得多。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询