Skip to main content

ChatArch: AI Conversation Archiver

ChatArch is a utility designed to migrate local AI chat histories to AWS S3, freeing up local disk space while preserving conversations in a human-readable, summarized, and searchable format.

Features

  • Multi-Platform Support: Automatically discovers chats from Gemini CLI, Roo Code (Cline), and Aider.
  • Smart Cleanup: Identifies and deletes "commit-only" chats (short messages used solely for git commits) before archiving.
  • Markdown Conversion: Converts complex JSON chat schemas into clean, readable Markdown files within the archive.
  • AI-Powered Summarization: Uses Gemini 2.5 Flash to generate 1-2 sentence summaries for every archived conversation.
  • Safe Archival:
    • Retention Policy: Only archives chats older than 20 days.
    • Verification: Local files are only deleted after a successful S3 upload.
    • Rate Limit Handling: Includes configurable delays and exponential backoff for API calls.
  • Space Reporting: Reports the total disk space reclaimed at the end of each run.

Prerequisites

  • Python & uv: Managed via uv.
  • AWS CLI: Must be configured with credentials that have s3:PutObject permissions.
  • 1Password CLI (op): Used to securely retrieve the Gemini API key.
  • Google Gemini API Key: Stored in 1Password at op://Private/GEMINI_API_KEY/credential.

Usage

Commands are managed via the Makefile for convenience.

1. Dry Run (Recommended)

Verify which files will be deleted or archived without actually performing any actions:

make dry-run

2. Actual Archive

Perform the cleanup and migration:

make archive

3. Using Limits

To test the full process on a small sample (e.g., 5 files):

make archive ARGS="--limit 5"

4. Maintenance

Run linting and auto-fixes:

make lint

Configuration

Settings like S3 bucket names, local search paths, and API delays are managed in config.yaml.

Logging

All detailed operations and API responses are logged to .logs/archiver.log, rotated daily and kept for 180 days. Progress is displayed in the terminal via a status bar.

Development

The package publishes three equivalent commands: chatarch, and its short aliases cax and maa (pip install multi-agent-archiver / uv tool install multi-agent-archiver).

Inside this repo, bin/ (added to PATH via mise.toml's [env] when you cd in, since this repo's dev environment is managed with mise) shadows the globally installed commands with a shim that runs this repo's live source via uv run. Outside the repo, chatarch/cax/maa resolve back to whatever version is installed globally. Run mise trust once after cloning to enable it.

Download files

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

Source Distribution

multi_agent_archiver-0.1.5.tar.gz (50.4 kB view details)

Uploaded Source

Built Distribution

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

multi_agent_archiver-0.1.5-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file multi_agent_archiver-0.1.5.tar.gz.

File metadata

  • Download URL: multi_agent_archiver-0.1.5.tar.gz
  • Upload date:
  • Size: 50.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for multi_agent_archiver-0.1.5.tar.gz
Algorithm Hash digest
SHA256 cc474ffd3f433534dd7321b690248cdeda64a5670c7ed495570c0ecc38f5e5ea
MD5 cb1f55c3096be30931156d84bcd4f519
BLAKE2b-256 31026002d51575c6d6a66545c0f3020a278c5ed309c5484709f30dfb3b24c8dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for multi_agent_archiver-0.1.5.tar.gz:

Publisher: publish.yml on InTEGr8or/multi-agent-archiver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file multi_agent_archiver-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for multi_agent_archiver-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 7b76f247876ea78ed556e4b218f5e0289b97b043b7704cc1b1538b58fb9e4854
MD5 a86789109b1cb05d9ce36a74a635d6c5
BLAKE2b-256 720f382362f4f691282ae619c1986cf793fdf7a201926d0bc872296d2c0cb7b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for multi_agent_archiver-0.1.5-py3-none-any.whl:

Publisher: publish.yml on InTEGr8or/multi-agent-archiver

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.5 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page