便利的数据导出工具,支持批量下载和格式转换,但使用频率相对低,不是开发核心需求。
uv tool install "convoviz[viz]"
将你的 ChatGPT 历史记录转换成干净、易读的 Markdown 格式(文本文件)。
完美适配存档、本地搜索,或在 Obsidian 等笔记应用中使用。
用词云和使用图表来可视化你的数据。
在 demo/ 文件夹中查看词云示例!
登录 chatgpt.com
导航到:右下角个人资料名称 → Settings → Data controls → Export
等待 OpenAI 的邮件,然后下载 .zip 文件
如果你想快速获取最近的对话或跳过官方导出的等待时间,可以使用直接导出脚本。
按照 js/HOW_TO_USE.md 中的说明将最近的数据作为 .zip 文件下载。
正常运行 Convoviz。
智能发现:如果你在 Downloads 中有 convoviz_export.zip,Convoviz 会询问是否合并。
增量且聪慧:你可以将多次运行的结果合并到同一个文件夹。Convoviz 使用基于身份的覆盖来更新现有对话,不会创建重复!
运行下面的命令之一以自动安装所需的一切。
打开终端。macOS:按 Cmd + Space,输入"Terminal",然后按 Enter。Linux:按 Ctrl + Alt + T,或在应用菜单中搜索"Terminal"。
macOS:按 Cmd + Space,输入"Terminal",然后按 Enter。
Linux:按 Ctrl + Alt + T,或在应用菜单中搜索"Terminal"。
复制并粘贴此命令:
curl -fsSL https://raw.githubusercontent.com/mohamed-chs/convoviz/main/install.sh | bash
打开 PowerShell。按 Windows 键,输入"PowerShell",然后按 Enter。
按 Windows 键,输入"PowerShell",然后按 Enter。
复制并粘贴此命令:
irm https://raw.githubusercontent.com/mohamed-chs/convoviz/main/install.ps1 | iex
如果你更喜欢直接使用 pip:
# 创建虚拟环境(保持系统 Python 整洁)
python3 -m venv .venv
# 激活虚拟环境
source .venv/bin/activate # 在 Windows 上:.venv\Scripts\activate
# 安装 convoviz 及可视化扩展
pip install "convoviz[viz]"
最简单的方式是在终端中运行此命令并按照交互提示操作:
convoviz
或者,直接提供参数以跳过提示:
convoviz --input path/to/your/export.zip --output path/to/output/folder
默认情况下会生成所有输出(Markdown、图表、词云)。使用 --outputs 来选择特定的输出:
convoviz --input export.zip --outputs markdown --outputs graphs
可用选项:markdown, graphs, wordclouds
在交互模式中,系统会提示你选择要生成的输出。
完整的选项列表:
convoviz --help
Convoviz 支持 TOML 配置文件。默认配置随包提供,可以复制到你的用户配置目录。
生成用户配置文件:
convoviz config init
默认用户配置位置:
Linux: ~/.config/convoviz/config.toml
macOS: ~/Library/Application Support/convoviz/config.toml
Windows: %APPDATA%\convoviz\config.toml
使用自定义配置路径:
convoviz --config path/to/config.toml
配置中的 Markdown 格式选项:
obsidian(用于推理内容的可折叠标注)
Markdown 渲染顺序(配置):
active(默认,当前分支)
full(所有 DAG 分支)
Markdown 时间戳可通过 conversation.markdown.show_timestamp 切换。
词云可限制只包含你的消息,设置 wordcloud.include_assistant_text = false。词云布局默认是确定性的;设置 wordcloud.random_state = "" 可禁用。
YAML 前置事项标题会被清理;原标题在改变时保存在别名中。
运行脚本后,打开你的输出文件夹(如果未更改则默认为 Documents/ChatGPT-Data)查看:
格式整洁的 Markdown 文件
可视化效果和图表
提取的 Canvas 文档(如果有的话)
用户"自定义说明"(custom_instructions.json)
如果你对这个工具的体验很好,请考虑给这个项目点个 ⭐ 星!这会激励我继续改进,也能帮助其他人发现它!
尝试 convpdf 将 markdown 文件转换为 PDF。
# 使用 npm 安装
npm -g install convpdf
# 进入输出目录(默认 ~/Documents/ChatGPT-Data/)
cd ~/Documents/ChatGPT-Data
# 运行(加上 '-j 20' 以加快转换速度)
convpdf Markdown -o PDF
💌 分享你的反馈!
我希望你觉得这个工具有用。我在不断地改进它,但需要你的帮助。
无论你是技术高手还是初学者,我都想听听你使用这个工具的经历。发现了什么奇异之处?有建议?或者只是想发送一些好感?我洗耳恭听!
对贡献感兴趣?查看贡献指南了解开发设置、代码风格以及如何提交拉取请求。
词云使用 NLTK 停用词。如果你离线且 NLTK 数据尚未安装,可以提前下载:
python -c "import nltk; nltk.download('stopwords')"
注意:安装脚本已处理这一点,所以你可以在运行它后立即离线使用。
这只是我为了方便查看 Markdown 格式的对话而编写的一个小工具。它最初是为 Obsidian(我最喜欢的笔记应用)设计的,但默认输出是标准 Markdown。
我不喜欢那些笨重且有时付费的浏览器扩展。
这也是一个很好的学习 Python 和类型标注的机会。我启用了 mypy、pyright 和 ruff 的严格模式,真是太有趣了。
在 js/ 下还有一个 JavaScript 导出流程,用于在官方 ZIP 导出之外直接从浏览器获取额外的对话数据。这是实验性功能。