ai-session-tracker
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
From PyPI (Recommended)
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:
- Install the package
- Update AGENTS.md files across detected agents
- 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
/resumeinside 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.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - 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
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)
| File | Size | Uploaded | |
|---|---|---|---|
| ai_session_tracker-0.1.0.tar.gz | 19.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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