token怪兽OpenClaw 一个月烧 $1000?7 个配置技巧帮你省 90%成本

2026-02-28 18:29
32
OpenClaw 作为强大的 AI 助手框架,许多用户发现账单增长惊人——有人单月花费超过 $1000。但真相是:问题不在模型贵,而在配置没优化。同样的功能,优化前后的成本可能相差 5-10 倍。

本文基于社区实测经验,总结 7 个核心优化策略,帮你彻底降低 OpenClaw 运行成本。
核心要点
  • 上下文累积是最隐蔽的"烧钱陷阱"
  • 模型分层路由可省 70-90% 成本
  • Prompt 缓存充分利用能省 50-83% 缓存费用
  • 心跳频率优化可避免"闲置期仍烧钱"

1. 上下文累积未优化

问题症状

即使简单的"今天天气"问答,输入 Token 却高达 13k-136k?这是因为 OpenClaw 默认将整个会话历史、MEMORY.md、AGENTS.md、SOUL.md 等文件反复注入系统 Prompt。
典型表现
  • 新会话的首次请求 token 数异常高
  • 长会话响应越来越慢
  • 账单中 Input Token 占比超过 80%

解决方案

调整 Compaction 模式(推荐 adaptive):
{
"agents": {
"defaults": {
"compaction": {
"mode": "adaptive",
"maxContextTokens": 80000,
"summaryThreshold": 60000
}
}
}
}
配置说明
  • mode: adaptive —— 自动根据会话长度调整压缩策略
  • maxContextTokens —— 超过 8 万 token 触发压缩
  • summaryThreshold —— 达到 6 万 token 开始生成摘要
进阶方案:安装 token-memory-optimizercontext-pruning-skill,实现智能上下文修剪。社区实测可降 30-70% Token 消耗。

2. 模型未分层路由

问题症状

所有任务——包括简单查询如"2+2"、天气查询——都扔给昂贵模型(如 Claude Opus、GPT-4)。心跳、cron 定时任务、后台检查全用顶级模型,闲置时也在烧钱。
成本对比
模型
输入成本/1M tokens
输出成本/1M tokens
Claude Opus 4
$15
$75
GPT-4o
$5
$15
GPT-4o-mini
$0.15
$0.60
Gemini Flash
$0.075
$0.30

解决方案

子代理使用轻量模型
{
"agents": {
"defaults": {
"subagents": {
"maxConcurrent": 8,
"defaultModel": "moonshot/kimi-k2-0905-preview"
}
}
}
}
策略建议
  • 复杂任务(代码、分析)→ Kimi K2.5 / Claude Sonnet
  • 简单任务(搜索、总结)→ Kimi K2 / GPT-4o-mini
  • 后台任务(心跳、定时)→ Gemini Flash / 本地模型
进阶方案:安装 ClawRoutersmart-router-skill,自动根据任务复杂度选择模型。实测可省 70-90% 成本。

3. Prompt 缓存未充分利用

问题症状

OpenClaw 支持 Anthropic/OpenRouter 的 Prompt Caching(缓存写/读可省 90%),但默认 TTL 短(5 分钟)或未启用长保留,导致每次都重写大上下文。
典型表现
  • Cache Write (1h) 始终为 0
  • 重复任务仍全价付费
  • 长上下文请求费用高昂

解决方案

启用长缓存保留
{
"agents": {
"defaults": {
"cache": {
"retention": "long"
}
}
}
}
优化策略
  1. 调整心跳间隔至 55-60 分钟 —— 保持热缓存不被清除
  1. 使用 OpenRouter caching —— 支持更长 TTL 和更高命中率
  1. Stable Context 模式 —— 将不常变化的内容(如技能定义)标记为可缓存
社区反馈可省 50-83% 缓存成本。

4. 心跳/Cron 频率过高

问题症状

默认心跳每 10-30 分钟触发一次,即使无用户交互,也会拉起完整上下文 + 工具 schema,消耗数万 Token。有用户报告心跳单日烧 $6+。

解决方案

延长心跳间隔
{
"heartbeat": {
"enabled": true,
"intervalMinutes": 60
}
}
优化策略
  1. HEARTBEAT.md 保持精简或为空 —— 无任务时跳过 API 调用
  1. Cron 任务隔离 —— 使用 cron-isolator-skill,将后台任务路由到轻量模型
  1. 夜间低功耗模式 —— 23:00-08:00 禁用非必需定时任务
批量检查替代频繁心跳
# HEARTBEAT.md 示例(每小时检查一次)
- 检查邮件(urgent only)
- 检查日历(未来 24h 事件)
- 检查系统状态(如有异常)

5. 技能全量加载

问题症状

所有已装技能的定义(schema)在 Session 开始就全注入 Prompt,即使未使用也占 Token。11 个技能可多吃 15k+ token/turn。

解决方案

启用懒加载模式
{
"skills": {
"install": {
"nodeManager": "npm"
},
"loading": "lazy"
}
}
进阶方案:安装 dynamic-skill-loaderauto-skill-unload
  • 关键词触发加载 —— "创建 PPT" 时才加载 pptx-creator
  • 闲置自动卸载 —— 5 分钟未使用自动移除 schema
  • 潜在节省 30-50% 基础 Token
技能精简建议
  • 仅安装必需技能
  • 定期检查未使用技能并卸载
  • 避免技能功能重叠

6. 会话文件膨胀

问题症状

sessions/*.jsonl 文件无限增长,包含历史工具输出、错误日志等,导致下次加载时 Token 爆炸。老会话响应变慢、Token 暴增。

解决方案

定期清理会话
# 手动重置当前会话
openclaw /new

# 或使用脚本定期清理
find ~/.openclaw/sessions -name "*.jsonl" -mtime +7 -delete
自动化方案:安装 session-cleaner-skill
  • 自动归档旧会话到 MEMORY.md
  • 保留关键上下文,删除冗余工具输出
  • 设置会话文件大小上限(如 10MB)
最佳实践
  • 长任务完成后执行 /new 重置
  • 每周检查一次会话文件夹大小
  • 重要信息主动写入 MEMORY.md 而非依赖会话历史

7. 缺少本地 Fallback

问题症状

所有推理都走云 API,即使是总结本地文件、简单计算也发给远程模型。轻度使用也会产生持续费用。

解决方案

集成 Ollama 本地模型
{
"models": {
"providers": {
"ollama": {
"baseUrl": "http://localhost:11434",
"models": [
{
"id": "phi3",
"name": "Phi-3 Mini",
"cost": { "input": 0, "output": 0 }
},
{
"id": "llama3.1:8b",
"name": "Llama 3.1 8B",
"cost": { "input": 0, "output": 0 }
}
]
}
}
}
}
适用场景
  • 本地文件总结/搜索
  • 简单计算和格式转换
  • 代码语法检查
  • 快速测试和原型
实测效果:重度用户可省 80%+ Token 成本。

完整优化配置示例

{
"agents": {
"defaults": {
"model": {
"primary": "moonshot/kimi-k2.5"
},
"compaction": {
"mode": "adaptive",
"maxContextTokens": 80000,
"summaryThreshold": 60000
},
"subagents": {
"maxConcurrent": 8,
"defaultModel": "moonshot/kimi-k2-0905-preview"
},
"cache": {
"retention": "long"
}
}
},
"heartbeat": {
"enabled": true,
"intervalMinutes": 60
},
"skills": {
"loading": "lazy"
}
}

总结

优化项
节省比例
配置难度
上下文压缩
30-70%
⭐⭐
模型分层路由
70-90%
⭐⭐⭐
Prompt 缓存
50-83%
⭐⭐
心跳频率优化
20-50%
技能懒加载
30-50%
会话清理
10-30%
本地 Fallback
80%+
⭐⭐⭐
综合优化后,月度成本可从100降至100-200
OpenClaw 成本高,不一定是模型贵,而是配置在"全功率空转"。花 30 分钟优化配置,长期收益巨大。

⚠️ 重要:配置验证失败问题

在应用上述优化时,你可能会遇到类似以下的错误:
Invalid config at ~/.openclaw/openclaw.json:
- agents.defaults.compaction.mode: Invalid input
- agents.defaults.compaction: Unrecognized keys: "maxContextTokens", "summaryThreshold"
- agents.defaults.subagents: Unrecognized key: "defaultModel"
- agents.defaults: Unrecognized key: "cache"
- skills: Unrecognized key: "loading"

问题原因

这些错误表明你的 OpenClaw 版本不支持文章中的部分高级配置参数。不同版本的配置 schema 有所差异:
不支持的参数
原因
compaction.mode: adaptive
你的版本只支持 defaultsafeguard
maxContextTokens / summaryThreshold
此版本无这些子参数
subagents.defaultModel
应使用 subagents.model
agents.defaults.cache
此版本不支持缓存保留配置
skills.loading
此版本不支持技能懒加载

解决方案

使用兼容你版本的配置
{
"agents": {
"defaults": {
"model": {
"primary": "moonshot/kimi-k2.5"
},
"compaction": {
"mode": "safeguard"
},
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8,
"model": "moonshot/kimi-k2-0905-preview"
},
"heartbeat": {
"every": "60m"
}
}
}
}

验证配置

修改后运行以下命令验证:
openclaw doctor
# 或
openclaw config validate
通过验证的标志
✅ valid: true
✅ issues: []
✅ warnings: []

版本差异说明

  • OpenClaw 2026.2.2-3 及更早版本:仅支持基础配置,无 adaptive 模式
  • 更新版本:可能支持更多高级优化参数
建议:先使用兼容配置确保正常运行,再考虑升级版本获取更多优化选项。

常见问题

Q: 优化后功能会受影响吗? A: 不会。分层路由确保复杂任务仍用强模型,简单任务才降级。上下文压缩保留关键信息。
Q: 需要安装哪些技能? A: 推荐安装 smart-router-skill + session-cleaner-skill,其他根据需求选择。
Q: 如何监控优化效果? A: 使用 openclaw /status 查看 Token 统计,对比优化前后的输入/输出比例。
0
好文章,需要你的鼓励