A comprehensive, aesthetic search interface for exploring Claude Code conversation transcripts. Features multi-faceted search capabilities, real-time analytics, and beautiful visualizations.
![]() Advanced Search Interface |
![]() Analytics Dashboard |
![]() Search Results View |
![]() Data Visualizations |
- Multiple Search Modes: Fuzzy matching, exact match, and regex patterns
- Field-Specific Search: Search in content, session IDs, or tool calls
- Smart Filtering: Filter by role, date range, tools used, and models
- Contextual Results: View messages with surrounding context
- Score-Based Ranking: Results ranked by relevance
- Tool usage statistics and trends
- Model distribution analysis
- Activity timeline visualization
- Session statistics and patterns
- Export capabilities for further analysis
- Modern, gradient-based design
- Dark/light theme support
- Responsive layout
- Syntax highlighting for code
- Interactive charts with Plotly
- Efficient indexing for fast searches
- Parallel file loading
- Caching support for repeated queries
- Incremental loading for large datasets
- Install required dependencies:
pip install -r requirements.txt
- Run the application:
python main.py
python main.py --mode gui --port 7860
Access the interface at http://localhost:7860
Search from command line:
python main.py --mode cli --search "your search query"
Export all transcripts:
python main.py --mode export --export-format json --output transcripts.json
--mode
: Run mode (gui, cli, export)--data-path
: Path to transcript directory (default:/home/ygg/.claude/projects
)--port
: Port for Gradio server (default: 7860)--share
: Create public share link--search
: Search query for CLI mode--export-format
: Export format (json, csv, markdown)--output
: Output file path--cache-dir
: Directory for search index cache
Message
: Individual message representationConversation
: Complete conversation sessionSearchResult
: Search result with contextToolCall
: Tool usage information
TranscriptLoader
: Loads and parses JSONL filesIncrementalLoader
: For large dataset handling- Parallel loading with progress tracking
- Error handling and reporting
SearchIndex
: Efficient indexing systemSearchEngine
: Multi-mode search capabilitiesSearchQuery
: Query configuration- Fuzzy matching with rapidfuzz
- Regex pattern support
- Gradio-based web interface
- Responsive design with custom CSS
- Interactive visualizations
- Export functionality
- Tolerant to typos and variations
- Best for general exploration
- Example:
claud code
finds "Claude Code"
- Finds exact occurrences
- Case-insensitive by default
- Use for specific phrases
- Complex pattern matching
- Example:
error.*failed
finds "error...failed" - Supports standard regex syntax
- Combine multiple filters for precision
- Date ranges for temporal analysis
- Tool filters for specific functionality
- Role filters for user/assistant messages
- Complete structured data
- Preserves all metadata
- Ideal for programmatic processing
- Tabular format for spreadsheets
- Basic fields included
- Good for statistical analysis
- Human-readable documentation
- Formatted for easy reading
- Includes code highlighting
- Use cache directory for index persistence
- Enable incremental loading
- Adjust worker count for parallel loading
- Use specific date ranges in searches
- Incremental loader for streaming
- Configurable batch sizes
- Automatic garbage collection
- Check search query syntax
- Verify filters aren't too restrictive
- Ensure transcripts are loaded
- Enable caching with
--cache-dir
- Reduce parallel workers if memory constrained
- Use date filters to limit scope
- Check file permissions
- Verify JSONL format
- Review error report in logs
transcript_explorer/
βββ core/ # Core functionality
β βββ data_models.py # Data structures
β βββ data_loader.py # File loading
β βββ search_engine.py # Search logic
βββ ui/ # User interface
β βββ app.py # Gradio application
βββ main.py # Entry point
βββ requirements.txt # Dependencies
- Add new search modes in
SearchMode
enum - Implement custom filters in
SearchEngine
- Add visualization types in
app.py
- Create new export formats in
main.py
This tool is provided as-is for exploring Claude Code transcripts.