mcpField
C
cost-burn

cost-burn

github.com/ruvnet数据与数据库80.0k248 次安装今天更新
代码仓库

关于 cost-burn

cost-burn 是用于观察生产成本消耗速率变化的技能,适合监控运行成本的团队。它按时间窗口比较最新支出与此前非空窗口均值,并可在加速超过阈值时告警。

主要功能

  1. 01按时间窗口汇总会话支出
  2. 02比较最新支出与历史均值
  3. 03可配置加速阈值告警
  4. 04支持 CI 失败门控
  5. 05无历史基线时跳过告警

适用场景

  1. 01发现生产支出速率突然上升
  2. 02在预算告警前检测成本加速
  3. 03在 CI 中阻止超阈值变更

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/ruvnet/ruflo --skill cost-burn

安装后在 Claude Code 中输入/cost-burn确认已加载。

详细介绍

消耗速率趋势可观测性。这是成本追踪器前瞻成本堆栈的第四项:

问题技能
“我们是否已超过阈值?”(反应式)cost-budget-check
“我们何时会超过阈值?”(预测式)cost-projection
“我们本可以少花钱吗?”(比较式)cost-counterfactual
“每日消耗是否在加速?”(趋势)cost-burn ← 此项

算法

实现:scripts/burn.mjs。

  1. 从 cost-tracking 命名空间读取所有 session-* 记录。
  2. 在 --lookback(默认 14d)时间范围内,按 --bucket 时长窗口(默认 1d)分桶。
  3. 对每个桶计算:{n: sessions, spendUsd: sum(total_cost_usd)}。
  4. 计算 delta = latest.spendUsd - mean(prior non-empty buckets)。
  5. 如果设置了 --alert-on-acceleration-pct N:当 deltaPct > N 时以状态码 1 退出。

冒烟测试记录(5 天每天 $0.10,今天 $0.50——加速 400%)

| Latest bucket spend | $0.500000 (1 sessions) |
| Prior bucket mean | $0.100000 (4 non-empty buckets) |
| **Delta (latest vs prior mean)** | **+$0.400000 (400.00%)** |

# | Window                              | Sessions | Spend
0 | 2026-06-15 14:16 → 2026-06-16 14:16 | 1        | $0.500000
1 | 2026-06-14 14:16 → 2026-06-15 14:16 | 0        | $0.000000
2 | 2026-06-13 14:16 → 2026-06-14 14:16 | 1        | $0.100000
3 | 2026-06-12 14:16 → 2026-06-13 14:16 | 1        | $0.100000
...

漂移告警退出码

$ cost burn --bucket 1d --lookback 7d --alert-on-acceleration-pct 50 ⚠ ALERT:最新桶为 $0.500000,比此前平均值 $0.100000 高 400.0%(阈值 +50%) exit 1

$ cost burn --bucket 1d --lookback 7d --alert-on-acceleration-pct 500 ✓ 最新桶在此前平均值的 +500% 范围内(实际变化:400.0%)— OK exit 0

CI 集成

# Fail the build if today's spend accelerated > 100% over the weekly mean
cost burn --bucket 1d --lookback 7d --alert-on-acceleration-pct 100 || alert-oncall

该告警独立于预算——即使总支出远低于预算,只要消耗速率加速就会触发。在预算告警响起前,及时发现“我们发布了一个消耗速率达到正常水平 10 倍的死循环”。

与 cost-trend 的区别

技能数据来源问题
cost-trenddocs/benchmarks/runs/*.json“基准测试是否在漂移(胜率、延迟)?”
cost-burncost-tracking 命名空间“生产环境支出是否在加速?”

两者都很有用;它们基于不同数据回答不同问题。

边缘情况

  • 历史数据稀疏(此前没有非空桶):跳过告警并给出原因说明,退出码为 0。避免在冷启动时向运维人员发送误报。
  • 此前的桶均为 $0,但最新桶大于 $0:JSON 中的 delta 为 Infinity/null,表格中标记为 new。不会触发告警(没有可供比较的基线)。
  • --bucket 大于 --lookback:硬错误,退出码为 2。

评论

支持 Markdown