AI-Powered Terminal Web Browser for Content Analysis and Research
SLBrowser is a modern, intelligent terminal-based web browser that combines web scraping, AI-powered content analysis, and beautiful terminal formatting to provide an efficient research and content exploration experience directly from your command line.
- Unified Search & Analysis:
/find
command searches and analyzes multiple results automatically - Step-by-step Analysis: Traditional
/search
+/open
workflow for detailed control - DuckDuckGo Integration: Privacy-focused web search
- Configurable Depth: Analyze 1-10 search results at once
- Google Gemini Integration: State-of-the-art AI analysis using Pydantic AI
- Structured Output: WebCards with summaries, key facts, dates, and links
- Confidence Scoring: AI provides confidence ratings for each analysis
- Streaming Support: Real-time analysis progress updates
- Rich Formatting: Colorful, responsive terminal UI using Rich library
- ASCII Art Branding: Eye-catching SLBrowser logo
- Progress Indicators: Visual feedback for all operations
- Error Handling: Graceful error display and recovery
- Async Operations: Non-blocking web requests and AI processing
- Smart Caching: Search result and analysis caching
- Command Aliases: Short commands (
/f
,/s
,/k
, etc.) for power users - Persistent Config: API keys saved locally for seamless usage
pip install slbrowser
git clone https://github.com/antonvice/slbrowser.git
cd slbrowser
pip install -e .
-
Get a Google Gemini API Key
- Visit Google AI Studio
- Create a free API key
- Copy the key for the next step
-
Configure SLBrowser
slbrowser # On first run, set your API key: /key YOUR_API_KEY_HERE
Your API key will be securely saved to ~/.slbrowser/api_key.txt
for future sessions.
SLBrowser provides two interfaces:
slbrowser
: Interactive Terminal User Interface (TUI) with commands like/find
,/search
,/key
slb
: Command Line Interface (CLI) for direct command execution with arguments
Interactive TUI (Recommended)
slbrowser
Command Line Interface
# For direct command execution
slb search "your query" --max-results 3
slb analyze https://example.com
# Search and analyze top 5 results automatically
/find python machine learning tutorials
# Analyze specific number of results (1-10)
/find quantum computing 3
# Short alias
/f artificial intelligence trends 2024
# Search only (no analysis)
/search web scraping python
/s data science tools
# Then analyze specific results
/open 1 # Analyze first result
/o 3 # Analyze third result
# Analyze any webpage directly
/url https://docs.python.org/3/tutorial/
/u https://github.com/trending
# Set API key
/key YOUR_NEW_API_KEY
/k YOUR_NEW_API_KEY
# Clear API key
/key clear
# Check status
/status
# Clear screen
/clear
/c
# Get help
/help
/h
# Quit
/quit
/q
Full Command | Alias | Description |
---|---|---|
/find |
/f |
Search and analyze multiple results |
/search |
/s |
Search only (no analysis) |
/open |
/o |
Analyze search result by number |
/url |
/u |
Analyze URL directly |
/key |
/k |
Set/clear API key |
/clear |
/c |
Clear screen |
/help |
/h |
Show help |
/quit |
/q |
Exit SLBrowser |
- Quickly analyze multiple sources on a topic
- Get structured summaries of complex articles
- Extract key facts and dates from content
- Discover related links and resources
- Market research and trend analysis
- Competitive intelligence gathering
- Technical documentation review
- News and industry monitoring
- Literature review and source analysis
- Fact-checking and verification
- Research paper preparation
- Educational content exploration
SLBrowser is built with modern Python practices:
- Pydantic AI: Structured AI outputs with Google Gemini
- Rich: Beautiful terminal formatting and progress indicators
- httpx: Modern async HTTP client for web requests
- BeautifulSoup: HTML parsing and content extraction
- ddgs: Privacy-focused DuckDuckGo search
slbrowser/
βββ __init__.py # Package initialization and exceptions
βββ __main__.py # Entry point and logging setup
βββ ai.py # Pydantic AI integration with Gemini
βββ config.py # Configuration management
βββ models.py # Pydantic data models
βββ search.py # DuckDuckGo search functionality
βββ tui.py # Rich-powered terminal interface
βββ web.py # Web scraping and content extraction
We welcome contributions! Here's how to get started:
-
Fork the Repository
git clone https://github.com/antonvice/slbrowser.git cd slbrowser
-
Set Up Development Environment
pip install -e ".[dev]"
-
Run Tests
pytest mypy slbrowser/ ruff check slbrowser/
-
Submit Pull Request
- Testing: pytest, pytest-asyncio, pytest-cov
- Type Checking: mypy
- Linting: ruff
- Formatting: ruff format
MIT License - see LICENSE file for details.
Anton Vice - CTO, SelfLayer π§ [email protected] π GitHub π LinkedIn
- Pydantic AI for structured AI outputs
- Rich for beautiful terminal formatting
- DuckDuckGo for privacy-focused search
- Google Gemini for powerful AI analysis
- π Initial release
- β¨ Unified
/find
command for search + analysis - π§ Google Gemini AI integration
- π¨ Rich terminal interface
- β‘ Async operations and caching
- π§ Command aliases and persistent config
Made with β€οΈ for researchers, developers, and curious minds everywhere.
SLBrowser - Because the web deserves intelligent exploration.