Skip to main content

ai-session-tracker

PyPI version Python versions License: MIT CI codecov

Unified full-text search across AI coding agent sessions (Devin, Claude Code, Cursor, Windsurf).

Features

  • Unified Search: Search across all your AI coding sessions from a single command
  • Fast Indexing: SQLite FTS5 full-text search for instant results
  • Multiple Agents: Supports Devin CLI, Claude Code, Cursor, and Windsurf
  • Deep Search: Search inside full conversation content, not just titles
  • Time Filtering: Filter sessions by date with natural language ("last week", "3 days ago")
  • Cross-Platform: Works on macOS, Linux, and Windows
  • Auto-Setup: Automatically integrates with detected agents on first run

Installation

pip install ai-session-tracker

From Source

git clone https://github.com/itabhijitb/ai-session-tracker.git
cd ai-session-tracker
pip install -e .

Using Install Scripts

# macOS/Linux
bash install.sh

# Windows
powershell -ExecutionPolicy Bypass -File install.ps1

The install scripts will:

  1. Install the package
  2. Update AGENTS.md files across detected agents
  3. Build the initial search index (cold start)

Usage

Basic Commands

ais search "keyword"           Search across all AI agent sessions
ais search --deep "keyword"    Deep search (full conversation content)
ais search --agent devin "key" Search only Devin sessions
ais list                       List recent sessions
ais list --agent claude-code   List only Claude Code sessions
ais status                      Show detected agents
ais index                      Rebuild the search index
ais setup                      Add ais instructions to your agents' AGENTS.md
ais preview <session-id>       Preview a session without resuming

Search Examples

# Search by keyword
ais search "pipeline debug"

# Deep search inside conversations
ais search --deep "config.yaml"

# Search specific agent
ais search --agent devin "IPS shuffle"

# Time-based filtering
ais search --since "last week" pipeline
ais search --since 2026-10-01 --before 2026-10-15 debug

# List sessions with filters
ais list --agent devin
ais list --dir ~/Projects/my-repo
ais list --since "3 days ago"

Resume Sessions

After finding a session, use the agent-specific resume command shown in the output:

  • Devin: devin -r <session-id>
  • Claude Code: Use /resume inside Claude Code
  • Cursor: Open Cursor and use session history
  • Windsurf: Open Windsurf and use session history

Supported Agents

Agent Local Storage Resume Method
Devin CLI ~/.local/share/devin/cli/sessions.db (SQLite) devin -r <session-id>
Claude Code ~/.claude/projects/<dir>/<id>.jsonl (JSONL) /resume inside Claude Code
Cursor ~/Library/Application Support/Cursor/ (Mac), %APPDATA%/Cursor (Win) Open Cursor session history
Windsurf ~/.codeium/windsurf/ (JSON/JSONL) Open Windsurf session history

Architecture

ai-session-tracker uses an adapter pattern where each agent has its own adapter that reads that agent's native local storage:

  • Adapters: One adapter per agent (devin.py, claude_code.py, cursor.py, windsurf.py)
  • Unified Index: SQLite FTS5 database aggregates sessions from all adapters
  • CLI: Built with Click, rendered tables with Rich
  • Auto-Index: First run automatically builds the search index from all detected agents

Development

Setup Development Environment

git clone https://github.com/itabhijitb/ai-session-tracker.git
cd ai-session-tracker
pip install -e ".[dev]"

Run Tests

pytest tests/ -v

Lint and Format

ruff check src/ tests/
ruff format src/ tests/

Build Package

python -m build

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Changelog

See CHANGELOG.md for a list of changes in each version.

Acknowledgments

  • Built with Click and Rich
  • Uses SQLite FTS5 for fast full-text search
  • Inspired by the need to search across multiple AI coding agents

Metadata

Release files for ai-session-tracker 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ai-session-tracker 0.1.0
File Size Uploaded Provenance
ai_session_tracker-0.1.0.tar.gz 19.4 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for ai-session-tracker 0.1.0
File Interpreter ABI Platform
ai_session_tracker-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 43.1 kB

Release files / ai_session_tracker-0.1.0.tar.gz

Download URL ai_session_tracker-0.1.0.tar.gz
Size 19.4 kB
Tags Source
SHA-256 checksum
How to use checksums
c113a066e2c6d74e4d086d6781369311067f2b1ed8e22a42fd39a8b17f260334
BLAKE2b-256 checksum
How to use checksums
b4a6d8794070135ea1b0ed855ea482a7e6dd9c967f91864766edbf354f04aa3a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

Release files / ai_session_tracker-0.1.0-py3-none-any.whl

Download URL ai_session_tracker-0.1.0-py3-none-any.whl
Size 23.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e156b9ffad8004efbc872a0f60657a33a016f2b9bc500329b2ca7fb8ffb1b2c1
BLAKE2b-256 checksum
How to use checksums
417640de9d9d3c9e337f18ad2b5443791ee60270df6d58346636a33f260455a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

Security for ai-session-tracker 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for ai_session_tracker-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 18, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

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