我用 OpenClaw 折腾了一个月,终于搞明白怎么控制 Token 费用
前言
用 OpenClaw 的朋友可能都遇到过这种情况:某天突然发现 API 账单暴涨,但完全不知道钱花在哪里。
我也是。折腾了一段时间之后,总结出 8 个最容易造成 Token 浪费的地方,并把解决方案打包成了一个 Skill 发布到 ClawHub,免费开源,一条命令安装:
npx clawhub install token-cost-optimizer
这篇文章把我踩过的坑和解决方案完整记录下来,希望对你有用。
Token 费用失控的 8 个原因
1. 上下文越来越长
OpenClaw 默认的 compaction 模式是 safeguard,会尽量保留历史对话。时间一长,每次请求都带着几千 token 的历史记录,费用自然高。
解决方法:把 compaction 模式改为 aggressive,限制最大 token 数:
nano ~/.openclaw/openclaw.json
找到 compaction 配置,改成:
"compaction": {
"mode": "aggressive",
"maxTokens": 8000,
"keepLastN": 10
}
2. 模型回复太啰嗦
默认情况下模型倾向于给出详尽的回答,但很多场景根本不需要这么多内容,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 stop
openclaw gateway start
5. 配置文件里堆积了很多无用内容
随着使用时间增长,memory 目录和 workspace 目录会堆积大量过期文件,每次启动都会加载这些内容。
清理命令:
# 清理 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
欢迎 Star ⭐ 和提 Issue,有问题也可以在评论区交流。
写在最后
OpenClaw 的中文资料非常少,很多坑只能自己踩。如果你在配置过程中遇到问题,欢迎评论区留言,我会尽量回复。
后续我还会写:
- OpenClaw 接入飞书的完整配置教程
- 用 OpenClaw 控制同花顺实现自动交易
- ClawHub 发布第一个 Skill 的完整踩坑记录
感兴趣的话点个关注,不定期更新。