Skip to content

Latest commit

Β 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ContextBridgeAI

AI Prompt Extractor & Conversation History Browser for Cursor, Claude Code, Codex CLI, Rovo Dev, Kiro, Windsurf, Antigravity, VS Code Copilot, Cline, Continue, Zed, Qodo Gen, and Gemini CLI

The fastest way to browse, search, and export every AI prompt you've ever written β€” across every agentic IDE and AI coding CLI on your Mac.

A local, privacy-first prompt history viewer Β· a Claude Code prompt extractor Β· a Cursor chat history exporter Β· a Codex CLI session viewer Β· a Rovo Dev session log analyzer Β· and a prompt verification tool β€” all in one app.

macOS Windows Linux Python 3.10+ License 13 IDEs supported

Quick Start Β· Features Β· Supported IDEs Β· Screenshots Β· Docs


ContextBridgeAI dashboard β€” apps panel showing Rovo Dev, Cursor, VS Code, Kiro, Windsurf, Antigravity, Claude Code, Codex CLI, Cline, Zed, Qodo Gen, Gemini CLI with session counts and date-grouped sessions list


What is ContextBridgeAI?

ContextBridgeAI is a local, privacy-first prompt extractor and session history browser for AI coding tools. It reads the on-disk session storage of 13 popular agentic IDEs and AI command-line tools, normalizes their conversations into one common schema, and gives you a single Web UI to:

  • Browse every chat from every IDE in one place β€” grouped by app and date
  • Search across all your AI prompts with hybrid BM25 keyword + semantic embedding search (fused with Reciprocal Rank Fusion)
  • Export any session as plain text, markdown, or JSON β€” for prompt engineering, debugging, blog posts, audits, or feeding context back to another LLM
  • Verify prompt fidelity β€” see the exact reconstructed system prompt, tool calls, tool results, and assistant turns that were really used
  • Live-update β€” a 3-second file watcher picks up new chats from any IDE without you lifting a finger

Use cases this app solves:

  • 🧠 Prompt extraction from Cursor, Claude Code, Codex CLI, Rovo Dev, etc.
  • πŸ” Cross-IDE prompt search β€” "find every chat where I discussed MCP"
  • πŸ“‹ Prompt verification β€” see the actual system prompt your agent sees
  • πŸ“š Personal AI knowledge base β€” your own searchable archive of every conversation
  • πŸ§ͺ Prompt engineering & debugging β€” compare how Cursor vs. Claude Code vs. Codex CLI answered the same question
  • πŸ’Ύ Local backup of cloud-synced agent conversations
  • πŸšͺ Migration helper β€” moving from one AI IDE to another, take your conversation history with you

Why ContextBridgeAI?

Problem How ContextBridgeAI solves it
Every AI IDE locks your conversation history into its own private format One normalized schema across 13 tools β€” Cursor's SQLite, Claude Code's JSONL, Codex CLI's rollouts, Kiro's protobufs, all readable in one UI
You forgot which IDE you asked that question in Cross-IDE search β€” type a query, get hits from Cursor, Rovo Dev, and Claude Code at once
You want to verify what your agent actually sent to the LLM Plain-text reconstruction shows the exact <SYSTEM>…<USER>…<ASSISTANT>… blob
You want to back up your prompt history before uninstalling a tool Local SQLite + JSON exports β€” own your data
You want hybrid search, not just full-text grep BM25 (SQLite FTS5) + semantic embeddings (sentence-transformers) fused with RRF

Supported IDEs and AI CLI tools

ContextBridgeAI ships with 13 dedicated adapters, each carefully written to handle that tool's private storage format:

Agentic IDEs

IDE Fidelity What we extract Storage
Cursor β˜…β˜…β˜…β˜…β˜† Composer chats, bubble messages, tool calls, model info state.vscdb (SQLite)
VS Code + GitHub Copilot Chat β˜…β˜…β˜…β˜…β˜† Per-request user/assistant turns + tool invocations chatSessions/*.json
Antigravity (Google) β˜…β˜…β˜…β˜†β˜† VSCode-fork chats + Jetski agent protobuf salvage state.vscdb + jetskiState* blobs
Windsurf (Codeium) β˜…β˜…β˜†β˜†β˜† Cascade chat text (protobuf salvage) ~/.codeium/windsurf/{chat_state,cascade}/*.pb
Kiro β˜…β˜…β˜…β˜…β˜† Per-execution agent records with messages, actions, results kiro.kiroagent/<conv>/<exec>/ JSON
Zed β˜…β˜…β˜…β˜…β˜† Thread JSON (zstd-decoded) with Rust-enum-style messages threads.db (SQLite + zstd)

AI CLI tools

CLI Fidelity What we extract Storage
Claude Code (claude CLI) β˜…β˜…β˜…β˜…β˜… Full session JSONL with user, assistant, tool_use, tool_result ~/.claude/projects/<workspace>/*.jsonl
Codex CLI (codex, OpenAI) β˜…β˜…β˜…β˜…β˜… Rollouts with structured response_item, reasoning, function_calls ~/.codex/sessions/YYYY/MM/DD/rollout-*.jsonl
Rovo Dev (Atlassian) β˜…β˜…β˜…β˜…β˜… Full message_history with system prompts, tool calls, tool returns ~/.rovodev/sessions/<uuid>/session_context.json
Gemini CLI (Google, including Antigravity-Gemini agent) β˜†β˜†β˜†β˜†β˜† Placeholders only (Google encrypts on disk) ~/.gemini/<variant>/conversations/*.pb

VS Code AI extensions

Extension Fidelity What we extract Storage
Cline (autonomous coding agent) β˜…β˜…β˜…β˜…β˜† Anthropic-style API history + task metadata ~/.cline/data/tasks/<ms>/api_conversation_history.json
Continue.dev β˜…β˜…β˜…β˜…β˜† Session JSON with full history array ~/.continue/sessions/<id>.json
Qodo Gen β˜…β˜…β˜…β˜…β˜… Per-thread message groups with git/workspace metadata ~/.qodo/history/<sha256>.json

Fidelity legend: β˜…β˜…β˜…β˜…β˜… exact transcript Β· β˜…β˜…β˜…β˜…β˜† full + tool blocks Β· β˜…β˜…β˜…β˜†β˜† most messages, role labels best-effort Β· β˜…β˜…β˜†β˜†β˜† text salvaged from binary protobufs Β· β˜†β˜†β˜†β˜†β˜† encrypted on disk, file-level placeholders only.

Want a tool we don't support yet? Adding an adapter is ~120 LOC β€” see docs/CONTRIBUTING.md.


Features

  • πŸ“‚ Cross-IDE prompt browser β€” every chat from every tool in one UI
  • πŸ” Hybrid search β€” BM25 (SQLite FTS5) + semantic (all-MiniLM-L6-v2 or hashed-TF-IDF fallback) + Reciprocal Rank Fusion (k=60)
  • 🎨 Real macOS app icons auto-extracted from each installed app's .icns (Cursor, VS Code, Antigravity, Windsurf, Kiro, Codex, …) with SVG fallbacks for CLI-only tools
  • πŸ“… Date-grouped sessions list β€” Today (green), Yesterday, weekdays, then dated for older sessions, each with a count badge
  • πŸ”„ Live file watcher (3 s poll) β€” new sessions appear in the UI within seconds of typing them in your IDE
  • πŸ“‹ Three export formats β€” Rendered (color-coded message bubbles), Plain text (<SYSTEM>…</USER>… tagged blob, copy-paste ready), JSON (raw normalized schema)
  • 🎯 Detection-aware β€” auto-prunes sessions for IDEs you've uninstalled; shows "X/13 IDEs detected on this machine" so you know what was scanned
  • πŸ”’ 100 % local β€” zero network calls, UI binds to 127.0.0.1, opens IDE storage with SQLite immutable=1 (read-only)
  • πŸ–± Double-click launchers β€” run.command on macOS, run.cmd on Windows
  • 🐍 CLI parity β€” every UI feature has a cli equivalent (list-apps, search, export, verify-current, ui)

Screenshots

Cross-IDE dashboard with real app icons

Apps panel showing 13 supported AI IDEs and CLIs with macOS icons, session counts, and recency dots

Full reconstructed prompt in the viewer

The viewer pane shows the exact system prompt + user turns + assistant turns + tool calls + tool results that were sent to the LLM. Tabs let you switch between Rendered (color-coded bubbles), Plain text (tagged blob), and JSON (raw schema).

Session viewer showing the full system prompt and conversation for a Rovo Dev session

Date-grouped sessions list for any IDE

Click any app and its sessions appear, grouped by date with count badges per day. Today is highlighted green, yesterday blue, then weekdays, then older dates show as Mon, May 18.

Cursor sessions list grouped by Today / Yesterday / day-of-week with count badges

Hybrid BM25 + semantic search across every prompt

Type a query β†’ ContextBridgeAI runs BM25 and semantic retrieval in parallel, then fuses them with RRF. Every hit exposes its bm25 rank, semantic rank, and fused score for transparency, with the matching snippet highlighted in yellow.

Hybrid search results showing BM25 and semantic ranks for "MCP context manager"

Plain-text prompt export for any session

Perfect for copy-pasting into a blog post, bug report, or a fresh chat that needs the same context. The plain-text view reconstructs the entire conversation as a single <SYSTEM>…</SYSTEM>\n<USER>…</USER>\n… blob.

Plain-text export view showing the full reconstructed prompt with SYSTEM and USER tagged blocks


Quick start (macOS)

Requires Python 3.10+. (install from python.org)

git clone https://github.com/T-Gojo/ContextBridgeAi.git
cd ContextBridgeAi
./install.sh --launch     # installs everything and opens the UI in your browser

That's it. The UI opens at http://127.0.0.1:8765 with every prompt ContextBridgeAI found on your Mac already indexed.

Prefer double-clicking? Open Finder, navigate to the project folder, and double-click run.command.

For Windows & Linux (currently experimental) and full install options, see docs/INSTALL.md.


CLI reference

Every UI feature has a CLI equivalent β€” handy for scripting and CI:

# Show all detected IDEs + session counts
./.venv/bin/python -m context_bridge.cli list-apps

# Recent sessions, optionally filtered by app
./.venv/bin/python -m context_bridge.cli list-sessions --app cursor --limit 20

# Hybrid BM25 + semantic search across every indexed prompt
./.venv/bin/python -m context_bridge.cli search "MCP context manager"

# Extract a specific Claude Code session to plain text
./.venv/bin/python -m context_bridge.cli export claude-code:<id> -f text -o out.txt

# Find this workspace's current Rovo Dev session and verify its prompt
./.venv/bin/python -m context_bridge.cli verify-current

# Force a full re-scrape + rebuild semantic vectors
./.venv/bin/python -m context_bridge.cli index

# Launch the Web UI (auto-opens your default browser)
./.venv/bin/python -m context_bridge.cli ui --port 8765

Architecture

Per-IDE adapters turn private on-disk formats (Cursor SQLite, Claude Code JSONL, Codex rollouts, Kiro protobufs, …) into a single normalized PromptTranscript schema. Stored in local SQLite with FTS5 BM25. Optional semantic embeddings (sentence-transformers/all-MiniLM-L6-v2 or hashed-TF-IDF fallback) are fused with Reciprocal Rank Fusion for hybrid search. Exposed via a FastAPI Web UI and a Typer CLI. A background SessionWatcher polls every 3 s to auto-refresh data; semantic-index rebuilds are a manual user action so they don't churn while you type.

Full deep-dive: docs/ARCHITECTURE.md.


Privacy & safety

  • 100 % local. UI binds to 127.0.0.1. Zero outbound network calls in the codebase.
  • Read-only. Every adapter opens IDE storage with SQLite's immutable=1 read-only URI, or just read_bytes() for plain files.
  • No agent integration. ContextBridgeAI does NOT touch any IDE's configuration, MCP setup, settings, or extensions.
  • You control the data. Everything extracted lives in data/index.db and data/semantic_index.pkl. Delete them to wipe.

More in docs/FAQ.md#privacy--safety.


Documentation

File Audience Contents
README.md Everyone Overview + quick start (you're here)
docs/INSTALL.md Everyone macOS / Windows / Linux install + per-OS storage paths
docs/USER_GUIDE.md Users UI tour, search syntax, watcher, re-index, CLI
docs/ARCHITECTURE.md Devs Data flow, schema, search engine, storage
docs/ADAPTERS.md Devs / curious users Per-IDE storage details, fidelity notes
docs/CONTRIBUTING.md Contributors Adding a new adapter, code conventions
docs/FAQ.md Everyone Privacy, performance, troubleshooting
docs/PUBLISHING.md Maintainers How to push a new release

Platform support

OS Status
🍎 macOS (Sonoma, Sequoia) Fully supported & tested
πŸͺŸ Windows 10 / 11 Experimental β€” code is OS-aware; awaiting community testing
🐧 Linux (Ubuntu, Fedora, Arch) Experimental β€” code is OS-aware; awaiting community testing

If you run ContextBridgeAI on Windows or Linux, open an issue with what worked and what didn't.


Contributing

Found a new agentic AI tool we should support β€” Aider, Goose, Amazon Q, JetBrains AI Assistant, OpenCode, Tabnine? Adapters are tiny (~120 LOC) and well-documented. Walk-through with full example code: docs/CONTRIBUTING.md.


Keywords

ai prompt extractor Β· claude code prompt extractor Β· cursor chat history exporter Β· codex cli session viewer Β· rovo dev session viewer Β· kiro session extractor Β· windsurf cascade history Β· antigravity chat extractor Β· cline conversation history Β· continue.dev session export Β· zed assistant history Β· qodo gen prompt history Β· gemini cli history Β· ai coding assistant history Β· prompt verification tool Β· prompt engineering Β· local prompt search Β· hybrid search bm25 semantic rrf Β· mcp prompt manager Β· ai conversation backup Β· agentic ide prompt browser Β· llm session log analyzer Β· ai prompt audit tool Β· sqlite fts5 prompts Β· sentence transformers ai chat search Β· privacy-first ai history Β· macos ai tools


License

MIT β€” see LICENSE.


Made with ❀️ for everyone who's ever lost a brilliant prompt to a closed IDE tab.

⭐ Star this repo if ContextBridgeAI helps you keep track of your AI conversations.

About

Local AI prompt extractor & conversation history browser for Cursor, Claude Code, Codex CLI, Rovo Dev, Kiro, Windsurf, Antigravity, VS Code Copilot, Cline, Continue, Zed, Qodo Gen & Gemini CLI. Hybrid BM25+semantic search. Privacy-first, macOS.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages