ai-data-extractor Skill 技能
Claude Code / Cursor / Windsurf / Aider 等 10 款 AI 编程工具的本地聊天记
技能简介
ai-data-extractor 是一款本地化、零依赖的 Python 命令行工具,可以一次性把 Claude Code、Codex CLI、Cursor、Windsurf、Trae、Continue、Gemini CLI、OpenCode、Cline/Roo Code、Aider 等十款主流 AI 编程助手的本地聊天记录全部抽取出来,统一转换成标准 JSONL 格式,方便做后续微调、个人数据分析、长期备份。它不依赖任何第三方 API Key,不上传数据,全部在用户本机完成,是个人 AI 编程历史的「终极归档器」。仅依赖 Python 3.9+ 标准库,跨 macOS、Linux、Windows 自动识别数据目录。
核心能力
- 十源同时抽取:覆盖 Claude Code、Codex CLI、Cursor、Windsurf、Trae、Continue、Gemini CLI、OpenCode、Cline/Roo Code、Aider 等十款主流 AI 编程工具,无论用户混用哪几个工具都能集中归档。
- 零外部依赖:仅使用 Python 标准库,无需 pip install 任何包,无任何隐私风险;启动即用,避免引入额外供应链攻击面。
- 统一 JSONL 输出:将各家工具五花八门的存储格式(JSONL / SQLite / Markdown / JSON 树等)归一化成相同 schema,便于后续用 HuggingFace datasets 等工具加载做训练。
- 只读不写数据库:通过 SQLite read-only 连接读取数据,正在运行的编辑器或 CLI 不会因为本工具而被阻塞,安全无副作用。
- 跨平台目录自动发现:自动扫描 macOS(~/Library/Application Support)、Linux(~/.config、~/.local/share)、Windows(%APPDATA%、%LOCALAPPDATA%)三系统的约定路径,无需手动指定。
- 部分失败可继续:单个文件损坏或被锁时不会导致整个 run 中断,会跳过坏文件继续抽取其他源,最大限度保留可用数据。
- 可选合并输出:使用 --merge 参数后把所有源的对话合并成一个 all_conversations.jsonl 文件,方便一次性喂给训练 pipeline。
- 良好的可扩展接口:每个 extractor 都遵循相同的
find_installations + extract两函数接口,新增一款工具仅需约 50 行代码加进 REGISTRY。
安装配置
- 环境要求:Python 3.9 及以上(推荐 3.10+),无需任何第三方依赖;克隆仓库即可使用:
git clone https://github.com/isoshimodo/ai-data-extractor && cd ai-data-extractor。 - 首次运行预览:执行
python extract.py --list即可看到当前机器上检测到哪些源、每个源能找到多少条对话,方便先确认无需抽取就能跑。 - 交互式抽取:直接执行
python extract.py进入编号菜单,按提示选择要抽取的源即可;一键全抽可加--all参数。
使用步骤
- 运行
python extract.py --list预览本地各源的可抽取量。 - 选择要抽取的源(支持
--all全抽或--sources cursor,claude_code,aider指定逗号分隔子集)。 - 工具自动识别操作系统并定位各源数据目录,扫描并读取原始存储(JSONL / SQLite / JSON)。
- 数据按统一 schema 归一化,按源写入
extracted_data/_conversations_.jsonl。 - 如需合并输出,加
--merge即可额外生成all_conversations.jsonl。 - 用 HuggingFace
datasets库加载 JSONL,配合 tokenizer.apply_chat_template 直接送进训练流程。 - 抽取后务必用 detect-secrets 扫描敏感信息,绝不能把 extracted_data/ 提交到公开仓库。
适用场景
- 个人 AI 编程历史归档:跨多款 AI 工具(Claude Code + Cursor + Windsurf)混用的用户希望把所有历史对话集中备份。
- 基于个人对话的微调数据准备:希望用自己过去几年的高质量 AI 编程对话对开源模型做 LoRA / 全参微调的工程师。
- 离职/换电脑前的数据迁移:避免因某个工具本地数据库被清理而丢失数年编程沉淀,一次性全量导出。
- 学术研究 / 数据集构建:研究 LLM 编程助手使用模式、构建编程行为数据集的研究者获取真实人类-AI 协作语料。
- 企业内部 AI 工具使用分析:安全合规团队希望审计员工在多款 AI 编程工具中的对话内容(注意需先获得员工授权)。
适用人群
- 跨多款 AI 编程工具的资深开发者
- 准备做个人 LoRA / SFT 训练的数据工程师
- 计算机科学研究 LLM 编程助手的学者
- 企业 IT/合规团队做 AI 编程使用审计
工作原理
工具通过 extractors/common.py 提供通用的 SQLite / JSON / JSONL 读取器和两种启发式扫描器,每款工具有独立 extractor 模块实现 find_installations(返回可扫描目录列表)和 extract(返回对话字典列表)两函数。运行时流程为:先通过 OS 检测构建可能的存储根目录 → 在每个根目录按工具的约定文件夹名搜索 → 按存储类型选用对应读取器 → 按统一 schema 归一化 → 写入带时间戳的 JSONL 文件。Cursor 提取器显式实现了已知三种 schema(workspace ItemTable、内联 composer、bubbleId composer),Windsurf 和 Trae 因 schema 未文档化改用通用启发式匹配 role+text 对,未来工具版本变化时调整 KEY_HINTS 即可。
官方链接
- GitHub 仓库:https://github.com/isoshimodo/ai-data-extractor
- 许可证:MIT License
- 支持的工具列表:Claude Code / Codex CLI / Cursor / Windsurf / Trae / Continue / Gemini CLI / OpenCode / Cline / Roo Code / Aider
团队信息
AI产品库
官方
由 AI 猎手自动发现
评论与建议
登录 后参与评论或提建议