用途:在上下文即将自动压缩、长流程积累噪声或需要跨模型/机器/协作者交接时,把当前会话蒸馏成结构化笔记,供下一会话快速恢复。与 /checkpoint 的区别:checkpoint 用于显式停顿点,compress-session 用于被迫压缩,且额外包含“作为噪声丢弃”的行,让后续会话知道哪些内容被有意舍弃。
主要能力:输出包含活动状态(计划、分支、最后一次提交、工作树)、本会话所做决策、涉及文件、未决问题、1–3 个下一步行动、明确丢弃的探索内容,以及 0–3 条 [LEARN] 建议条目。只记录本会话确立的内容;path:line 仅用于本会话实际读取的行;无内容的段落留空而非填充。
使用方式:用户手动调用 /compress-session,可用 $ARGUMENTS 作为输出文件名的主题 slug。保存到 quality_reports/session_logs/YYYY-MM-DD_compression_<topic>.md(被 gitignore)。然后在对话中报告保存路径、各项计数及高影响 [LEARN] 建议。可选配合 PreCompact 钩子提醒(默认未接入),钩子每次会话只阻塞一次并输出提醒后放行。
适用场景:上下文接近自动压缩阈值(/context-status 报告接近阈值)、长流程噪声过多、计划进行中的交接。
限制与注意:不用于快速停止点(用 /checkpoint)、不用于叙事会话日志、不用于开始全新会话(用 /clear)。不要把它当作 /checkpoint 的常规替代;不要包含原始完整对话;不要无限扩大“丢弃”段。LEARN 提议需用户审核,不会自动并入 MEMORY.md;/promote-memory 不读取此文件。除压缩文件外不修改其他文件。