本文根据 Claude Code 官方文档《Manage sessions》《Commands》《Explore the .claude directory》整理,资料核对于 2026-11-05。配图为本站整理的示意图,不是界面截图。本站(bigolab.com)不是 Anthropic 官方网站。
适用于谁
- 想把一次 Claude Code 对话存成文字,发给同事或留档的人;
- 搜「claude code 导出上下文」,想把当前进度带到新会话的人;
- 想让脚本读取 Claude Code 结果的人。
结论先说
- 导出整段对话用
/export:官方描述是把当前对话导出成纯文本,消息和工具输出都渲染成可读文字。带文件名(如/export notes.txt)直接写入该文件;不带则弹出对话框,可以复制到剪贴板或保存成文件。 - 只要最后一条回答用
/copy:它复制最后一条助手回复,/copy 2复制倒数第二条。有代码块时会出现选择框,按w可以把选中内容写进文件而不是剪贴板,官方说这在 SSH 里很有用。 - 会话记录本身存在
~/.claude/projects/<project>/<session-id>.jsonl,是 JSON Lines 格式,官方说格式是内部的、各版本会变,不建议用脚本直接解析。 - 脚本要结构化数据,用
claude -p --output-format json或 Hook 里的transcript_path字段。 - 所谓「导出上下文」没有单独的命令。 想把进度带到新会话,官方提供的是
/compact、/resume,以及把规则写进CLAUDE.md。

图:本站根据 Claude Code 官方文档:Manage sessions 与 Commands 整理的示意图
一、/export:把整段对话存成文字
在会话里输入:
text
/export notes.txt
官方的写法是 /export [filename]。导出的是一个让人阅读的转录:对话消息和工具输出都被转成文字,而不是原始 JSON。直接输入 /export 则打开对话框,选择复制到剪贴板或保存到文件。
分享之前先看一遍内容。官方在「应用数据」一节提醒:会话记录是明文存储,没有加密,工具读到的文件内容、命令输出、粘贴的文本都会写进记录;如果某个工具读了 .env,或命令打印出凭据,这些值会出现在记录里。导出文件同理,把整段对话发给别人之前,先搜一下密钥、密码、内部地址。
二、/copy:只要某一条回答
/copy 默认复制最后一条助手回复,/copy N 复制倒数第 N 条。回复里有代码块或引用块时,会出现一个交互式选择框,让你选单个块或整条回复。选择框里按 w,把选中内容写入文件,不进剪贴板,适合在 SSH 等剪贴板不通的场景。
三、会话记录文件在哪
默认位置是 ~/.claude/projects/<project>/<session-id>.jsonl。<project> 是工作目录路径,把所有非字母数字的字符替换成 -;如果转换后的名字超过 200 个字符,会截到 200 并追加路径哈希。Windows 上 ~/.claude 对应 %USERPROFILE%\.claude。
要改存放位置,官方给的是环境变量 CLAUDE_CONFIG_DIR;要改保留期(默认 30 天),设置 settings.json 里的 cleanupPeriodDays;想完全不写会话记录,设环境变量 CLAUDE_CODE_SKIP_PROMPT_HISTORY。~/.claude 里其他文件各是什么,见 /guides/claude-code-folders-history-location。
记录里一行是一个 JSON 对象,可能是消息、工具调用或结果、Claude Code 发给模型的一次请求,或元数据。官方明确说这个格式会随版本变化,直接解析的脚本可能在任何一个版本里失效。
四、让脚本读结构化结果
官方列了四种途径,按「什么触发脚本」来选:
- 跑一次 Claude 并拿结果:
claude -p,加--output-format json或stream-json,得到结果、会话 ID、用量和花费; - 问一个已有会话一个问题:
claude -p --resume <session-id>发一条后续提示,例如让它总结。官方示例:
bash
claude -p --resume <session-id> --output-format json "summarize what we changed" | jq -r '.result'
- 响应会话事件:Hook 和状态栏命令的输入里都有
transcript_path字段,可以写一个SessionEndhook,在会话结束时归档记录,Hook 的写法见 /guides/claude-code-hooks; - 嵌入自己的应用:用 Agent SDK 逐条接收消息。
claude -p 的更多用法见 /guides/claude-code-headless-mode。

图:本站根据 Claude Code 官方文档:Manage sessions 整理的示意图
五、「导出上下文」:想把进度带到新会话怎么办
先分清两个东西:会话记录(transcript) 是磁盘上的完整历史;上下文(context) 是当前塞进模型窗口里的内容。官方没有「导出上下文」命令,下面是官方文档里与「延续进度」相关的几个做法:
/context:看当前上下文被什么占用,以颜色网格显示;/compact [instructions]:把历史替换成摘要,可以写「保留什么」,细节见 /guides/claude-code-context-compact;/clear后用/resume:/clear会保存上一个会话,之后可以用/resume回到它;恢复会话的各种入口见 /guides/claude-code-resume-history;CLAUDE.md:长期有效的约定放这里,每次会话都会读,写法见 /guides/claude-md-agents-md。
另外一个本文的建议(不是官方原话):想开新会话接着干,可以让 Claude 把「已做了什么、没做完什么、关键文件和决定」写进项目里的一个 Markdown 文件,新会话先读它。文件在你自己的项目目录里,可控、可检查。
常见问题
Q:导出的文件在哪?
带文件名时写入你指定的文件;不带文件名时,保存位置以弹出的对话框为准,官方文档没有写默认目录。
Q:能导出成 Word 或 PDF 吗?
官方只写了纯文本。其他格式需要你自己转换。
Q:桌面版、VS Code 的会话也能这样导出吗?
官方说桌面版、网页版和 VS Code 扩展各自有会话列表,本文说的是命令行版。
Q:会话记录过多久会被删?
默认 30 天,由 cleanupPeriodDays 控制。要提前删某个项目的记录,官方有 claude purge,会先列出删除计划并要求确认。
相关教程
- /guides/claude-code-slash-commands:斜杠命令速查
- /guides/ai-coding-security-secrets-permissions:密钥与提示注入的安全清单
参考资料
- Claude Code 官方文档:Manage sessions — https://code.claude.com/docs/en/sessions
- Claude Code 官方文档:Commands — https://code.claude.com/docs/en/commands
- Claude Code 官方文档:Explore the .claude directory — https://code.claude.com/docs/en/claude-directory
0 条评论
还没有评论,来抢沙发~