
1. 为什么要在本地跑 OpenClawToken 自由到底解决什么问题如果你最近在折腾 OpenClaw大概率会遇到一个很现实的矛盾Agent 任务一旦跑起来Token 消耗根本不是按“次”算的而是按“天”烧的。我拿自己的日志做过统计一个中等活跃度的 OpenClaw 实例每天处理邮件分拣、Issue 清理、定时简报这几件事轻松就能吃掉几百万 Token。如果全部走云端 API账单会以肉眼可见的速度往上走。OpenClaw 本身是一个偏 Agent 形态的框架它和普通聊天机器人的最大区别在于它会反复调用模型、反复读上下文、反复做工具调用。一次任务里模型可能被唤醒十几次每次都要带上历史上下文。这种调用模式下Token 消耗是普通对话的几十倍。所以“Token 自由”不是一句口号而是决定你能不能长期把 OpenClaw 跑下去的关键。Ollama 本地部署解决的正是这个问题。它把模型权重下载到你自己的机器上推理过程完全在本地完成不产生任何按 Token 计费的调用。你付出的是一次性的硬件成本和电费换来的是无限次调用。对于每天 Token 消耗超过 500 万的重度用户来说本地部署几乎是唯一理性的选择超过 3000 万云端成本会飙到每月数千美元而本地机器照样跑。但本地部署不是万能药。消费级硬件能跑的模型在复杂多步推理、超长文本精确格式化这些场景上确实和云端旗舰模型有差距。所以真正聪明的做法是混合策略日常轻量任务走本地 Ollama攻坚重型任务通过 TaoToken 统一 Key 一键切到云端大模型。这样既保住了 Token 自由又不牺牲关键任务的质量。这篇文章要交付的就是这条完整落地路径从 Ollama 安装、模型拉取、上下文窗口扩展到 OpenClaw 配置片段再到通过 TaoToken 统一接入的验证步骤。每一步都有可复制的命令和配置你跟着做就能在本地环境跑通。2. Ollama 本地部署前置硬件门槛与模型选型在动手之前先花两分钟确认你的机器能不能跑。Ollama 的门槛比很多人想象的低但模型选型直接决定体验。显存和模型的对应关系大致是这样4 GB 显存能跑 Qwen2.5:4B 这类轻量模型速度偏慢但能用8 GB 是入门首选大部分 7B 模型流畅运行16 到 24 GB 是最佳性价比区间能驾驭 14B 到 32B 模型48 GB 以上可以上 70B 大模型接近云端体验。如果你用的是 M1 到 M4 系列的 Mac统一内存架构天然适合跑本地模型16 GB 内存的 MacBook Air 就能流畅跑 7B32 GB 的 MacBook Pro 可以上 14B。最低配置要求CPU 是 Intel i5 或 AMD Ryzen 5 及以上内存 8 GB 起步、16 GB 推荐、32 GB 最佳存储至少留 20 GB 剩余空间并且强烈建议 SSDGPU 优先 NVIDIARTX 3060/4060/5060 系列都行。没有独立 GPU 也能跑Ollama 支持纯 CPU 推理只是速度慢一些跑 Qwen3:0.6b 这类超轻量模型几秒内也能出结果。模型选型上入门推荐qwen2.5:7b下载约 4.7 GB中文表现出色是性价比最高的起步方案。进阶推荐qwen3-coder编码任务优化也是 OpenClaw 官方推荐的编码模型。其他值得考虑的还有glm-4.7通用能力强适合日常对话和文档处理、glm-4.7-flash速度与性能兼顾适合实时交互、gpt-oss:20b平衡型适合通用 Agent 任务、deepseek-r1:32b推理能力强适合复杂分析。这里有一个必须提前说清楚的坑OpenClaw 要求模型上下文窗口至少 64K Token官方推荐值更高。而 Ollama 默认的上下文长度只有 4096 Token直接接上去会出现上下文被截断、Agent 记不住前文的问题。这个必须在拉取模型后手动扩展具体方法在下一节展开。安装 Ollama 本身很简单。macOS 用brew install ollamaWindows 去 ollama.com 下载安装包双击安装装完会自动注册为系统服务LinuxDebian/Ubuntu用curl -fsSL https://ollama.com/install.sh | sh。装完验证一下curl http://localhost:11434/api/tags返回 JSON 数据就说明 Ollama 已经在后台跑起来了。3. 可复制配置Ollama 启动参数与 OpenClaw 接入片段这一节是整篇的核心所有配置都可以直接复制。先解决上下文窗口的问题。Ollama 默认 4096 Token 的上下文对 OpenClaw 来说完全不够。有两种扩展方式。第一种是创建自定义 ModelfileFROM qwen2.5:7b PARAMETER num_ctx 32768然后执行ollama create qwen2.5-32k -f Modelfile这样你就得到了一个上下文 32K 的模型变体OpenClaw 里填qwen2.5-32k即可。第二种是通过环境变量全局设置export OLLAMA_CONTEXT_LENGTH32768如果你想让 Ollama 常驻并开启 Flash AttentionAmpere 及以上架构的 NVIDIA GPU 可减少约 30% 显存占用并提升推理速度可以这样启动OLLAMA_FLASH_ATTENTION1 OLLAMA_CONTEXT_LENGTH32768 ollama serve接下来是 OpenClaw 的接入配置。OpenClaw 的配置文件通常位于用户目录下的.openclaw目录核心配置片段如下JSON 格式路径按你的实际安装位置调整{ models: { providers: { ollama-local: { type: openai-compatible, baseUrl: http://127.0.0.1:11434/v1, apiKey: ollama, models: [ { id: qwen2.5-32k, name: Qwen2.5 32K Local, contextWindow: 32768 } ] }, taotoken-cloud: { type: openai-compatible, baseUrl: https://taotoken.net/api, apiKey: 你的_TaoToken_Key, models: [ { id: claude-sonnet-4-5, name: Claude Sonnet 4.5, contextWindow: 200000 } ] } } }, agents: { default: { model: ollama-local/qwen2.5-32k }, heavy: { model: taotoken-cloud/claude-sonnet-4-5 } } }注意baseUrl的写法Ollama 的 OpenAI 兼容接口在http://127.0.0.1:11434/v1而 TaoToken 的接口是https://taotoken.net/api。apiKey对 Ollama 来说随便填一个非空字符串即可它不校验TaoToken 那边必须填你在控制台生成的真实 Key。如果你用的是 TOML 格式的配置部分 OpenClaw 版本支持等价写法是[models.providers.ollama-local] type openai-compatible baseUrl http://127.0.0.1:11434/v1 apiKey ollama [[models.providers.ollama-local.models]] id qwen2.5-32k name Qwen2.5 32K Local contextWindow 32768 [models.providers.taotoken-cloud] type openai-compatible baseUrl https://taotoken.net/api apiKey 你的_TaoToken_Key [[models.providers.taotoken-cloud.models]] id claude-sonnet-4-5 name Claude Sonnet 4.5 contextWindow 200000配置里的三件套必须齐全Base URL、Key、Model ID。少任何一个都会在启动时报错。Ollama 的 Model ID 就是你ollama create时指定的名字TaoToken 的 Model ID 以控制台模型列表为准。4. 验证请求从 Ollama 直连到 TaoToken 回退的完整链路配置写完之后不要急着启动 OpenClaw先分层验证这样出问题能快速定位。第一层验证 Ollama 本身能出结果curl http://localhost:11434/v1/chat/completions \ -H Content-Type: application/json \ -d { model: qwen2.5-32k, messages: [{role: user, content: 用一句话说明什么是本地推理}] }如果返回的 JSON 里有choices字段且内容正常说明 Ollama 的 OpenAI 兼容接口工作正常。这一步失败的话问题一定在 Ollama 侧和 OpenClaw 无关。第二层验证 TaoToken 通道curl https://taotoken.net/api/v1/chat/completions \ -H Content-Type: application/json \ -H Authorization: Bearer 你的_TaoToken_Key \ -d { model: claude-sonnet-4-5, messages: [{role: user, content: 回复 OK 两个字母}] }返回正常说明 Key 和网络通道都没问题。这一步失败通常是 Key 填错或模型 ID 不存在。第三层启动 OpenClaw 并验证 Agent 调用openclaw onboard --install-daemon openclaw dashboard浏览器打开http://127.0.0.1:18789在控制面板里发一条测试消息。如果默认 Agent 走的是ollama-local/qwen2.5-32k你应该能看到本地模型的回复。然后手动把 Agent 切到heavy再发一条验证 TaoToken 通道也能正常返回。实测下来这套分层验证能把排障时间从半小时压缩到几分钟。哪一层挂了问题就锁定在哪一层不用在 OpenClaw 的日志里大海捞针。5. 常见报错排查401、local proxy failed 与 reading choices这一节对照真实报错逐个拆解。401 Unauthorized出现在 TaoToken 通道。九成是 Key 填错或过期。检查配置文件里的apiKey字段确认没有多余空格确认 Key 是在控制台新生成的。如果 Key 没问题检查baseUrl是不是写成了https://taotoken.net/api少写或多写路径都会导致鉴权失败。local proxy failed / connection refused出现在 Ollama 通道。通常是 Ollama 服务没起来或者baseUrl端口写错。先跑curl http://localhost:11434/api/tags确认服务活着。如果服务活着但 OpenClaw 连不上检查baseUrl是不是写成了http://127.0.0.1:11434/v1少了/v1会 404写成https会连接失败。另外如果你把 Ollama 跑在另一台机器上127.0.0.1要换成那台机器的实际 IP并且确认防火墙放行了 11434 端口。reading choices 相关报错这类报错通常表现为cannot read property choices of undefined或类似形式。根因是接口返回的结构不符合 OpenAI 兼容格式代码去读choices时拿到 undefined。常见触发场景有两个一是 Ollama 的模型名填错接口返回了错误对象而不是正常的 completion 结构二是 TaoToken 的模型 ID 不存在返回了错误信息。解决办法是先用第 4 节的 curl 命令单独验证该通道确认返回结构里有choices数组再回填到 OpenClaw 配置里。OAuth 相关报错如果你在配置过程中看到 OAuth 字样通常是因为 OpenClaw 的某些云端 Provider 走的是 OAuth 授权流程而你在用 API Key 模式。检查配置里type字段是不是写成了openai-compatibleOAuth 类型的 Provider 需要走浏览器授权不适合本地 Ollama 这种无鉴权场景。把类型改对即可。上下文被截断 / Agent 记不住前文这不是报错但表现很像 bug。根因就是 Ollama 默认 4096 上下文。回到第 3 节用 Modelfile 或环境变量把num_ctx提到 32768 以上问题消失。模型加载 OOM显存不够。降低量化等级换更小的模型变体或者减小num_ctx或者开启OLLAMA_FLASH_ATTENTION1降低显存占用。6. 长期运行与统一接入把本地和云端拧成一股绳跑通之后下一步是让它稳定长期运行。如果你想让 OpenClaw 7x24 在线比如监控服务器或自动回复消息可以用 Docker 把 Ollama 和 OpenClaw 都跑在容器里不污染宿主机环境。也可以用 1Panel 这类可视化管理面板一键安装。如果 OpenClaw 跑在随时在线的服务器上、Ollama 跑在有 GPU 的工作站上只需把配置里的baseUrl指向 GPU 机器的 IP 即可两边解耦各自升级互不影响。日常使用中建议在 OpenClaw 的SOUL.md里加一句约束减少本地模型的话唠倾向请直接执行任务不要输出大段说明文字。总结而非原样输出 JSON。首次部署后跑一次openclaw doctor它会自动检测并修复常见配置问题能省掉不少手动排查。最后说统一接入的价值。本地 Ollama 给你 Token 自由但它不是万能的。复杂多步推理、超长文本精确格式化、小语种输出质量这些场景本地小模型确实吃力。这时候通过 TaoToken 统一 Key 接入云端模型就能在同一个 OpenClaw 实例里按 Agent 切换日常轻量任务走本地攻坚任务一键切云端。你不需要维护两套配置、两套鉴权一个 Key 覆盖多个云端模型本地和云端在配置层面是同构的切换成本几乎为零。这套混合模式跑顺之后你的 OpenClaw 既有了本地推理的成本优势又保留了云端模型的能力上限。Token 自由不是二选一而是把两条路都握在手里。