| name | export-chat-session |
| description | 将本地 ~/.codex/sessions JSONL 日志中的 Codex Desktop 会话导出为可复用 JSON 文件和独立自包含 HTML 查看器。用于用户要求导出、归档、保存、渲染或查看 Codex 聊天、会话、对话时,尤其适用于用户提供 Codex session id 的场景。 |
导出聊天会话
工作流程
- 如果用户没有提供完整 session id,先询问。提示用户:“你可以在左侧边栏右键点击对应会话,然后复制 session id。”
- 使用 session id 运行
scripts/export_chat_session.py。脚本会递归搜索 ~/.codex/sessions/,查找文件名以 <session-id>.jsonl 结尾的 JSONL 文件。
- 默认将两个文件导出到用户的 Downloads 目录:
codex-chat-<session-id>.json
codex-chat-<session-id>.html
- 把输出路径告知用户。如果有消息因属于非对话元数据而被跳过,也要说明。
脚本
使用:
python3 /Users/zweizhao/.codex/skills/export-chat-session/scripts/export_chat_session.py --session-id <session-id>
可选参数:
--output-dir <dir>
--include-context
--include-aborted
--after-text <text>
--before-text <text>
数据规则
使用 response_item 消息作为标准来源:
type == "response_item"
payload.type == "message"
payload.role in ["user", "assistant"]
默认忽略重复记录或非用户可见记录:
event_msg
reasoning
turn_context
session_meta as message content
web_search_call
token_count
task_started
task_complete
默认也过滤自动加载的 workspace 指令消息,包括以 # AGENTS.md instructions for ... 开头并包含 <INSTRUCTIONS> 块的消息。只有当用户明确要求保留这些内部上下文消息时,才使用 --include-context。
独立 HTML 必须内嵌完整导出 JSON 和本地随包提供的 Markdown 渲染器。查看时不能依赖相邻 JSON 文件或远程 CDN。