convoviz

GitHub
847 52 非常简单 1 次阅读 1周前MIT语言模型插件
AI 解读 由 AI 自动生成,仅供参考

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
GPU

未说明

内存

未说明

依赖
notes推荐使用 'uv' 工具一键安装,或通过 pip 安装 'convoviz[viz]' 以包含可视化功能。离线环境下需预先下载 NLTK 的 stopwords 数据。主要功能是将 ChatGPT 导出的 ZIP 文件转换为 Markdown 及生成词云和图表,不涉及大型 AI 模型推理,因此无特殊 GPU 或大内存需求。
python未说明 (需支持 uv 或 pip 安装)
nltk
convoviz hero image

快速开始

Convoviz

uv tool install "convoviz[viz]"

将您的 ChatGPT 历史记录转换为整洁、易读的 Markdown(文本文件)。

非常适合归档、本地搜索,或与 Obsidian 等笔记应用一起使用。

使用词云和使用情况图表可视化您的数据。

PyPI 版本 许可证 下载量 CI 状态


功能

Markdown 导出 干净、格式良好的 Markdown,可选 YAML 头部
内联图片 媒体附件直接渲染在您的 Markdown 文件中
引用 网络搜索结果和来源链接被准确保留
词云 您最常用词汇和短语的可视化分解
使用情况图表 展示您对话模式的条形图和图表
Canvas 支持 OpenAI 的“Canvas”文档被提取为独立文件(.py.html 等)
自定义指令 用户/模型系统消息导出到 custom_instructions.json

请参阅 demo/ 文件夹中的词云示例!


使用方法

第一步:导出您的 ChatGPT 数据

  1. 登录 chatgpt.com
  2. 导航至:个人资料名称(左下角)→ 设置数据控制导出
  3. 点击 确认导出
  4. 等待 OpenAI 发来的邮件,然后下载 .zip 文件
替代方案:使用直接导出脚本

如果您想快速获取最近的对话内容,或绕过官方导出的等待时间,可以使用直接导出脚本。

  1. 按照 js/HOW_TO_USE.md 中的说明,将您的近期数据下载为 .zip 文件。
  2. 正常运行 Convoviz。
  3. 智能发现: 如果您的 Downloads 文件夹中有一个 convoviz_export.zip,Convoviz 会提示您将其合并。
  4. 叠加且智能: 您可以将多次运行的结果合并到同一个文件夹中。Convoviz 会基于身份覆盖现有聊天记录,而不会产生重复!

第二步:安装 Convoviz

快速安装

运行以下命令之一,即可自动安装您所需的一切。

🍎 macOS / 🐧 Linux

  1. 打开 终端
    • macOS:按 Cmd + Space,输入“Terminal”,然后按回车。
    • Linux:按 Ctrl + Alt + T,或在应用菜单中搜索“Terminal”。
  2. 复制并粘贴以下命令:
curl -fsSL https://raw.githubusercontent.com/mohamed-chs/convoviz/main/install.sh | bash

🪟 Windows

  1. 打开 PowerShell
    • 按下 Windows 键,输入“PowerShell”,然后按回车。
  2. 复制并粘贴以下命令:
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

可用选项:markdowngraphswordclouds

在交互模式下,系统会提示您选择要生成的输出。

其他实用标志

标志 描述
--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

默认用户配置路径:

  1. Linux:~/.config/convoviz/config.toml
  2. macOS:~/Library/Application Support/convoviz/config.toml
  3. Windows:%APPDATA%\convoviz\config.toml

使用自定义配置路径:

convoviz --config path/to/config.toml

配置中的 Markdown 风格选项:

  1. standard(默认)
  2. obsidian(用于推理内容的可折叠注释框)

Markdown 渲染顺序(配置):

  1. active(默认,当前分支)
  2. 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/29
v0.7.12026/03/05
v0.7.02026/02/23
v0.6.22026/02/14
v0.6.12026/02/12
v0.6.02026/02/07
v0.5.52026/02/06
v0.5.42026/02/06
v0.5.32026/02/06
v0.5.22026/02/06
v0.5.12026/02/05
v0.5.02026/02/04
v0.4.82026/02/03
v0.4.72026/02/03
v0.4.62026/02/01
v0.4.52026/02/01
v0.4.42026/01/31
v0.4.32026/01/30
v0.4.22026/01/30
v0.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 真正成长为懂上

149.5k|★★☆☆☆|今天
开发框架Agent语言模型

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|今天
插件Agent图像

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 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|4天前
插件开发框架

LLMs-from-scratch

LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备

90.1k|★★★☆☆|4天前
语言模型图像Agent

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 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|5天前
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85.1k|★★☆☆☆|今天
图像数据工具视频