OpenClaw Token 优化实战:7个亲测配置让月账单从$600降到$20

OpenClaw 的月账单能从 $600 压到 $20 以下,核心不是靠少用它,而是把每一笔 Token 花在对的地方。经过三个月亲测,我整理出 7 个可直接落地的配置项,从 5 分钟速效到深度调优,覆盖模型路由、Heartbeat 频率、Prompt Caching、本地模型替代等全链路。以下配置全部经过 openclaw.json 验证,复制粘贴就能跑。
你的 Token 到底烧在哪了?

先看账单结构,否则优化就是盲人摸象。根据社区实测数据,OpenClaw 的 Token 消耗大致分布如下:上下文历史占 40-50%,工具调用输出占 20-30%,系统提示词占 10-15%,模型响应本身仅占 8-12%,重试与错误处理 3-5%,其余杂项约 3%(OpenClaw Docs, 2026)。
最反直觉的一点是:模型响应不是大头,重复发送的上下文历史才是。OpenClaw 每轮对话都会把完整历史塞给模型,第 20 轮对话的输入 Token 量大约是第 1 轮的 20 倍。如果你用 Claude Opus 4.6(输入 $5/MTok,输出 $25/MTok),一个 100K 上下文的请求仅输入成本就超过 $0.5。不压缩上下文,任何模型切换都是杯水车薪。
第一招:模型分级路由,5 分钟省 50%
别用 Opus 做心跳检查,那是用跑车送外卖。OpenClaw 的 agents.defaults.models 支持配置模型白名单,按任务难度分配不同模型,这是成本杠杆最大的一步。

亲测可用的三级模型策略:
- 免费/零成本层:Ollama 本地模型(Qwen 2.5、Llama 3.2、Mistral)或 Google AI Studio 免费 Gemini Flash,专用于 Heartbeat、状态检查、简单 Cron 任务
- 经济层($0.10-0.50/MTok 输入):Gemini 1.5 Flash、Claude Haiku 3.5,负责分类、摘要、轻量研究
- 中阶层($1-5/MTok 输入):Claude Sonnet 4、GPT-4o Mini,承担代码审查、多步规划
- 高端层($10+/MTok 输入):Claude Opus、GPT-4o,只留给复杂代码生成和高难度推理链
配置示例:
{
agents: {
defaults: {
models: {
"google/gemini-1.5-flash-latest": { alias: "Flash" },
"anthropic/claude-3-5-sonnet-20241022": { alias: "Sonnet" },
"anthropic/claude-opus-4-6": { alias: "Opus" }
}
}
}
}
Cron 任务指定廉价模型:

{
cron: {
jobs: [
{
name: "daily-status-check",
schedule: "0 9 * * *",
model: "google/gemini-1.5-flash-latest",
session: "isolated"
}
]
}
}
第二招:Heartbeat 调频 + 隔离会话,砍掉周期性浪费
OpenClaw 默认 Heartbeat 每 30 分钟跑一次(Anthropic 凭证为 1 小时),每次都会把完整对话历史发给模型。实测单次 Heartbeat 消耗约 100K Token,开启 isolatedSession 和 lightContext 后直接降到 2-5K。
核心配置三件套:
{
agents: {
defaults: {
heartbeat: {
every: "2h",
isolatedSession: true,
lightContext: true,
skipWhenBusy: true
}
}
}
}
every: "2h":根据任务敏感度调整,非实时场景 2 小时足够isolatedSession: true:每次 Heartbeat 新建会话,不携带历史上下文lightContext: true:只注入 HEARTBEAT.md,其余启动文件全部跳过skipWhenBusy: true:子智能体或嵌套通道忙时自动延后,避免并发叠加

第三招:Prompt Caching 配置,让系统提示词只付一次钱
OpenClaw 的系统提示词通常 1000-3000 Token,每轮都重复发送。Prompt Caching 的机制是把系统提示拆成「稳定前缀 + 易变后缀」,前缀只传一次后由平台缓存,后续请求复用缓存命中价(通常比原价低 50-90%)。
配置 cacheRetention 参数:
{
agents: {
defaults: {
cacheRetention: "long"
}
}
}
可选值:none(关闭)、short(缓存几分钟)、long(缓存数小时)。Anthropic、OpenAI、Gemini、Bedrock、OpenRouter 均支持该机制(OpenClaw Docs, 2026)。
进阶技巧:用 roundTimestampMinutes 把时间戳圆整到 5 或 15 分钟,减少因时间微变导致的缓存失效。配合精简版系统提示词(去掉冗余人格描述和未启用工具的定义),能把系统提示词 Token 再压缩 30-50%。
第四招:会话压缩与 Compaction,自动瘦身上下文
当会话 Token 累积到阈值时,OpenClaw 的 Compaction 机制会把历史对话压缩成摘要,替代原始消息重新进入上下文。手动触发用 /compact,自动配置如下:
{
session: {
compaction: {
enabled: true,
thresholdTokens: 8000,
model: "google/gemini-1.5-flash-latest",
preserveIdentifiers: true
}
}
}
关键参数:
thresholdTokens: 8000:达到 8K Token 时自动触发压缩,阈值别设太高否则失去意义model:压缩任务用廉价模型,Sonnet 压缩和 Flash 压缩出来的摘要质量差异不大preserveIdentifiers: true:保留文件路径、变量名等关键标识符,避免压缩后代码相关上下文失效
第五招:Ollama 本地模型,零成本替代方案
对于 Heartbeat、简单问答、本地文件处理等场景,Ollama 本地部署是彻底消灭 Token 成本的路子。OpenClaw 原生支持 Ollama,配置后所有成本显示为 $0。
最小可运行配置:
# 安装并拉取模型
ollama pull gemma4
# 环境变量或 openclaw.json 配置
export OLLAMA_API_KEY="ollama-local"
{
models: {
providers: {
ollama: {
baseUrl: "http://127.0.0.1:11434",
apiKey: "ollama-local"
}
}
},
agents: {
defaults: {
model: {
primary: "ollama/gemma4"
}
}
}
}
本地模型适合的场景:Heartbeat 检查、定时任务、不涉及复杂推理的代码片段生成。需要多步推理或长上下文时,还是切回云端模型更稳。
第六招:Embedding 本地化,砍掉隐性向量成本
很多用户只关注对话模型,忽略了 Embedding API 的消耗。OpenClaw 的记忆检索依赖 Embedding,如果默认走 OpenAI 的 text-embedding-3,每月记忆相关的 Token 也能积少成多。
把 Embedding 指向 Ollama 本地端点:
{
agents: {
defaults: {
memorySearch: {
provider: "ollama",
remote: {
baseUrl: "http://127.0.0.1:11434",
apiKey: "ollama-local"
}
}
}
}
}
实测本地 Embedding 的检索质量在中文场景下与 OpenAI 差距不大,但成本从按量计费变成零。
第七招:账单监控 + 预算上限,防止反弹
优化完配置后,必须设硬上限防止意外暴涨。OpenClaw 支持通过 LiteLLM 代理层设置预算告警和请求限流,也可以在 provider 层配置 maxTokens 和并发限制。
{
models: {
providers: {
anthropic: {
maxTokens: 4096,
concurrency: 2
}
}
}
}
另外建议每周跑一次 session_status 检查各会话的 Token 进出明细,通常能发现一两个异常消耗点——比如某个 Cron 任务误用了 Opus,或者某个 Heartbeat 没开 isolatedSession。
优化效果实测与优先级排序
按投入产出比排序,我的建议执行顺序:
- 模型分级(5 分钟,省 50%)—— 立竿见影,配置完立刻见效
- Heartbeat 调频 + 隔离会话(5 分钟,再省 15-20%)—— 周期性任务是大户
- Prompt Caching(10 分钟,省 10-15%)—— 平台层优化,无需改业务逻辑
- Ollama 本地模型(30 分钟,省 20-30%)—— 适合有本地机器或轻量 VPS 的用户
- 会话压缩(10 分钟,省 5-10%)—— 长会话用户收益明显
- Embedding 本地化(10 分钟,省 3-5%)—— 记忆检索频繁时值得做
- 账单监控(5 分钟,防反弹)—— 保险措施,必须做
全部落地后,我的个人账单从 2026 年 3 月的 $580 降到 5 月的 $18,中间没有减少使用频率,只是把 Token 花在了更合理的模型和配置上。如果你现在只做一个改动,去改 agents.defaults.heartbeat.isolatedSession——它只需要一行配置,回报远超预期。