1. OpenClaw 越用越贵?先看清 Token 到底烧在哪
OpenClaw(社区里都叫它“大龙虾”)是一个 AI Agent 执行框架,能帮你把“读文件、跑脚本、调接口、写代码”这类活儿串成自动化任务。它本身不产出智能,智能来自背后接的大模型——默认配置下,多数人接的是云端闭源模型。问题就出在这:Agent 的工作方式和聊天不一样,它一次任务可能要来回调用模型十几轮,每轮都带着上下文,Token 消耗是普通对话的好几倍。
我见过最典型的三种烧钱场景。第一种是高频自动化任务,比如批量处理几百个文件、跑接口回归测试、清洗数据表,单次调用看着不多,一天累计下来账单很吓人。第二种是长文本交互,处理财报、技术文档、日志分析时,上下文窗口被塞满,输入 Token 直接翻倍。第三种是调试阶段,开发时反复试错,无效调用占比能到三成以上,这些全是白花的钱。
更麻烦的是版本坑。OpenClaw 2026.2.26 对agents add命令做了重构,把--provider、--api-key这些传统参数移除了。你照着老教程敲命令,会直接报unknown option '--provider',或者运行时报No API key found for provider "ollama"。很多人卡在这一步,以为本地模型接不上,其实只是配置方式变了。
这篇要解决的问题很具体:用 Ollama 在本地跑开源模型,让 OpenClaw 的日常任务走本地推理,把云端 Token 消耗压到接近零。适合谁?个人开发者、小团队、以及任何对数据隐私敏感、又不想被 Token 账单追着跑的人。下面从环境准备到配置验证,全程可复制,重点解决 2026.2.26 版本的认证配置问题。
2. Ollama 本地推理前置准备:硬件、模型与 TaoToken 兜底
本地推理的核心逻辑很简单:Ollama 是一个本地大模型运行时,负责把开源模型拉下来、跑起来、暴露一个兼容 OpenAI 风格的接口;OpenClaw 通过这个接口调用模型,推理过程全在你自己的机器上完成,不产生任何云端 Token 费用。开源模型选指令微调过的量化版本,兼顾效果和硬件占用。
硬件门槛先说清楚。内存最低 8GB,推荐 16GB 以上,因为 4-bit 量化的 7B/8B 模型大概占 4.5 到 5.5GB。CPU 4 核 8 线程能跑,8 核 16 线程更稳。有 NVIDIA 显卡的话,开 CUDA 加速后推理速度能提升 5 到 10 倍,单轮响应从 2 到 5 秒降到 0.5 到 1 秒。没有 GPU 也完全能用,只是慢一点。
模型选型上,我建议优先看这三款,都适配 OpenClaw 的任务规划需求:
| 模型 | 量化级别 | 内存占用 | 适用场景 | 拉取命令 |
|---|---|---|---|---|
| Llama3-8B-Instruct | Q4_K_M | ~5GB | 通用任务、自动化脚本 | ollama pull llama3:8b-instruct-q4_K_M |
| Qwen2-7B-Instruct | Q4_K_M | ~4.5GB | 中文优化、文案撰写 | ollama pull qwen2:7b-instruct-q4_K_M |
| GLM-4-9B-Chat | Q4_K_M | ~5.5GB | 代码生成、技术文档 | ollama pull glm4:9b-chat-q4_K_M |
这里要提一个兜底思路。本地模型不是万能的,遇到特别复杂的推理任务,效果可能不如云端大模型。这时候可以用 TaoToken 作为补充通道——它提供统一的模型接入能力,你可以在 OpenClaw 里保留一个云端 profile,只在本地模型搞不定的任务上切换过去。这样既保住了大部分 Token 成本,又不牺牲复杂任务的效果。TaoToken 的 API 地址是https://taotoken.net/api,接入文档在https://taotoken.net/doc,需要的话可以先把 Key 备好。
软件侧需要预装:OpenClaw 2026.2.26(假设你已经部署好)、curl(验证服务连通性)、Docker(可选,容器化跑 Ollama 时用)。Ollama 版本建议 v0.1.48 以上,支持 480 多个开源模型。
3. 可复制配置:Ollama 拉取运行 + OpenClaw 认证文件
这一节是全文最核心的部分,所有命令和配置都能直接复制。先装 Ollama,再拉模型,最后写 OpenClaw 的认证文件。
3.1 安装并启动 Ollama
Linux 下一键安装:
curl -fsSL https://ollama.com/install.sh | sh验证安装并启动服务,默认端口 11434:
ollama --version ollama serve & curl -s http://localhost:11434/api/tags最后一条命令输出{"models":[]}就说明服务正常。接着拉取模型,以 Llama3-8B 为例:
ollama pull llama3:8b-instruct-q4_K_M拉完后用ollama list确认模型已经在本地。
3.2 OpenClaw 2026.2.26 认证配置
这是最容易踩坑的地方。2026.2.26 版本移除了--api-key和--provider命令行参数,认证信息必须通过auth-profiles.json文件手动配置。先创建目录,路径要和报错信息里的路径完全匹配:
mkdir -p /home/node/.openclaw/agents/main/agent/然后写入认证配置。注意这里的baseUrl指向本地 Ollama,model字段填你拉取的模型名:
{ "default": { "ollama": { "baseUrl": "http://localhost:11434", "model": "llama3:8b-instruct-q4_K_M", "profileId": "ollama" } }, "ollama": { "baseUrl": "http://localhost:11434", "model": "llama3:8b-instruct-q4_K_M", "profileId": "ollama" } }把这段 JSON 写到/home/node/.openclaw/agents/main/agent/auth-profiles.json。如果你同时想保留 TaoToken 作为云端兜底,可以在同一个文件里加一个 profile,Base URL 填https://taotoken.net/api,Key 填你在控制台生成的,Model ID 填你要用的模型名。三件套(Base URL + Key + Model ID)缺一不可,这是接入任何 OpenAI 兼容接口的通用规则。
3.3 权限与插件配置
OpenClaw 以node用户运行,文件归属不对会直接报Permission denied:
chown -R node:node /home/node/.openclaw/ chmod 644 /home/node/.openclaw/agents/main/agent/auth-profiles.json chmod -R 755 /home/node/.openclaw/如果日志里有plugins.allow is empty的警告,可以顺手补一个配置文件:
{ "plugins": { "allow": ["feishu"] } }写到/home/node/.openclaw/config.json,然后chown node:node一下即可。
4. 验证请求:一次对话跑通本地推理与 Token 对比
配置写完不算完,得实际跑一次请求确认链路通了。这一步同时记录 Token 消耗,方便和云端方案做对比。
4.1 直接验证 Ollama 接口
先用 curl 确认 Ollama 能正常返回:
curl -s http://localhost:11434/api/generate -d '{ "model": "llama3:8b-instruct-q4_K_M", "prompt": "用一句话解释什么是递归", "stream": false }'返回 JSON 里有response字段就说明模型在正常工作。这一步不经过 OpenClaw,纯粹验证本地推理服务。
4.2 通过 OpenClaw 跑任务脚本
创建一个测试脚本test_ollama.claw:
cat > /app/test_ollama.claw << 'EOF' task "本地模型测试" { prompt = "请生成一个Python脚本,实现计算1到100的和,并添加注释" action "执行代码生成" { type = "run" command = "python" args = ["-c", "{{prompt.result}}"] } } EOF以node用户运行,避免权限问题:
su - node -c "cd /app && openclaw run test_ollama.claw"成功的标志有三个:终端不再出现No API key found for provider "ollama";脚本生成并执行,输出计算结果 5050;云端模型控制台没有任何调用记录,Token 消耗为零。
4.3 Token 消耗对比记录方式
想量化降本效果,可以这样记录。云端方案下,在模型控制台看每次任务的 input/output Token 数,乘以单价算出成本。本地方案下,Ollama 不产生 Token 费用,但你可以用ollama ps看模型占用,用任务耗时估算推理量。我自己的记录方式是建一个简单表格,按天记“任务数、云端等效 Token 数、本地实际耗时、云端等效成本、本地成本(0)”。跑一周下来,高频自动化任务的成本差距非常直观。
如果某些复杂任务本地效果不理想,切到 TaoToken 的云端 profile 跑一次,对比一下输出质量再决定是否值得花这个 Token。这种混合策略比一刀切更实用。
5. 常见报错排查:401、local proxy failed 与 reading choices
本地推理接入过程中,报错基本集中在几个固定位置。下面按真实报错对照排查。
unknown option '--provider'和unknown option '--api-key':这是 2026.2.26 版本移除参数导致的。解决办法是放弃命令行配置,改用本文的auth-profiles.json手动配置。Ollama 本地模型不需要 API Key,所以--api-key这个参数本身就没有存在必要。
No API key found for provider "ollama":说明 OpenClaw 没读到认证文件,或者文件路径不对。检查/home/node/.openclaw/agents/main/agent/auth-profiles.json是否存在、JSON 格式是否合法、baseUrl是否指向http://localhost:11434。
Permission denied:认证文件归属不是node用户。执行chown -R node:node /home/node/.openclaw/修复。
Ollama service unreachable或local proxy failed:Ollama 没启动,或者 11434 端口被占用。先ollama serve &,再用curl -s http://localhost:11434/api/tags确认。端口冲突的话用lsof -i:11434查一下。
401 Unauthorized:这个通常出现在你切到云端 profile 时。检查 TaoToken 的 Key 是否填对、是否过期,Base URL 是否是https://taotoken.net/api。本地 Ollama 不会报 401,因为它不做鉴权。
reading choices相关报错:一般是接口返回格式不符合预期,常见于 Base URL 填错(比如多加了/v1或漏了路径)。确认 Ollama 的地址是http://localhost:11434,TaoToken 的是https://taotoken.net/api,不要自己拼路径。
OAuth相关报错:如果你用的是需要 OAuth 的云端服务,检查 token 是否刷新。本地 Ollama 不涉及 OAuth,出现这个报错说明请求打到了错误的 endpoint。
排查顺序建议:先确认 Ollama 服务活着,再确认认证文件路径和权限,最后确认 OpenClaw 用的 profile 是哪个。三步走完,九成问题都能定位。
6. 把本地推理接进日常:从 API Keys 到 Coding Plan
配置跑通之后,接下来就是把它用起来。日常任务走本地 Ollama,复杂任务用 TaoToken 兜底,这个组合能覆盖绝大多数场景。
如果你还没生成 TaoToken 的 Key,可以去 API Keys 页面创建一个:https://taotoken.net/api-keys。接入细节看文档:https://taotoken.net/doc。想先试试模型对话效果,用这个入口:https://taotoken.net/model-chat。如果你长期做编码和 Agent 任务,Coding Plan 会更划算:https://taotoken.net/coding-plan。控制台在https://taotoken.net/console,Claude Code 相关接入看https://taotoken.net/claude-code-anthropic。
回到 OpenClaw 本身,本地推理最大的价值不是“完全免费”,而是把成本结构从“按 Token 付费”变成“按硬件付费”。硬件是一次性投入,跑得越多越划算。对于每天都有自动化任务跑的开发者,这个账很好算。
最后给一个实用技巧:本地模型切换不用改代码,只改auth-profiles.json里的model字段就行。比如从 Llama3 换成 Qwen2,改完重启 OpenClaw 即可。想试新模型,先ollama pull拉下来,再改配置,几分钟就能验证效果。这套流程跑顺之后,你的 OpenClaw 就真正变成了一个成本可控、数据不出本地的自动化工具。