NadirClaw成本管理实战:savings报告、预算告警,证明它真的帮你省了钱
NadirClaw成本管理实战:savings报告、预算告警,证明它真的帮你省了钱
NadirClaw 是一个 source-available 的 LLM 路由器与 AI 成本优化器:它自动把简单 prompt 发给便宜或本地模型、把复杂任务交给高端模型,并且内置了完整的成本管理功能——savings 报告算出你省了多少钱、预算告警在花费失控前提醒你。这篇文章带你用三条命令把"省了多少钱"变成看得见的数字,而不是一句营销承诺。
💰 一键省钱报告:nadirclaw savings
服务器跑一段时间后,直接执行:
nadirclaw savings # 全部时段的节省报告
nadirclaw savings --since 7d # 最近 7 天
nadirclaw savings --baseline claude-sonnet-4-5-20250929 --format json
输出长这样(真实字段来自 format_savings_text()):
NadirClaw Savings Report
==================================================
Total requests: 125
Total tokens: 133,330
Baseline model: claude-sonnet-4-5-20250929
Cost Comparison
----------------------------------------
Without NadirClaw: $1.3700
With NadirClaw: $0.5490
You saved: $0.8210 (60.0%)
它的计算逻辑非常透明(generate_savings_report()):
- Baseline(基线成本):假设所有请求都发给某个最贵模型——默认自动取日志中出现过的最贵模型,也可用
--baseline指定; - 实际成本:按 routing.py 中内置的模型价目表,逐条请求累加真实 token 费用;
- 两者相减就是你的 savings,并按模型、按路由层级(tier)给出细分,最后按观测时长外推出每月节省额。
数据来源是本地请求日志(~/.nadirclaw/logs/ 下的 requests.db / requests.jsonl,见 settings.py),优先读 SQLite,没有数据库时回退到 JSONL(cli.py),全程不出本机。
🔄 为什么能省钱:路由 + 验证 + 升级
省钱的底气来自三步流水线:Route(约 10ms 的嵌入分类器挑出能答对的最小模型)→ Verify(对便宜模型的输出做质量验证)→ Escalate(不达标才升级到更强模型)。简单请求走免费/低价模型,复杂请求才花大钱:
这正是 savings 报告中 tier 分布的意义:simple 占比越高,基线成本与实际成本的差距就越大。
📊 全景请求报告:nadirclaw report
savings 回答"省了多少",report 回答"钱都花在哪":
nadirclaw report # 汇总报告
nadirclaw report --since 24h # 最近 24 小时
nadirclaw report --by-model # 按模型拆成本
nadirclaw report --by-model --by-day # 模型 × 天数交叉表
nadirclaw report --export report.txt # 导出到文件
报告包含请求类型、tier 分布、模型用量、延迟分位数(p50/p95)和 token 统计,如下所示:
特别值得一提的是 --by-model --by-day 模式内置了异常检测:某个模型某天花费超过其 7 天均值的 2 倍就会被标记(generate_cost_breakdown())。比如突然有人把 Agent 工具循环全打到 Opus 上,第二天一眼就能看见。
⚠️ 配置预算告警:花到 80% 就通知你
光看报告是"事后诸葛亮",预算告警才是"事前刹车"。通过环境变量配置(budget.py):
| 环境变量 | 默认值 | 作用 |
|---|---|---|
NADIRCLAW_DAILY_BUDGET |
(未设置) | 每日花费上限(美元),如 5.00 |
NADIRCLAW_MONTHLY_BUDGET |
(未设置) | 每月花费上限(美元),如 50.00 |
NADIRCLAW_BUDGET_WARN_THRESHOLD |
0.8 |
花费达到预算该比例时触发警告 |
NADIRCLAW_BUDGET_WEBHOOK_URL |
(未设置) | 告警推送地址,收到 JSON POST |
NADIRCLAW_BUDGET_STDOUT_ALERTS |
false |
设为 true 时告警打印到 stdout |
工作机制(_check_alerts()):
- 每完成一个请求就累加当日/当月花费,每 10 个请求持久化一次到
budget_state.json,重启不丢数据; - 花费达到预算的 80% 时发出一次警告:
Daily budget warning: $4.2000 / $5.00 (84%); - 超过 100% 时发出超限告警:
Daily budget exceeded: $5.3000 / $5.00; - 每个级别每天只告警一次,不会刷屏;webhook 在后台线程里发送,绝不阻塞业务请求。
随时查看当前花费状态(budget 命令):
nadirclaw budget
# Today: $0.5490 / $5.00
# Month: $12.3400 / $50.00
# Top Models by Spend ...
运行中的服务还暴露了 GET /v1/budget API(server.py),方便接进你自己的监控面板。下面这张"每周高端配额消耗"图,就是这类数据能回答的典型问题:
✅ 三步落地清单
- 跑起来:
pip install nadirclaw后执行nadirclaw serve,把客户端指到localhost:8856,正常使用几天; - 看证据:
nadirclaw savings --since 7d拿到节省数字和月度外推,nadirclaw report --by-model核对每分钱去向; - 上保险:配置
NADIRCLAW_DAILY_BUDGET/NADIRCLAW_MONTHLY_BUDGET加 webhook,让告警比账单先到。
相关模块速查:成本计算 nadirclaw/savings.py、预算追踪 nadirclaw/budget.py、报告生成 nadirclaw/report.py、CLI 入口 nadirclaw/cli.py,更多参数详见 README.md。省钱不该靠感觉——让数字说话。



