mcpField
C
cost-federation

cost-federation

github.com/ruvnetAgent 工作流80.0k683 次安装今天更新
代码仓库

关于 cost-federation

cost-federation 读取联邦支出事件,按滚动时间窗口汇总各节点的开销,用于监控联邦成本并检查节点是否超过暂停阈值;上游事件发布尚未实现。

主要功能

  1. 01按节点统计 1h、24h、7d 数据
  2. 02事件数量与美元支出
  3. 03暂停阈值检查
  4. 04支持 Markdown 或 JSON 输出
  5. 05可配置事件命名空间

适用场景

  1. 01建立新节点的支出基线
  2. 02定期监控联邦成本
  3. 03ADR-097 更新后检查熔断器决策

安装

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

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

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

详细介绍

成本联邦

ADR-097 第 3 阶段规定了一个 federation_spend 事件总线,每次 federation_send 完成时都会发布一个事件:{peerId, taskId, tokensUsed, usdSpent, ts}。成本跟踪器是指定的消费者——它会按对等节点汇总滚动时间窗口(1h / 24h / 7d),联邦熔断器会查询该汇总,以暂停超出配置阈值的对等节点。

第 3 阶段尚未合并到上游。 此技能负责消费者侧的接线;上游一旦向 federation-spend 命名空间发布事件,此技能便会立即启用。在此之前,它会正常报告“未找到事件”。

适用场景

  • 向新的对等节点开放联邦流量之前——建立基线。
  • 定期运行(例如 /loop 5m),监控各时间窗口内每个对等节点的支出。
  • ADR-097 第 2/3 阶段合并后——验证熔断器暂停对等节点的原因。

步骤

  1. 运行脚本:

    node plugins/ruflo-cost-tracker/scripts/federation.mjs
    

    可选环境变量:

    • FED_FORMAT=json — 输出 JSON,而非 Markdown
    • FED_NAMESPACE=federation-spend — 覆盖目标命名空间
    • FED_SUSPEND_THRESHOLD_USD=5.0 — 熔断器阈值(ADR-097 默认值)
  2. 检查 — 每个对等节点在 1h/24h/7d 时间窗口内的数量和美元支出,以及标记出超过熔断器阈值的对等节点的“暂停阈值检查”区块。

存储约定(消费者侧)

第 3 阶段合并后,事件应存储在命名空间 federation-spend 中,键前缀为 fed-spend-,JSON 值符合以下格式:

{
  "peerId": "<peer-uuid>",
  "taskId": "<task-uuid>",
  "tokensUsed": 12345,
  "usdSpent": 0.0287,
  "ts": "2026-05-05T..."
}

脚本会读取任何与该前缀匹配的记录,无论上游以何种方式生成这些记录。同一对等节点的多条事件会正常累加到滚动时间窗口总和中。

交叉引用

  • ADR-097:联邦预算熔断器 — 完整规范
  • cost-report — 相同数据,不同视角(cost-report 专注于本地 Agent 支出;此技能专注于每个对等节点的联邦支出)
  • ruflo-federation 插件 — 生产端(第 3 阶段合并后)

评论

支持 Markdown