AI Data Extractor
开源 AI 编程助手聊天记录导出工具
AI Data Extractor 是一款免费开源的本地工具,可以将 Claude Code、Cursor、Windsurf、Aider、Cline 等主流 AI 编程助手的聊天记录统一导出为标准化的 JSONL 格式,帮助开发者进行模型微调、个人数据统计或会话备份。
什么是 AI Data Extractor
AI 编程助手每天都产生大量有价值的对话数据,这些数据散落在各个工具的本地存储中,互不兼容。AI Data Extractor 解决了这个痛点——它自动扫描各工具的本地数据库,将异构存储统一转换为规范的 JSONL 行格式,让数据可以被后续分析或模型训练直接使用。
核心功能
- 多工具支持:覆盖 Claude Code、Codex CLI、Cursor、Windsurf、Trae、Continue、Gemini CLI、OpenCode、Cline/Roo Code、Aider 共 10 款主流 AI 编程工具
- 异构存储解析:自动识别 JSONL、SQLite、JSON 等多种存储格式,无需手动指定工具路径
- 跨平台兼容:自动适配 macOS、Windows、Linux 系统,自动搜索各平台标准应用数据目录
- 标准化输出:所有对话统一输出为 JSONL 格式,字段结构一致,包含角色、消息内容、代码上下文、时间戳、项目路径、模型名称等完整信息
- 只读安全:所有操作均为只读,绝不修改原始数据库或文件
- 零外部依赖:纯 Python 标准库实现,无需安装任何第三方包,Python 3.9+ 即可运行
- 支持扩展:提供统一接口规范,可轻松添加对新工具的支持
支持的数据源详情
AI Data Extractor 支持从以下工具的本地存储中提取完整对话历史:Claude Code(JSONL)、Codex CLI(rollout JSONL)、Cursor(SQLite)、Windsurf(SQLite)、Trae(SQLite+JSONL)、Continue(JSON)、Gemini CLI(JSON)、OpenCode(JSON)、Cline/Roo Code(JSON)、Aider(Markdown 格式)。
每条提取的对话记录都包含:用户消息、AI 助手回复、代码上下文(文件路径和代码片段)、代码差异/建议编辑、工具调用及其结果、时间戳、会话 ID、项目路径和模型名称。
适用场景
- 模型微调:将个人编程对话数据导出,用于训练或微调自己的代码模型
- 数据备份:在应用更新或重装前备份珍贵的编程会话记录
- 使用分析:统计个人使用 AI 编程助手的方式、频率和效果
- 项目回顾:提取特定项目中的对话历史,用于代码审查或知识传承
- 工具迁移:在不同 AI 编程工具之间迁移历史对话数据
- 合规审计:企业场景下记录和追溯开发人员的 AI 辅助编程行为
适用人群
- 使用 Claude Code、Cursor、Windsurf 等工具的专业开发者
- 想要积累个人编程数据用于模型微调的 AI 研究者
- 需要管理多工具使用数据的工程团队
- 希望备份和整理个人编程历史的独立开发者
安装与使用
# 克隆仓库
git clone https://github.com/kruzovic7/ai-data-extractor.git
cd ai-data-extractor
# 运行交互式提取(自动检测已安装的工具)
python extract.py
# 提取所有支持工具的数据
python extract.py --all
# 指定特定工具
python extract.py --sources cursor,claude_code,aider
# 仅预览(不实际提取)
python extract.py --list
# 合并所有结果为单个 JSONL 文件
python extract.py --all --merge
依赖环境:Python 3.9 或更高版本(推荐 3.10+),无需安装任何第三方包,所有功能均使用 Python 标准库实现。
工作原理
工具首先根据操作系统自动构建应用数据根目录列表,然后逐个搜索各 AI 编程工具的已知数据路径。读取存储时,对 JSONL 文件逐行解析,对 SQLite 数据库使用只读连接连接(确保运行中的程序不会被阻塞),对 JSON 树结构按格式解析。最后将所有数据规范化为统一的 JSONL 格式输出。损坏或被锁定的文件不会导致整个任务崩溃,会跳过该文件继续处理。
出品方与更新
由独立开发者维护,开源协议为 MIT,可自由使用、修改和分发。
评论与建议
登录 后参与评论或提建议