用途:从指定路径的单个会话文件中提取过滤后的内容,供 session-research 类智能体在选定会话后调用。它属于面向智能体的底层原语,目的是避免智能体将数兆字节的会话文件直接读入上下文;scripts/ 下的脚本负责理解 JSONL 结构并输出可读的叙述式摘要。
参数:空格分隔的位置参数。<file> 为会话 JSONL 文件的绝对路径(通常是 ce-session-inventory 返回的 file 值);<mode> 为 skeleton 或 errors;<limit> 可选,格式为 head:N 或 tail:N,用于限制输出行数,例如 head:200,省略则返回完整提取结果。
执行方式:骨架模式输出用户消息、助手文本和折叠后的工具调用摘要,命令为 cat <file> | python3 scripts/extract-skeleton.py;错误模式只输出错误信号,命令为 cat <file> | python3 scripts/extract-errors.py。若 limit 为 head:N,则通过 head -n N 管道处理;若为 tail:N,则通过 tail -n N 处理。限制必须在 Python 脚本之后应用,不能提前,因为 _meta 行最后输出,head 截断可能将其丢弃,这在调用方要求 head 限制时可接受。
返回内容:骨架模式每个逻辑事件为一个块,以 --- 分隔,包括用户消息(仅文本,无工具结果,去除框架包装标签)、助手文本(不含思考/推理块)、工具调用摘要(连续 3 次以上同名调用会被折叠),末尾为 _meta 行,含 lines、parse_errors、user、assistant、tool 计数。错误模式每行一个错误,以 --- 分隔:Claude Code 为 is_error: true 的工具结果;Codex 为退出码非零或 stderr 非空的 exec_command_end 事件;Cursor 始终为空,因为其智能体记录不记录工具结果。末尾 _meta 行含 lines、parse_errors、errors_found。
限制与错误处理:应原样返回 stdout,不要改写、注释或综合,综合由调用方跨多个会话完成。文件无法读取时让错误暴露给调用方;若 _meta 显示 parse_errors > 0,按原样返回输出,部分提取仍有用,由调用方决定是否扩大搜索或深入分析。