mcpField
C
cost-track

cost-track

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

关于 cost-track

cost-track 是一个 Claude Code 技能,可读取会话用量、按模型计算美元成本,并将结构化记录写入 AgentDB,供成本报告等流程使用。

主要功能

  1. 01读取 Claude Code 会话 JSONL
  2. 02按模型计算成本
  3. 03将记录写入 AgentDB
  4. 04支持指定会话和路径
  5. 05支持试运行与 JSON 输出

适用场景

  1. 01在一段工作后记录支出
  2. 02保存会话结束时的统计
  3. 03在长会话中定期追踪成本

MCP 相关

它使用 MCP 记忆搜索工具核验 cost-tracking 命名空间中的记录;本身不提供 MCP 工具。

安装

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

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

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

详细介绍

Cost Track

读取当前 Claude Code 会话的 jsonl 文件(~/.claude/projects/<encoded-cwd>/<session>.jsonl),按模型汇总助手消息的 usage,使用 REFERENCE.md 中的定价计算 USD 成本,并将结构化记录写入 cost-tracking AgentDB 命名空间。这是生产者,为 cost-report 和 cost-optimize 提供可用的真实数据。

适用场景

  • 完成一段有意义的工作后,记录开销以供报告使用。
  • 在会话结束时保存最终汇总。
  • 在长会话期间定期执行(适合 cron——参见 /loop 30m)。

步骤

  1. 从项目根目录运行跟踪器:

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

    脚本会根据当前工作目录自动发现会话 jsonl 文件。若要指定会话:TRACK_SESSION=/path/to/session.jsonl。若要试运行(不写入记忆):TRACK_DRY_RUN=1。

  2. 检查 Markdown 摘要——总成本、按模型和层级划分的明细,以及已持久化的记忆键。

  3. 验证持久化结果——mcp__plugin_ruflo-core_ruflo__memory_search --query "session-" --namespace cost-tracking 应列出新记录。cost-report 的步骤 1 会从此命名空间读取数据。

记录结构(位于 cost-tracking 命名空间)

键:session-<sessionId>。值(JSON):

{
  "sessionId": "1dba3b8c-...",
  "cwd": "/Users/cohen/Projects/ruflo",
  "startedAt": "2026-05-04T...",
  "endedAt": "2026-05-05T...",
  "messageCount": 234,
  "byModel": {
    "claude-opus-4-7": {
      "tier": "opus",
      "input_tokens": 12345,
      "output_tokens": 6789,
      "cache_creation_input_tokens": 800000,
      "cache_read_input_tokens": 2000000,
      "messages": 50,
      "cost_usd": 1.23
    }
  },
  "byTier": { "haiku": 0.0, "sonnet": 0.45, "opus": 1.23, "unknown": 0 },
  "total_cost_usd": 1.68,
  "capturedAt": "2026-05-05T..."
}

定价的唯一可信来源

脚本中的 PRICING 常量与 REFERENCE.md 的“Model pricing (USD per 1M tokens)”保持一致。价格变动时,请同时更新两者。缓存写入令牌按 cache_write 费率计费;缓存读取令牌按 cache_read 费率计费(参见 Anthropic 计费文档)。

环境变量覆盖项

Env默认值用途
TRACK_CWDprocess.cwd()指定要扫描会话的项目
TRACK_SESSION最新的 jsonl 文件指定会话文件
TRACK_OUT未设置同时将 JSON 摘要写入此路径
TRACK_DRY_RUN=1未设置跳过 memory store 调用
TRACK_QUIET=1未设置禁止输出 Markdown
TRACK_NAMESPACEcost-tracking覆盖目标命名空间

交叉引用

  • cost-report(消费者)——读取此技能生成的记录
  • REFERENCE.md“Cost attribution formula”——脚本实现的计算方法
  • cost-budget-check(消费者;将在 P2 推出)——读取总额以评估告警

评论

支持 Markdown