convoviz
Convoviz 是一款专为 ChatGPT 用户设计的开源工具,旨在将官方导出的聊天记录压缩包(ZIP)转化为整洁、易读的 Markdown 文本文件。它有效解决了原生导出格式杂乱、图片无法直接查看以及难以进行本地归档和检索的痛点,让用户能轻松将对话历史迁移至 Obsidian 等笔记软件中永久保存。
除了基础的文本转换,Convoviz 还具备强大的多媒体与数据处理能力:它能将对话中的图片以行内形式完美渲染,准确保留网页搜索引用来源,甚至能单独提取 OpenAI "Canvas" 功能生成的代码或文档文件。更独特的是,它内置了数据可视化功能,可自动生成词云和使用频率图表,帮助用户直观分析自己的对话习惯与关注焦点。
这款工具非常适合需要长期管理知识库的研究人员、依赖本地笔记系统的知识工作者,以及希望备份和分析个人 AI 交互数据的普通用户。无论你是否具备编程背景,Convoviz 都提供了便捷的自动化安装脚本和智能合并机制,让数据整理过程变得简单高效,是构建个人 AI 记忆库的理想助手。
使用场景
资深研究员小林需要复盘过去半年与 ChatGPT 的数百次对话,以整理技术笔记并分析自己的提问习惯,从而优化后续的研究方向。
没有 convoviz 时
- 数据难以利用:导出的原始 JSON 或 HTML 文件结构混乱,无法直接导入 Obsidian 等笔记软件,手动复制粘贴数百条对话效率极低。
- 多媒体内容丢失:对话中生成的代码截图、图表在导出后往往变成独立的乱码文件或链接失效,导致上下文断裂,复习时无法还原现场。
- 缺乏宏观洞察:面对海量文本,完全凭感觉回忆高频话题,无法量化分析自己在哪些技术领域投入了最多精力,难以发现思维盲区。
- 特殊格式难提取:OpenAI Canvas 生成的独立代码文件(.py, .html)混杂在数据包中,手动筛选和重命名极易出错且耗时。
使用 convoviz 后
- 一键归档笔记:运行命令即可将压缩包批量转换为带 YAML 头部的整洁 Markdown 文件,完美适配本地知识库,支持全文检索。
- 媒体完整内嵌:自动将图片渲染为 Markdown 内联格式,保留所有引用来源和搜索引文,确保每条笔记都是自包含的完整知识单元。
- 可视化行为分析:自动生成词云和使用频率图表,直观展示“机器学习”、"Python"等高频词汇,帮助小林清晰看到自己的研究重心分布。
- 智能分离产物:自动识别并提取 Canvas 文档为独立的可执行文件,保持项目结构清晰,让代码资产即刻可用。
convoviz 将沉睡的聊天记录转化为可检索、可可视化的个人知识资产,让每一次对话都成为成长的坚实阶梯。
运行环境要求
- Linux
- macOS
- Windows
未说明
未说明

快速开始
Convoviz
uv tool install "convoviz[viz]"
将您的 ChatGPT 历史记录转换为整洁、易读的 Markdown(文本文件)。
非常适合归档、本地搜索,或与 Obsidian 等笔记应用一起使用。
使用词云和使用情况图表可视化您的数据。
功能
| Markdown 导出 | 干净、格式良好的 Markdown,可选 YAML 头部 |
| 内联图片 | 媒体附件直接渲染在您的 Markdown 文件中 |
| 引用 | 网络搜索结果和来源链接被准确保留 |
| 词云 | 您最常用词汇和短语的可视化分解 |
| 使用情况图表 | 展示您对话模式的条形图和图表 |
| Canvas 支持 | OpenAI 的“Canvas”文档被提取为独立文件(.py、.html 等) |
| 自定义指令 | 用户/模型系统消息导出到 custom_instructions.json |
请参阅
demo/文件夹中的词云示例!
使用方法
第一步:导出您的 ChatGPT 数据
- 登录 chatgpt.com
- 导航至:个人资料名称(左下角)→ 设置 → 数据控制 → 导出
- 点击 确认导出
- 等待 OpenAI 发来的邮件,然后下载
.zip文件
替代方案:使用直接导出脚本
如果您想快速获取最近的对话内容,或绕过官方导出的等待时间,可以使用直接导出脚本。
- 按照
js/HOW_TO_USE.md中的说明,将您的近期数据下载为.zip文件。 - 正常运行 Convoviz。
- 智能发现: 如果您的
Downloads文件夹中有一个convoviz_export.zip,Convoviz 会提示您将其合并。 - 叠加且智能: 您可以将多次运行的结果合并到同一个文件夹中。Convoviz 会基于身份覆盖现有聊天记录,而不会产生重复!
第二步:安装 Convoviz
快速安装
运行以下命令之一,即可自动安装您所需的一切。
🍎 macOS / 🐧 Linux
- 打开
终端。- macOS:按
Cmd + Space,输入“Terminal”,然后按回车。 - Linux:按
Ctrl + Alt + T,或在应用菜单中搜索“Terminal”。
- macOS:按
- 复制并粘贴以下命令:
curl -fsSL https://raw.githubusercontent.com/mohamed-chs/convoviz/main/install.sh | bash
🪟 Windows
- 打开
PowerShell。- 按下
Windows键,输入“PowerShell”,然后按回车。
- 按下
- 复制并粘贴以下命令:
irm https://raw.githubusercontent.com/mohamed-chs/convoviz/main/install.ps1 | iex
替代方案:使用 pip 安装
如果您更喜欢直接使用 pip:
# 创建虚拟环境(保持系统 Python 清洁)
python3 -m venv .venv
# 激活虚拟环境
source .venv/bin/activate # 在 Windows 上:.venv\Scripts\activate
# 安装带有可视化扩展的 convoviz
pip install "convoviz[viz]"
第三步:运行 Convoviz
最简单的方式是在终端中运行以下命令,并按照交互式提示操作:
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
在交互模式下,系统会提示您选择要生成的输出。
其他实用标志
| 标志 | 描述 |
|---|---|
--zip / -z |
--input 的别名(方便使用) |
--timestamp / -t |
在文件名前添加对话时间戳(例如:2024-03-21_15-30-05 - Title.md) |
--no-interactive |
强制非交互模式 |
--flat |
将所有 Markdown 文件放入一个文件夹中(而不是按日期组织) |
--config PATH |
使用特定的 TOML 配置文件(否则将使用用户配置文件,如果存在) |
--verbose / -v |
启用详细日志记录(使用 -vv 获取调试日志) |
--log-file PATH |
指定自定义日志文件位置 |
--quiet / -q |
减少控制台输出(仍会记录到文件) |
有关完整选项列表:
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 风格选项:
standard(默认)obsidian(用于推理内容的可折叠注释框)
Markdown 渲染顺序(配置):
active(默认,当前分支)full(所有 DAG 分支)
可以通过 conversation.markdown.show_timestamp 开关来控制是否显示 Markdown 时间戳。
词云可以仅限于您的消息,只需将 wordcloud.include_assistant_text = false 即可。默认情况下,词云布局是确定性的;若要禁用此功能,可将 wordcloud.random_state = ""。
YAML 前言标题会被清理;当标题发生变化时,原始标题会保留在 aliases 中。
第 4 步:检查输出
运行脚本后,前往你的输出文件夹(如果你没有更改,默认是 Documents/ChatGPT-Data),你将看到:
- 整齐格式化的 Markdown 文件
- 可视化图表和图形
- 提取的 Canvas 文档(如果有)
- 用户的“自定义指令”文件 (
custom_instructions.json)
如果你使用体验良好,请为这个项目点个 ⭐ 星 吧!这会让我更有动力,也能帮助更多人发现它!
导出为 PDF
你可以尝试使用 convpdf,将 Markdown 文件转换为 PDF。
示例:
# 使用 npm 安装
npm -g install convpdf
# 进入输出目录(默认是 ~/Documents/ChatGPT-Data/)
cd ~/Documents/ChatGPT-Data
# 运行命令(添加 `-j 20` 可加快转换速度)
convpdf Markdown -o PDF

💌 分享你的反馈!
希望这个工具对你有所帮助。我一直在努力改进它,但也需要你的支持。
无论你是技术高手,还是刚接触这类工具的新手,我都非常期待听到你使用这个工具的感受。发现了什么小问题?有哪些建议?或者只是想给我一些鼓励?我都很乐意倾听!
👉 提交一个问题
贡献
有兴趣参与贡献吗?请查看 贡献指南,了解开发环境搭建、代码风格以及如何提交 Pull Request 的方法。
注意事项
离线使用
词云功能会用到 NLTK 的停用词库。如果你处于离线状态且尚未安装 NLTK 数据包,可以提前下载:
python -c "import nltk; nltk.download('stopwords')"
注意: 安装脚本已经自动处理了这个问题,因此在运行完脚本后即可直接进入离线模式。
关于该项目
这只是我为了更美观地查看聊天记录而编写的一个小工具,以 Markdown 格式呈现。最初设计时主要考虑与 Obsidian(我常用的笔记应用)配合使用,但默认输出的是标准 Markdown 格式。
我不太喜欢那些笨重、有时还需要付费的浏览器扩展程序。同时,这也是一个很好的机会,让我进一步学习 Python 和类型注解。我让 mypy、pyright 和 ruff 都处于严格模式下运行,过程相当有趣。
直接导出功能(实验性)
在 js/ 目录下还有一个基于 JavaScript 的导出流程,可以从浏览器中直接提取额外的对话数据,无需依赖官方提供的 ZIP 文件导出功能。此功能目前仍处于实验阶段。
版本历史
v0.7.22026/03/29v0.7.12026/03/05v0.7.02026/02/23v0.6.22026/02/14v0.6.12026/02/12v0.6.02026/02/07v0.5.52026/02/06v0.5.42026/02/06v0.5.32026/02/06v0.5.22026/02/06v0.5.12026/02/05v0.5.02026/02/04v0.4.82026/02/03v0.4.72026/02/03v0.4.62026/02/01v0.4.52026/02/01v0.4.42026/01/31v0.4.32026/01/30v0.4.22026/01/30v0.4.12026/01/30常见问题
相似工具推荐
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备
NextChat
NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。