A lightning-fast, unified browser history search tool that combines browsing data from multiple browsers with graph-based relationships, Redis caching, and conversational memory.
- Multi-Browser Support: Chrome, Safari, Arc, Comet, Genspark, Thorium
- Graph-Based Storage: FalkorDB for relationship tracking between URLs
- Lightning-Fast Cache: Redis for instant search results
- Conversational Memory: Zep/Graphiti integration for context-aware search
- Real-time Search: WebSocket support for instant results
- Modern UI: React with Tailwind CSS for responsive design
- Auto-indexing: Watches browser history files for automatic updates
βββββββββββββββ βββββββββββββββ βββββββββββββββ
β Chrome β β Safari β β Arc β
ββββββββ¬βββββββ ββββββββ¬βββββββ ββββββββ¬βββββββ
β β β
βββββββββββββββββββββΌβββββββββββββββββββββ
β
ββββββββΌβββββββ
β Rust Backend β
β Extractor β
ββββββββ¬βββββββ
β
ββββββββββββββββββββΌβββββββββββββββββββ
β β β
ββββββΌβββββ ββββββββΌβββββββ ββββββββΌβββββββ
βFalkorDB β β Redis β βZep/Graphitiβ
β (Graph) β β (Cache) β β (Memory) β
βββββββββββ βββββββββββββββ βββββββββββββββ
β β β
ββββββββββββββββββββΌβββββββββββββββββββ
β
ββββββββΌβββββββ
β REST/WS API β
ββββββββ¬βββββββ
β
ββββββββΌβββββββ
βReact Frontendβ
βββββββββββββββ
- Rust (1.70+)
- Node.js (18+)
- FalkorDB running locally (default port 6379)
- Redis running locally (default port 6380)
- Zep server (optional, default port 8000)
- Graphiti server (optional, default port 8001)
git clone https://github.com/TrendpilotAI/fast-browser-search.git
cd fast-browser-search# Start FalkorDB (using Docker)
docker run -p 6379:6379 falkordb/falkordb:latest
# Start Redis
docker run -p 6380:6379 redis:latest
# (Optional) Start Zep
docker run -p 8000:8000 ghcr.io/getzep/zep:latest
# (Optional) Start Graphiti
# Follow Graphiti setup instructions# Build the backend
cargo build --release
# Run with environment variables
FALKOR_HOST=localhost \
FALKOR_PORT=6379 \
REDIS_URL=redis://localhost:6380 \
ZEP_URL=http://localhost:8000 \
GRAPHITI_URL=http://localhost:8001 \
API_PORT=3000 \
cargo run --release# Navigate to frontend directory
cd frontend
# Install dependencies
npm install
# Start development server
npm run devThe application will be available at http://localhost:5173
- Open the web interface at http://localhost:5173
- Type your search query in the search bar
- Results appear instantly with:
- URL and title
- Visit time and count
- Source browser
- Related URLs
- Browser Filtering: Click browser icons to filter results
- Domain Search: Click domain tags to search within domains
- Real-time Updates: Search results update as you type via WebSocket
- Auto-suggestions: Based on your search history
- Popular URLs: See your most visited sites
- Re-indexing: Click the refresh button to re-index all browser histories
# Backend configuration
FALKOR_HOST=localhost # FalkorDB host
FALKOR_PORT=6379 # FalkorDB port
REDIS_URL=redis://localhost:6380 # Redis connection URL
ZEP_URL=http://localhost:8000 # Zep server URL
GRAPHITI_URL=http://localhost:8001 # Graphiti server URL
API_KEY=your_api_key # Optional API key for Zep/Graphiti
API_PORT=3000 # API server port
# Logging
RUST_LOG=debug # Log level (trace, debug, info, warn, error)The tool automatically detects and indexes history from:
- Google Chrome (all profiles)
- Safari
- Arc Browser
- Comet Browser
- Genspark Browser
- Thorium Browser
Browser history locations on macOS:
- Chrome:
~/Library/Application Support/Google/Chrome/*/History - Safari:
~/Library/Safari/History.db - Arc:
~/Library/Application Support/Arc/User Data/*/History - Others: Similar Chromium-based paths
POST /api/search- Search historyGET /api/suggest?query=term- Get search suggestionsGET /api/popular- Get popular URLsGET /api/domains- Get all domainsGET /api/related?url=URL- Get related URLsPOST /api/index- Trigger re-indexingGET /health- Health check
- Connect to
ws://localhost:3000/ws - Send search queries for real-time results
fast-browser-search/
βββ src/
β βββ main.rs # Application entry point
β βββ api/ # REST/WebSocket API
β βββ browser/ # Browser history extractors
β βββ db/ # Database connections
β βββ memory/ # Zep/Graphiti integration
β βββ search/ # Search engine logic
βββ frontend/
β βββ src/
β β βββ App.tsx # Main React component
β β βββ index.css # Tailwind CSS
β βββ package.json
βββ Cargo.toml
- Create a new extractor in
src/browser/ - Implement the
BrowserExtractortrait - Add to the extractor list in
src/browser/mod.rs
- FalkorDB creates graph relationships for faster traversal
- Redis caches search results for 1 hour
- File watcher auto-indexes changes every 10 seconds
- WebSocket provides real-time search without page refresh
Safari's history database may require elevated permissions:
# Grant terminal full disk access in System Preferences
# Security & Privacy > Privacy > Full Disk AccessEnsure FalkorDB is running:
docker ps | grep falkordbCheck if browsers are installed and have history:
ls ~/Library/Application\ Support/Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Open a pull request
MIT License - see LICENSE file for details
- FalkorDB for graph database
- Redis for caching
- Zep/Graphiti for conversational memory
- All browser vendors for history storage formats