面向学习复盘的、本地优先的 ChatGPT 对话提取与归档工具。
ChatGPTExporter 是一个 Chrome / Chromium 扩展。它可以从你已经登录的 chatgpt.com 页面读取对话,把选中的学习记录整理成 Markdown,并保存到你指定的本地文件夹。
它既能做轻量的“每日增量提取”,也保留了可恢复、可验证的“完整归档”。账号凭据始终留在 ChatGPT 页面中;扩展没有后端服务,也不收集遥测数据。
本项目是独立社区项目,与 OpenAI 没有隶属或官方合作关系。ChatGPT 的网页接口可能变化,升级后建议先运行连接诊断。
这是日常使用的主要入口,适合每天学习结束后使用。
- 默认列出最近24小时有更新的普通对话、归档对话和项目对话,也能切换查看更早尚未提取的内容。
- 先只读取对话目录;只有勾选后,才读取对应对话正文,减少不必要的等待。
- 每个选中对话默认只提取最近24小时内、且位于上次确认位置之后的用户消息和 ChatGPT 最终回答;第一次提取长对话也不会自动包含全部历史。
- 只有主动选择“重新包含历史内容”时,才提取所选对话的完整当前分支。
- 支持预览、复制、下载 Markdown,以及直接保存到固定的本地复盘目录。
- 只有点击“确认本次提取完成”后才更新进度;误操作时可以重新包含历史内容。
- 图片不打包进增量 Markdown,改为保留清晰占位说明,避免图片下载拖慢每日流程。
插件生成的是忠实的对话原文,不会擅自替你概括。你可以再把 Markdown 交给 Codex、ChatGPT 或自己的复盘流程,生成“今天学了什么、错误思路、薄弱点、闭卷检测题、明日计划”等内容。
推荐的本地目录结构:
复盘目录/
├─ 2026-08/
│ └─ 2026-08-31/
│ ├─ 00_今日对话原文.md
│ └─ 01_每日复盘.md
├─ 周复盘/
│ └─ 2026-08-25至2026-08-31/
│ └─ 00_每周复盘材料.md
└─ 00_工具状态/
├─ 每日增量进度.json
└─ 最近诊断.txt
其中 00_今日对话原文.md 由扩展生成;01_每日复盘.md 是你检查、提炼后保存的复盘结果。
- 从本地复盘目录中读取最近 7 天的
01_每日复盘.md。 - 显示哪些日期已经找到、哪些日期缺少复盘,避免漏天。
- 合并成一份每周复盘材料,并附带可继续交给 AI 整理的提示词。
- 支持预览、复制、下载和保存到本地
周复盘文件夹。
完整归档与每日复盘不是同一个功能。它更像“账号资料备份”,适合偶尔运行,而不是每天运行。
它可以盘点并保存当前账号有权限访问的:
- 普通、已归档、项目和共享对话;
- 所选工作区的独立历史;
- 对话完整节点图、分支和原始数据;
- 记忆、自定义指令、设置及工作区元数据;
- 在 ChatGPT 允许下载时,对话引用的上传文件、生成图片、音视频和项目文件。
归档支持暂停、继续、重试和本地重新验证。远端后来消失的对话不会直接从旧归档中删除,而会被标记为缺失。最终结果会区分“完整”“对话完整但附件不完整”和“未完成”。
如果你的目标只是每天选几段学习对话做复盘,请使用“每日增量提取”;只有需要备份整个账号历史时,才使用“完整归档”。
诊断页会分别检查:
- 是否找到已登录的 ChatGPT 标签页;
- 扩展中继、页面桥接和登录会话是否正常;
- 工作区、对话列表、对话正文和项目接口是否可用;
- 所选本地目录是否仍有写入权限;
- 一次安全的样本读取是否成功。
诊断结果可以复制或保存,便于区分“标签页没找到”“页面通信失败”“登录失效”“接口失败”和“本地目录权限丢失”。
- 没有后台服务器、账号上传或遥测统计。
- 登录凭据和请求认证保留在正常的
chatgpt.com页面环境中。 - 浏览器缓存只保存对话 ID、标题、创建时间和更新时间,不保存完整对话正文。
- 增量进度只记录必要的 ID、时间和本地状态,不记录完整聊天内容。
- 对话内容只会写入你主动选择的本地目录,或由你手动复制、下载。
更完整的设计说明见 隐私模型。
需要 Node.js 20 或更高版本,以及支持 Manifest V3 和 File System Access API 的 Chrome / Chromium 浏览器。
先克隆你自己的 fork:
git clone https://github.com/<你的用户名>/ChatGPTExporter.git
cd ChatGPTExporter
npm ci
npm run check
npm run build然后:
- 打开
chrome://extensions。 - 开启右上角“开发者模式”。
- 点击“加载已解压的扩展程序”。
- 选择项目中的
dist/extension目录。 - 保持一个已经登录的
https://chatgpt.com/页面打开,再点击扩展图标进入首页。
每次重新构建后,需要回到 chrome://extensions 点击扩展的“重新加载”,并刷新 ChatGPT 页面。
- 打开已登录的 ChatGPT 页面。
- 进入扩展首页,选择“每日增量提取”。
- 点击“查找 ChatGPT 标签页”,选择要使用的工作区。
- 选择本地复盘目录。
- 勾选今天需要复盘的对话,再生成 Markdown 预览。
- 检查内容,保存
00_今日对话原文.md。 - 确认无误后,点击“确认本次提取完成”。
- 将原文 Markdown 交给你的复盘工具,完成后保存为
01_每日复盘.md。
npm test
npm run typecheck
npm run privacy:check
npm run build端到端测试还需要本机提供 OpenSSL:
npm run test:e2e项目没有运行时 npm 依赖;Playwright、Vitest、TypeScript 和 esbuild 仅用于开发。贡献代码时请使用合成测试数据,并通过隐私扫描。详见 CONTRIBUTING.md。
- 这是源码安装版本,尚未发布到 Chrome Web Store。
- 它依赖 ChatGPT 的非公开网页接口;ChatGPT 页面改版后可能需要兼容性更新。
- 它用于导出和整理,不提供把归档重新导入 ChatGPT 的功能。
- 已删除、无权限或服务端未返回的内容无法导出。
- 每日增量模式不下载图片;需要保存附件时请使用完整归档。
- 不建议同时运行多个导出任务访问同一个账号。
遇到问题可先阅读 故障排查,再从首页运行“连接与保存诊断”。
本项目基于 siraht/ChatGPTExporter 修改和扩展,并保留原项目的 MIT 许可证与版权声明。仓库中关于 GrokExporter 及其他上游项目的借鉴范围和版本记录,见 UPSTREAM_RESEARCH.md。
ChatGPTExporter is a local-first Chromium extension for incremental ChatGPT study exports, daily and weekly Markdown review workflows, resumable full-account archives, and connection diagnostics. It has no backend or telemetry, and writes chat content only to a user-selected local directory.
