SuperAPI AI 工具集

cost-session

通用与其它

查看项目

更新于 10-15 22:11

技能介绍

用途:cost-session 回答“这一次会话里哪些消息最贵”。它是 cost-anomaly 的下钻配套工具:当 cost-anomaly 把某会话标记为超过 3.5σ 的异常值后,用本技能查看具体是哪些消息推高了成本。相关技能分工为:cost-conversation 看哪些会话最贵,cost-anomaly 看哪些会话是异常值,cost-session 看某会话内哪些消息贵。

主要能力:实现位于 scripts/session.mjs。它会解析会话 jsonl 中所有带 usage 块的 assistant 消息,用共享的 PRICING(_prices.mjs)逐条计算成本,按 cost_usd 降序排列并输出前 N 条(默认 20),同时计算消息成本的 p50/p90/p99 作为会话内百分位参照;若最高消息超过 p99 的 2 倍,会标记为会话内异常值。输出表格包含模型、输入、输出、缓存写入(Cache W)、缓存读取(Cache R)与成本等列。

使用方式:解析会话 jsonl 可用 --session-id <id>(扫描 ~/.claude/projects/*/)或 --latest(默认,取最近修改的 jsonl)。下钻流程示例:先运行 cost anomaly --alert-on-outliers 1 || cost anomaly 找出异常会话 id,再运行 cost session --session-id <flagged-id> --top 10,最后按最高消息报告的时间戳打开对应 jsonl 检查提示词与工具调用。可用 --since 过滤时间范围,例如 cost session --since 2026-06-16T13:00:00Z --top 5,仅统计时间戳不早于该值的消息。

适用场景:排查单次会话内的成本热点,尤其是缓存写入导致的隐性成本。资料给出的真实示例中,某条 opus-4-7 消息输入 6、输出 569、缓存写入 881898、缓存读取 0,成本 $16.58;若只看输出 token 会误判约 380 倍,实际成本来自 1 小时临时缓存写入:881,898 × $18.75/1M = $16.54。百分位输出可帮助判断最高消息是 2 倍还是 380 倍异常。

限制:无已计费 assistant 消息时输出“No costed assistant messages”并以退出码 0 结束;--session-id 在所有项目 jsonl 中找不到时以退出码 2 报错;--top 必须为正整数,否则退出码 2。其他平台、价格或配置细节资料未提供。