Bagger banner
lg114 lg114

Bagger

Data community

Description

AI Coding Agent Data Collector — sync Claude Code transcripts into a searchable local database with a web UI.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

bagger

**Scan local AI coding conversations. Search them. Read them.**

bagger turns your local Claude Code and Codex transcripts into a searchable, replayable archive you can read anytime — fully on your own machine.

bagger desktop app

What bagger does (MVP)

One focused loop:

  1. Scan — import local AI conversation transcripts into a local SQLite database.
  2. Search — full-text search across every conversation (SQLite FTS5 + BM25, CJK-aware).
  3. View — open any session and read the full conversation: messages, tool calls, and results.

That's the whole product. No accounts, no cloud, no telemetry.

Quick start

Requires Python 3.12 or newer.

# Install the CLI and API.
pip install -e ".[web]"

# Initialize the local database and scan existing transcripts.
bagger init
bagger scan

# Search your history, or replay a full session in the terminal.
bagger search "token expiration"
bagger replay 

The default database is `~/.bagger/bagger.db`. A normal scan imports every registered source; use `--source claude` or `--source codex` to limit one.

Optional: desktop app

Prerequisites: Python 3.12+, Node.js 22+, and Rust.

pip install -e ".[dev,web]"
cd ui
npm install
npm run tauri dev

In development, Tauri starts the Python API for you.

Data sources

Source Transcript location Format
Claude Code ~/.claude/projects/ JSONL session files
Codex $CODEX_HOME/sessions/ Rollout JSONL files

When `CODEX_HOME` is unset, bagger uses `~/.codex/sessions/`. The parser registry auto-discovers concrete parsers in `bagger/parsers/`, and database identities are scoped by `(source, id)` so sessions from different tools never collide.

CLI

Command Purpose
bagger init Create the data directory and initialize SQLite
bagger scan [--full] [--source …]