← Projects

ChatGPT Download Engine

Python CLI · pip package · TypeScript engine

The project in plain English

Why it matters

For People who use AI conversations as working material

The problem

Useful research and working context can become difficult to find when it remains scattered across chat threads.

My contribution

An export pipeline downloads conversations and files, creates readable Markdown, validates links, and installs the archive after staging it.

The value

Makes AI-assisted work easier to retain, inspect, and reuse outside the original chat interface.

ChatGPT Download Engine archive workflow
ChatGPT Download Engine archive workflow
Skills demonstrated
  • Data pipelines
  • Reliability
  • Developer tooling

Scope & limits. A technical tool that requires setup and access to the user's own account. Availability depends on upstream endpoints. An archive may contain sensitive material and remains the owner's responsibility.

A desktop experience built on this work

The Omarchy ChatGPT Archive brings this archive workflow into a desktop panel with project filters, progress, search, and scheduled exports.

Explore the Omarchy plugin →

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