← Projects

ChatGPT Download Engine

Python CLI · pip package · TypeScript engine

Download every
ChatGPT chat. Locally.

A private JSON + Markdown archive of your conversations — citations, timestamps, images, attachments. One command.

$npm install air-cde-runtime
Python 3.9+Node 20ProprietaryNo servers
zsh
# verify, then archive
$ chatgpt-download-engine doctor
config · token · paths · engine
$ chatgpt-download-engine export incremental
json 128 · md 129 · files 46
installed atomically
0.15s
100 chats → Markdown
8k
messages / run
0
dependencies
13
tests passing
3
OS supported

Diagrams

flowchart LR
    subgraph Python["Python: src/chatgpt_download_engine"]
        CLI2["cli.py"]
        Config2["config.py"]
        Pipeline2["pipeline.py"]
        Markdown2["markdown.py"]
        Validation2["validation.py"]
    end
    subgraph Engine["TypeScript engine"]
        EngineSrc["src/"]
        EngineDist["dist/index.cjs"]
    end
    CLI2 --> Config2 --> Pipeline2
    Pipeline2 --> EngineDist
    EngineSrc --> EngineDist
    Pipeline2 --> Markdown2 --> Validation2
Source modules and the two runtimes.
01config02doctor03stage04engine05download06normalize07markdown08validate09install atomically

Key facts

Platform

Cross-platform

Windows · macOS · Linux

Stack

Two runtimes

Python 3.9+ · Node 20

CLI

Three commands

doctor · export · validate

Output

Portable archive

JSON · Markdown · files

Privacy

Local-only

Tokens, config, exports git-ignored. Secrets redacted from logs.

Safety

Atomic & validated

Staged, validated, swapped in one transaction. Rolls back on failure.

Benchmark offline · reproducible

0.600.450.300.150.000.0260.0660.1330.2510.5712550100200400conversations rendered → seconds

Local JSON→Markdown render, best of 5, 40 turns each. ~674–980 conv/s. Network excluded. Reproduce: python3 scripts/benchmark.py