OpenClaw Token 费用优化实战:一个月摸索出的成本控制核心技巧
前言
使用 OpenClaw 的朋友很可能都遇到过这样的情况:某个时刻忽然发现 API 账单数字飙升,却怎么也想不起钱究竟花在了哪里。

这种困惑其实相当普遍。经过一段时间的深入实践,我总结出了 8 个最容易导致 Token 浪费的环节,并将对应的解决方案整合成一个 Skill 发布到了 ClawHub,完全免费开源,一行命令即可安装:
npx clawhub install token-cost-optimizer
接下来,我会把自己的踩坑经历和优化方法完整记录下来。
Token 费用失控的 8 个主要原因
1. 对话上下文持续累积,导致请求越来越重
OpenClaw 默认的 compaction 模式是 safeguard,它会尽量保留全部的对话历史。随着使用时间增加,每次请求都可能带着数千 token 的历史记录,Token 消耗自然会不断攀升。
优化方案:将 compaction 模式切换为 aggressive,并主动限制最大 token 数:
nano ~/.openclaw/openclaw.json
找到 compaction 配置项,修改为:
"compaction": {"mode": "aggressive","maxTokens": 8000,"keepLastN": 10}
2. 模型回答过于冗长,浪费大量输出 Token
默认情况下,模型倾向于输出非常详尽的回答,但许多场景其实完全不需要这么长的内容,导致 output token 被白白消耗。
优化方案:在 ~/.openclaw/soul.md 中添加一段输出约束指令:
## 输出原则- 默认采用简洁回复风格,除非用户明确要求详细说明- 列表项数量控制在 5 条以内- 代码只展示核心片段,完整代码写入文件- 避免重复已陈述过的内容
3. 多个 Agent 重复处理相同请求
如果配置了多个 Agent,同一份请求可能会被多个 Agent 同时处理,Token 消耗直接翻倍,浪费非常明显。
优化方案:
- 主 Agent 仅负责协调工作与用户交互
- 子 Agent 只接收精简后的任务描述,避免传递完整上下文
- 相同类型的任务固定分配给同一个 Agent 处理
4. 死循环或异常高频调用
这是最需要警惕的风险场景。某个 Cron 任务或自动化流程一旦出现问题,就可能陷入死循环,Token 费用在几小时内就能飙升至平时的几十倍。
诊断方法:
# 查看近期日志记录openclaw logs | tail -200# 列出所有定时任务openclaw cron list
一旦发现死循环,立即执行以下命令:
openclaw gateway stopopenclaw gateway start
5. 配置文件中积累了过多无用内容
随着使用时间的增长,memory 目录和 workspace 目录会逐渐堆积大量过期文件,每次启动服务时都会加载这些内容,造成不必要的 Token 开销。
清理命令:
# 删除 30 天前的 workspace 文件find ~/.openclaw/workspace -mtime +30 -type f -delete# 查看 memory 目录占用空间du -sh ~/.openclaw/memory/# 列出 90 天未更新的 memory 文件(确认后手动删除)find ~/.openclaw/memory -mtime +90 -type f
6. 简单任务却使用了昂贵的模型
这是最常见的一种浪费情况。查个天气、翻译一句简单的话,完全不需要动用 Claude Sonnet 这类高端模型,但默认配置常常会用它处理所有请求。
不同模型成本参考(每百万 token):
| 模型 | Input | Output |
|---|---|---|
| Kimi K2.5 | $0 | $0 |
| Claude Haiku | $0.80 | $4.00 |
| Claude Sonnet | $3.00 | $15.00 |
| Claude Opus | $15.00 | $75.00 |
配置中已集成 Kimi K2.5,成本为零,简单任务建议优先使用它。
7. 未配置模型路由规则
将模型路由规则写入 soul.md,让 Agent 根据任务复杂度自动选择合适的模型:
## 模型选择原则- 查天气、翻译、格式转换 → kimi-k2.5(免费)- 写文章、写代码、数据分析 → claude-haiku- 复杂推理、交易策略分析 → claude-sonnet- 极端复杂的任务 → claude-opus(谨慎使用)
8. 定时任务频率设置过高
很多人配置了高频的行情监控或新闻聚合任务,但实际上并不需要这么高的刷新频率。
查看并优化任务:
openclaw cron list
建议调整策略:
- 行情监控:交易时段内每 5 分钟一次,收盘后暂停
- 新闻聚合:每 30 分钟或 1 小时一次
- 健康检查:每天一次即可
- 不必要的心跳任务:直接关闭
一键诊断脚本
将以上检查项整合为一条命令,方便快速定位问题:
echo "=== Cron 任务 ===" && openclaw cron list && echo "=== Memory 大小 ===" && du -sh ~/.openclaw/memory/ && echo "=== Workspace 大小 ===" && du -sh ~/.openclaw/workspace/ && echo "=== 当前模型 ===" && cat ~/.openclaw/openclaw.json | grep primary && echo "=== Compaction 模式 ===" && cat ~/.openclaw/openclaw.json | grep compaction -A3
安装与使用
以上所有优化内容已打包成一个 OpenClaw Skill,安装后可直接在飞书或 WhatsApp 中对 Agent 说「帮我检查 token 消耗」或「看看有没有浪费的地方」,Agent 便会自动执行诊断。
安装命令:
npx clawhub install token-cost-optimizer
GitHub 源码地址:
https://github.com/taod7062-a11y/token-cost-optimizer
如有任何问题,欢迎在评论区交流讨论。
写在最后
目前 OpenClaw 的中文资料非常稀缺,很多问题只能靠自己去摸索和踩坑。如果在配置过程中遇到困难,欢迎在评论区留言分享。
后续计划包括:
- OpenClaw 接入飞书的完整配置教程
- 使用 OpenClaw 控制同花顺实现自动交易
- ClawHub 发布第一个 Skill 的完整踩坑记录
