用途:把当前 AI 对话会话导出为可读的 Markdown 文件,用于导出、保存、同步或备份会话内容,并兼容不同智能体。
前提:需要 Python 3,仅使用标准库,无外部依赖。
模式一(首选)Claude Code 日志导出:在 Claude Code 内运行时,脚本读取完整 JSONL 会话日志,导出内容更完整准确,包括可能已从上下文压缩掉的消息。命令:python3 skills/session-export/session_export.py --output-dir <directory> [options]。可选参数:--output-dir(保存目录,环境变量 SESSION_EXPORT_OUTPUT_DIR,默认当前目录);--cwd(用于定位会话日志的项目工作目录,默认当前目录);--session-id(指定会话 ID,默认最近一次);--name(自定义文件名,不含 .md,AI 应总结会话主题作为名称);--summarize(导出后生成摘要);--no-subagents(排除子智能体会话);--max-tool-output(导出中每个工具输出最大字符数,默认 5000)。
模式二 AI 回退导出:当脚本以退出码 2(未找到 Claude Code 日志)退出时,AI 应回退为直接从当前上下文写入会话:在指定目录创建同格式 Markdown;含 YAML frontmatter(session_id、project、exported_at、message_count、export_mode: ai-context);每条消息以 ## User / ## Assistant 表示并附可用时间戳;文件名为 session-fallback-<YYYY-MM-DD-HHMMSS>.md;逐字写入当前对话上下文中的每条消息。注意:此前已被上下文压缩的消息在该模式下可能丢失。
摘要模式:传入 --summarize 时,Claude Code 模式会在导出原始对话后读取导出文件并生成简洁摘要,保存为同目录下的 *-summary.md;回退模式同样在写完原始对话后生成摘要文件。摘要应包含:讨论的关键主题、做出的决定、执行的代码变更、未解决问题或后续事项。
输出示例:成功(退出码 0)时打印导出路径、会话 ID、消息数、子智能体数;需要回退(退出码 2)时提示未找到 Claude Code 日志目录(~/.claude/projects/)并给出 FALLBACK_MODE 提示。
限制:仅在无法访问 Claude Code 日志时回退,回退模式可能丢失已被压缩的上下文消息;其他平台或收费信息资料未提供。