SuperAPI AI 工具集

compaction-detector

智能体与模型

查看项目

更新于 10-16 09:47

技能介绍

用途:在 Claude Code 会话 JSONL 日志中检测上下文压缩事件。Claude Code 会话日志为 JSONL 文件,每行是一个 JSON 对象。技能通过比较相邻轮次的 usage.input_tokens,当某一轮 input_tokens 低于上一轮 50% 时判定为一次压缩,即上下文被摘要并重置为更小窗口。

主要能力:定位会话日志文件;提取各轮 input_tokens;检测 token 骤降事件并输出压缩边界行号;提取每次压缩的时间戳;计算 tokens_before、tokens_after、delta 与 retention_pct;最终生成 JSON 报告,包含 session_log、analyzed_at、total_lines、compaction_count 和 events 数组。

使用方式:先定位日志,如 ls -lt ~/.claude/projects//logs/.jsonl | head -5;用 grep 与 awk 或 jq 提取 token 计数;用 awk 检测降幅超过 50% 的行;用 sed 或 jq 提取时间戳;用 paste 与 awk 生成 TSV;用 python3 脚本输出结构化 JSON 报告。也可调用 Skill({ skill: 'compaction-detector' }) 并传入日志路径,或用 node .claude/skills/compaction-detector/scripts/main.cjs --log "$SESSION_LOG" | jq 汇总。

适用场景:分析 Claude Code 会话中上下文被压缩的时机与幅度,评估 token 消耗与会话上下文管理。

限制:需要可读取的会话 JSONL 日志;默认 50% 阈值可调(30% 更敏感、70% 更保守);部分行可能缺少 timestamp,需回退为行号标识;大于 10MB 的文件建议流式逐行处理;awk 管道适合快速检查,python3 脚本对非法 JSON 或多字节字符更可靠。具体收费与平台要求暂未提供。