Cost Summary 是一个稳定的单次调用接口,供其他插件、脚本或仪表盘通过 shell 调用并解析成本数据。
用途
当其他插件需要获取成本状态快照时,可以调用 summary.mjs --format json 并解析输出;仪表盘或 Slackbot 可获取单行成本汇总;也可用于快速查看当前成本状况,数据来自所有成本追踪来源(cost-tracking 与 federation-spend)。
背景
ADR-0002 曾考虑将 cost_report / cost_summary 暴露为正式的 MCP 工具,但最终推迟——添加 MCP 工具需要修改 @claude-flow/cli 源码,超出插件本地工作的范围。本脚本是等价方案:相同的数据,通过 stdout JSON 契约暴露。
输出契约(JSON,稳定)
{ "exportedAt": "<ISO>", "total_cost_usd": 1546.36, "sessionCount": 1, "conversationCount": 1, "byTier": { "haiku": 0, "sonnet": 0, "opus": 1546.36, "unknown": 0 }, "byModel": { "claude-opus-4-7": { "tier": "opus", "cost_usd": 1546.36, "messages": 1597, "input_tokens": 3090, "output_tokens": 3295940, "cache_creation_input_tokens": 10659599, "cache_read_input_tokens": 732833690 } }, "topSession": { "sessionId": "1dba3b8c-...", "total_cost_usd": 1546.36, "messageCount": 1597 }, "budget": { "budget_usd": 2500.00, "setAt": "<ISO>", "spent_usd": 1546.36, "utilization": 0.6185, "level": "INFO" }, "federation": { "eventCount": 0, "peerCount": 0, "totalUsd24h": 0 } }
使用方式
Markdown(默认)
node plugins/ruflo-cost-tracker/scripts/summary.mjs
JSON,供程序化消费
node plugins/ruflo-cost-tracker/scripts/summary.mjs --format json
可选环境变量:SUMMARY_NAMESPACE=cost-tracking,SUMMARY_FED_NAMESPACE=federation-spend,SUMMARY_FORMAT=json。
适用场景
其他插件需要成本状态快照时;仪表盘或 Slackbot 获取单行成本汇总时;需要快速查看当前成本状况时。
相关引用
cost-report — 叙述性报告(按 agent / 按模型视角,使用相同数据)
cost-export — 推送到 Prometheus / webhook(本技能为拉取式,export 为推送式)
ADR-0002 §"Decision" — 明确将正式 MCP 工具注册推迟到未来的 ADR
限制
本技能为拉取式接口,不主动推送数据;正式 MCP 工具注册尚未实现,需等待未来 ADR。