Skip to main content

Build a browsable local mirror site from ChatGPT or Claude data exports

Project description

logactyl

Build a browsable, fully offline local mirror site from your ChatGPT or Claude data exports.

What it does

logactyl takes an official data export ZIP from ChatGPT or Claude and generates a static HTML site that you can open directly in any browser (no server required). The site includes:

  • Per-conversation pages with rendered messages, code blocks, TeX math, and attachments
  • Full-text offline search across all conversations
  • Project/folder grouping and an interactive organizer
  • Optional AES-256-GCM encryption at rest

Installation

pip install logactyl

With optional dependencies for rich markdown rendering and encryption:

pip install "logactyl[all]"

Or pick what you need:

pip install "logactyl[markdown]"   # markdown-it-py for CommonMark rendering
pip install "logactyl[encrypt]"    # cryptography for AES-256-GCM encryption

Known issues

There is currently no way to derive project names via inference using the official export archives. When either OpenAI or Anthropic add some mapping for projects in their exports it will be added to this tool.

Quick start

ChatGPT export:

logactyl --chatgpt-zip ~/Downloads/chatgpt-export.zip -o ~/chatgpt-mirror

Claude export:

logactyl --claude-zip ~/Downloads/claude-export.zip -o ~/claude-mirror

Both together (merged site):

logactyl \
  --chatgpt-zip ~/Downloads/chatgpt-export.zip \
  --claude-zip ~/Downloads/claude-export.zip \
  -o ~/chat-mirror

Then open index.html in the output directory.

Appending new exports

Re-run with --append to merge new exports into an existing site without losing organizer edits:

logactyl --chatgpt-zip newer-export.zip -o ~/chatgpt-mirror --append

Encryption

Encrypt the generated site at rest with a passphrase:

logactyl --chatgpt-zip export.zip -o ~/private-mirror --encrypt

Requires pip install "logactyl[encrypt]".

Decrypt or re-key an existing encrypted site:

logactyl --decrypt ~/private-mirror
logactyl --rekey ~/private-mirror

Options

Flag Description
--chatgpt-zip PATH Path to a ChatGPT data export ZIP
--claude-zip PATH Path to a Claude data export ZIP
-o, --output DIR Output directory (default: derived from input)
--append Merge into an existing site instead of overwriting
--encrypt Encrypt the output site with a passphrase
--decrypt DIR Decrypt an existing encrypted site
--rekey DIR Change the passphrase on an encrypted site
--render-markdown Enable CommonMark rendering (needs markdown-it-py)
--no-render-markdown Disable markdown rendering (raw text)
--zip Produce a .zip of the output site
--add-search DIR Add search to an existing site that was built without it

Run logactyl --help for the full list.

Running as a module

python -m logactyl --chatgpt-zip export.zip -o ~/mirror

Requirements

  • Python 3.9+
  • No required third-party dependencies (stdlib only)
  • Optional: markdown-it-py for rich markdown rendering
  • Optional: cryptography for site encryption

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

logactyl-0.1.3.tar.gz (121.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

logactyl-0.1.3-py3-none-any.whl (111.3 kB view details)

Uploaded Python 3

File details

Details for the file logactyl-0.1.3.tar.gz.

File metadata

  • Download URL: logactyl-0.1.3.tar.gz
  • Upload date:
  • Size: 121.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for logactyl-0.1.3.tar.gz
Algorithm Hash digest
SHA256 9f071e2749ff47056447c85925024e2b095d0ef1d10a5ce3417edefbe69c9602
MD5 f368797db1a5f04a53e70fc2c9a68ebd
BLAKE2b-256 e00c3ce4a1fc157648ed2447a3858aa355b42acddbd2ea88b186dbb47c840939

See more details on using hashes here.

File details

Details for the file logactyl-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: logactyl-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 111.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for logactyl-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 766792e21d2faeb5992f7502918a17f571d531c309ecdf7e507aad116bd8906e
MD5 4bbe95619d70b1da3d1b6488bcd17ebb
BLAKE2b-256 cb5e8070ef3fc551c7ac70a9707e54f0b44fdc90adc5af9e41a787119232b867

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page