SuperAPI AI 工具集

ce-session-inventory

智能体与模型

查看项目

更新于 10-15 21:39

技能介绍

用途:发现某个仓库在 Claude Code、Codex 和 Cursor 三个平台上的会话文件,提取并在 stdout 输出会话元数据 JSONL,供调用方(智能体)研究会话历史,无需了解各平台会话存储的磁盘布局或 JSONL 结构。

主要能力:跨三平台发现会话文件并输出元数据。通用字段包括 platform(claude/codex/cursor)、file(会话 JSONL 绝对路径)、size(字节)、ts(会话开始时间,ISO 8601)、session(会话标识)。Claude Code 额外含 branch 与 last_ts,Codex 额外含 cwd、source、cli_version、model、last_ts,Cursor 无文件内时间戳与元数据,ts 取自文件 mtime,session 取自所在目录名。末尾输出一行 _meta,含 files_processed、parse_errors,可选 filtered_by_cwd 与 files_matched。

用法:位置参数以空格分隔:<repo> 仓库文件夹名(用于 Claude Code 与 Cursor 的目录匹配及 Codex 的 CWD 过滤);<days> 扫描窗口天数,更早的会话文件跳过;<platform> 可选,claude、codex 或 cursor,省略则搜索三者。可选 --keyword K1[,K2,...] 按文件全文内容做不区分大小写的子串过滤。执行管道:bash scripts/discover-sessions.sh <repo> <days> [--platform <platform>] | tr '\n' '\0' | xargs -0 python3 scripts/extract-metadata.py --cwd-filter <repo>;按关键词过滤时在 extract-metadata.py 后追加 --keyword K1[,K2,...]。

输出:需原样返回 stdout,每条会话一个 JSON 对象,最后一行 _meta,调用方直接解析 JSONL,不得改写、重排或摘要。若未发现文件,仍输出干净的 _meta(files_processed: 0),原样返回。设置 --keyword 时,每条会话行额外携带 match_count 与 keyword_matches(如 {"middleware": 4, "auth": 12}),match_count 为 0 的会话被排除。关键词扫描读取整个文件而非仅头部元数据窗口,开销高于纯元数据运行,适用于按主题对大量会话排序,不宜作为默认。

错误处理:若发现脚本报错(如主目录不可读、权限失败),让错误抛给调用方,不得用 git log、文件列表或其他来源替代,本技能的契约仅为会话元数据。若 _meta 显示 parse_errors > 0,原样返回 JSONL,由调用方决定如何处理部分数据。