如果你也是那种把智能体当生产力工具用的人,应该能懂我上个月看到 OpenClaw 账单时的感受:一个开源项目,居然能让我一个月花掉 600 美元。说实话,一开始我是认的——毕竟每天让 AI 帮我处理邮件、整理文档、跑数据分析、自动回复,这些任务全都走云端 API,烧钱似乎是理所当然的。直到我偶然翻了配置,才意识到这里面至少有八成是可以省下来的。
这篇不是标题党。我把过去两个月的省钱折腾过程完整记录下来:从 600 美元到 20 美元,功能基本没缩水。无论你是刚接触 OpenClaw、还在纠结怎么部署,还是已经在 Windows 上跑起来了、但账单高得离谱,这篇都能给你一套可以直接抄的改进方案。
1. 先看清账单:600美元到底烧在哪些环节
在做任何优化之前,得先搞清楚钱是从哪个口子漏掉的。很多人一上来就换模型、搞本地部署,折腾半天发现账单没降多少,原因是根本没找到成本大头。我的做法是:先跑一个星期的用量统计,把 OpenClaw 每次调用的 token 日志导出,按任务类型和会话维度去汇总。
1.1 全API模式下最烧钱的三个场景
第一个是高频轮询式任务。比如每 5 分钟检查一次邮箱、每 10 分钟抓一次网页信息、定时生成日报,这类任务单次消耗不大,但架不住次数多,一天几百次调用,叠加起来很可观。
第二个是长上下文会话。OpenClaw 的特色是能在一个会话里连续处理几十步操作,每一步都会把前面的历史对话一起发给模型。会话进行到一半,一次请求的输入 token 可能已经超过 10 万,而这 10 万 token 里可能只有几千是真正有用的新信息。
第三个是并行任务。为了效率,我习惯同时开七八个会话跑不同项目,OpenClaw 默认是每个会话独立计费的。这看起来是"并发效率",但实际有一个隐含问题:大量相同的历史背景被反复发送到 API,等于同一份钱被重复收了好几次。
1.2 用一周追踪日志找出成本黑洞
我导出日志后,用一个小脚本按日期、任务名、token 量做了汇总。结果让我很意外:最烧钱的并不是我以为的"复杂代码生成",而是那些每天重复的定时任务。它们占了我总 token 消耗的 42%。
为了让你有个直观概念,我按当时 API 的公开定价粗算过一笔账:如果一天的 token 消耗是 200 万输入加 30 万输出,按主流云端模型的价格(输入约 3 美元每百万 token,输出约 15 美元每百万 token)来算,一天就是 6 加 4.5 等于 10.5 美元,一个月下来就是 300 多美元。如果再算上偶尔用更强的模型,上 600 美元根本不夸张。这里的关键不是模型单价,而是"重复发送的上下文"在替你把钱烧掉。
提示:先看日志再动手优化,永远比凭感觉换模型靠谱。OpenClaw 自带会话记录和 token 统计接口,我个人是把这些记录导成 CSV 后用本地脚本聚合的,不用额外花钱。
2. 算力路线选择:本地模型和云端API混合才是省钱的杠杆
很多从官方 Demo 开始用 OpenClaw 的人,脑子里会形成一个默认认知:OpenClaw 必须接云端 API 才能用。其实不是,至少在 2026 年的开源生态里,它早就支持本地模型了。Ollama 是其中最省事的方案。这也回答了那个常见疑问:OpenClaw 不是只能用 API 方式使用算力,本地算力完全可以接入。
2.1 为什么"只用API"是默认的烧钱陷阱
官方 Quickstart 文档大概率会让你先填一个 API Key,因为这样最快、最无脑。但代价是你每一次请求都要按 token 付费。本地模型则是一次性投入硬件成本,跑的每一句话都不再额外计费。我见过不少朋友因为"不想配置本地环境"而坚持全云端,结果月账单轻松上千。
这里并不是要你放弃云端 API,而是建议把两者按任务难度路由。我的个人体验是:像文本分类、邮件草稿、格式化输出、数据提取这类确定性较强的任务,本地 14B 模型完全够用;只有真正需要复杂推理或代码生成的活,才需要云端更强的大模型。
2.2 在OpenClaw里配置Ollama本地模型
具体操作分三步:
- 在 Windows 或 Linux 机器上安装 Ollama,然后拉取一个合适大小的开源模型。个人建议先试试 14B 量级的量化版本,显存占用大约 8 到 10GB,大多数近几年的机器都能跑。
- 确认 Ollama 服务地址,默认是
localhost:11434。 - 在 OpenClaw 的配置文件中增加一个 provider 项。
配置示例(示意,以你所用 OpenClaw 版本为准):
{ "modelProvider": "ollama", "ollama": { "baseUrl": "http://localhost:11434", "model": "qwen2.5:14b", "temperature": 0.2 } }这样你就能让 OpenClaw 的大部分基础调用直接走本地。第一次加载模型会慢一些,后续推理速度会稳定很多。如果你用的是中文社区打包的 OpenClaw 版本,配置项名称可能会稍有差异,但结构基本一致。
2.3 设定任务级路由:简单任务本地、复杂任务云端
OpenClaw 的 skill 机制可以给不同任务定义不同的执行策略,我最后采用的路线是:日常任务、定时任务、文本处理走 Ollama;代码生成、多步骤网页操作、长文档分析走云端 API。这样一个简单策略,就把 80% 的重复调用从付费 API 上挪走了。
有个小细节要注意:本地模型和云端模型的输出风格差异较大,如果发现某些任务的结果不稳定,不要硬撑,把它切回云端。省钱的前提是任务质量不下降,否则省下来的钱都会变成你重新处理烂结果的时间成本。
3. 上下文与缓存的隐形开销:多数人忽略的二次成本
如果说切换本地模型是"开源",那么上下文和缓存优化就是"节流"。这部分容易被忽略,但省下来的钱非常可观,尤其是长会话重度用户。
3.1 上下文Token是如何重复计费的
先讲一个很多新手误解的点:API 计费不是按"你这次提问的字数"算的,而是按"你发给模型的全部内容"算的。OpenClaw 这类智能体会把整个会话历史打包发送,所以你在一个会话里跑得越深,后续每次请求的输入 token 就越多。哪怕新任务只增加了一行指令,模型收到的还是几十万 token 的历史。
我最早就是在这个地方吃大亏的:一个会话里跑了 20 多步操作,后面的每一步都在为前面所有内容掏钱。等我把会话历史导出来一看,才发现单步操作的输入 token 早就超过了 8 万,而真正新产生的只有几百 token。
3.2 用会话摘要压缩输入Token
解决办法是把"完整历史"替换成"压缩摘要"。OpenClaw 较新版本支持会话摘要机制,可以在配置里打开。它会每隔若干轮,把前面的对话压缩成一段结构摘要,之后只发送摘要加最近几轮对话,而不是全部历史。
我这里给个简单的配置示意:
{ "contextStrategy": "summary", "summaryTriggerSteps": 8, "maxContextTokens": 64000 }含义是:每 8 步触发一次摘要,上下文窗口上限设为 64000 token。这样单次请求的输入 token 基本能被压在一个可控范围内。对我这种长会话重度的用户来说,这步省下的钱甚至比切换本地模型还要多。开完这个功能后的第一周,我的云端 token 消耗直接少了三分之一。
3.3 批量合并小任务,减少请求次数
还有一个比较"反直觉"的做法:把碎片化的小任务合并成批量任务。比如每天早上有 10 个不同网站要抓数据,不要写成 10 个每 5 分钟跑一次的定时任务,而是写成一个在固定时间统一执行的批量脚本,一次性把 10 个任务的结果带回,再让模型统一整理。这样既省了调用次数,也避免了多个会话重复发送相近背景信息。
我在优化后,每天 API 调用次数从原来的 300 多次降到了 30 多次,效果立竿见影。批量任务还有一个附带好处:可以让模型一次性输出结构化结果,后续做数据入库反而更省事。
4. Windows环境部署的踩坑实录:WSL 2、Companion与Node.js版本
省钱的另一个前提是环境稳定。如果 OpenClaw 三天两头崩,你就会想回到"花钱买省心"的老路上去,所以这一章说说我在 Windows 上部署时踩过的坑。很多论坛上的提问都集中在几个地方。
4.1 WSL 2状态异常导致OpenClaw无法安全验证
在 Windows 上跑 OpenClaw,大多数人是通过 WSL 2 环境来运行服务端的。但有个常见问题是,Windows 和 WSL 之间的环境校验失败,OpenClaw 在启动时直接提示类似"无法安全验证、请检查环境"的报错。我第一次遇到时以为是配置坏了,折腾半天才发现是 WSL 本身状态不对。
正确排查路径是:打开 PowerShell(建议管理员模式),运行wsl --status检查当前 WSL 版本和默认状态。如果输出显示 WSL 1 或者版本混乱,再运行wsl --update和wsl --set-default-version 2把环境统一到 WSL 2。之后再启动 OpenClaw,报错就消失了。
提示:WSL 2 和 WSL 1 的差异会直接影响文件读写和网络转发,所以不要图省事停留在旧版本。检查
wsl --status是一个成本极低的排障动作,遇到任何"环境验证失败"类报错都要先做这一步。
4.2 Windows Companion的配置要点
OpenClaw 的 Windows Companion 是负责把 Windows 上的浏览器、文件系统、剪贴板等能力暴露给服务端的辅助组件。它配置起来不算复杂,但有几个细节容易翻车。
首先,Companion 启动后会生成一个本地端口和访问令牌,默认是随机生成的。很多人忘了把这个令牌填到 OpenClaw 主配置里,结果服务端一直连接不上。其次,Windows 防火墙可能会拦截本地回环请求,需要把对应端口加入白名单。最后,如果你同时装了多个版本的 Companion,端口可能冲突,建议统一固定端口。
我的建议是:把 Companion 的端口和令牌写在一个独立配置文件中,然后在 OpenClaw 主配置里引用,这样重新安装或换机器时不会丢配置。
4.3 Node.js版本与Ollama服务的内存分配
OpenClaw 的服务端基于 Node.js,所以 Node 版本必须对齐。我见过很多"配置文件没问题但起不来"的情况,最后都发现是系统里 Node 版本太旧或太新。这里没有捷径,去 nodejs.org 下载当前 LTS 版本并安装,比用包管理器乱装版本要稳。装完在命令行执行node -v确认版本号,再做后续操作。
Ollama 的内存分配也需要单独说一句。默认情况下,Ollama 会尽量占用可用显存,这在同时跑 OpenClaw 和本地模型时会挤压其他程序。我用的办法是设置环境变量OLLAMA_NUM_PARALLEL=1,限制并发模型加载数量。如果你用 CPU 推理,建议把OLLAMA_MAX_LOADED_MODELS设小一点,防止一次加载多个模型把内存吃满。
5. 完整省钱配置清单:从600到20的实测对比
前面讲了很多思路,最后给你我能直接抄的配置和数字。我整个优化过程大概持续了三周,每周只调整一项,然后跑一周数据看效果,避免同时改动太多搞不清是哪一步起了作用。
5.1 每一步调整的预期节省金额
我把整个优化过程拆成了几个独立的调整项,每一轮调整后都跑了一周统计:
| 调整项 | 调整前 | 调整后 | 月节省估算 |
|---|---|---|---|
| 任务路由 | 全部走云端 API | 80% 定时/文本任务走本地 Ollama | 省约 350 美元 |
| 上下文策略 | 完整历史发送 | 摘要压缩+64K 上限 | 省约 120 美元 |
| 批量任务 | 300 多次小调用/天 | 30 多次批量调用/天 | 省约 60 美元 |
| 模型选择 | 全局最强模型 | 任务级差异化选模型 | 省约 50 美元 |
注意,这些不是精确会计数字,只是按我当时用量推算的参考量级。核心结论是:大头在路由,第二在上下文,批量任务也有不可忽视的贡献。
5.2 最终配置对账
调整完成后,我的月度成本构成大概是这样的:
- 本地算力(Ollama 模型):电费加硬件折旧,折算下来约 5 美元左右。
- 云端 API:只保留复杂代码生成和多步骤网页操作,约 12 美元。
- 其他(偶尔测试、备用模型调用):约 3 美元。
合计 20 美元出头,和之前的 600 美元形成了明显对比。为达到这个效果,我的关键配置如下表:
| 配置项 | 我的最终设置 |
|---|---|
| 默认 Provider | Ollama 本地模型 |
| 云端 Provider | 仅复杂任务路由使用 |
| 上下文策略 | summary 模式,触发步数 8 |
| 最大上下文 | 64K token |
| 定时任务 | 合并为每日批量执行 |
| 模型版本 | 本地 14B 量化 + 云端旗舰按需 |
5.3 省钱之外的几条铁律
最后说几条我踩坑之后总结的规矩:
- 不要追求"全本地化"。有些任务本地模型确实做不好,硬扛只会让你觉得方案不可用,最后退回全云端。
- 每周看一次 token 账单。OpenClaw 支持导出用量日志,保持这个习惯能让你在成本失控前及时介入。
- 不要为了省钱关掉日志。日志是排障和成本分析的基础,省一点存储费,却可能让你多花几百美元找问题。
- 手机端 Termux 装 OpenClaw 可以用来做远程状态检查和轻量任务调度,但不要把手机当成主力算力机,意义不大。
整体折腾下来,我最深的体会是:OpenClaw 本身并不烧钱,烧钱的是无差别的全量 API 调用。先把任务分类,把那些重复的、确定性的、不需要顶级推理的活交给本地算力,再用缓存和批量把云端请求压缩到最低,这 20 美元完全养得起一套够用的自动化系统。如果你也正在为账单发愁,不妨按这个路径先跑两周,看看自己的成本结构,多半能找到比我更大的压缩空间。