Skip to content

jasielmacedo/open-browser

Repository files navigation

Open Browser

A Chromium-based browser with integrated local LLM capabilities for intelligent web interaction.

Screenshots

Open Browser Screenshot 1 Open Browser Screenshot 2

Open Browser Screenshot 3 Open Browser Screenshot 4

Features

Currently Available

Core Browser Features

  • 🌐 Full-featured Chromium browser with multi-tab support
  • πŸ“‘ Tab management with keyboard shortcuts (Ctrl+T, Ctrl+W, Ctrl+Tab)
  • πŸ” Navigation controls (back, forward, reload, home)
  • πŸ“š History tracking with searchable sidebar
  • ⭐ Bookmarks management system
  • 🎯 Context menus with right-click support
  • βš™οΈ Tab suspension for better memory management
  • πŸ” Comprehensive security hardening with context isolation
  • πŸ› οΈ Developer tools integration (F12)
  • πŸ“„ Page printing and source viewing
  • πŸ”Ž Zoom controls (Ctrl +/-/0)
  • πŸ’Ύ Tab persistence and crash recovery

AI & LLM Features

  • πŸ€– Ollama/LLM integration with streaming inference
  • πŸ’¬ Chat sidebar for AI conversations with model capability detection
  • ⚑ Comprehensive model manager with download progress tracking
  • 🎯 Vision-capable and text-only model support
  • πŸš€ Automatic GPU acceleration (CUDA, ROCm, Metal)
  • ⭐ Default model selection and persistent settings
  • 🎭 AI Personality Selection - 26 unique personalities across 4 categories:
    • Professional (Business Analyst, Technical Expert, Life Coach, etc.)
    • Friends (Best Friend, Study Buddy, Workout Partner, etc.)
    • Funny (Stand-up Comedian, Sarcastic Friend, Meme Lord, etc.)
    • Romantic (Various caring, adventurous, and supportive partners)
  • 🧠 Context-Aware AI - Smart context optimization with:
    • Page content capture and analysis
    • Browsing history context injection
    • Bookmarks context injection
    • Token estimation and optimization
  • πŸ“Έ Vision Model Integration - Screenshot capture for vision-capable models
  • πŸ› οΈ Tool Calling/Agent Mode - AI can interact with browser through 6 tools:
    • Search history
    • Access bookmarks
    • Analyze page content
    • Capture screenshots
    • Get page metadata
    • Perform web searches
  • πŸ€” Advanced Reasoning - Chain-of-thought support with thinking token streaming
  • πŸ’­ Custom System Prompts - Personalize AI behavior with custom instructions

Download Management

  • πŸ“₯ Comprehensive Download Manager with:
    • Real-time download progress tracking
    • Pause/resume/cancel functionality
    • Download history with categorization (active, completed, failed)
    • File type information and metadata
    • Download speed and time estimation
    • Open files and show in folder
    • Automatic cleanup of old downloads

Privacy & Security

  • πŸ”’ Mandatory User Agreement - One-time comprehensive disclosure covering:
    • Local data storage (no cloud transmission)
    • Model behavior and content disclaimers
    • AI model context access
    • Zero telemetry or data collection
  • πŸ›‘οΈ Privacy-First Design - All data stored locally, no external transmission
  • πŸ” Advanced security hardening with sandboxing and validation

Planned Features

  • 🏷️ Smart bookmarking with AI categorization
  • πŸ” Semantic search across browsing history
  • πŸ“Š Enhanced page summarization with readability optimization
  • 🌐 Multi-language support for UI
  • πŸ“± Mobile companion app
  • πŸ”„ Sync across devices (optional, privacy-preserving)

Tech Stack

  • Electron - Desktop app framework with embedded Chromium
  • React + TypeScript - UI components with modern hooks
  • Vite - Fast build tool with Hot Module Replacement
  • Tailwind CSS - Utility-first styling
  • Zustand - Lightweight state management
  • Better-SQLite3 - Local database for history and bookmarks
  • Axios - HTTP client for Ollama API communication
  • ESLint + Prettier - Code quality and formatting
  • Husky - Git hooks for pre-commit checks
  • Ollama - Local LLM inference engine (v0.12.9 bundled with application)

Development

Prerequisites

  • Node.js 18+ (LTS recommended)
  • npm or pnpm

Note: Ollama is bundled with the application - no separate installation required!

Getting Started

# Install dependencies
# This automatically downloads Ollama binaries (~1.8GB)
npm install

# If you need to manually download/update Ollama binaries
npm run setup:ollama

# Start development server
# Ollama will start automatically with the app
npm run dev

# Build for production
npm run build

# Package as distributable (includes Ollama)
npm run package

First-time setup:

  • When you run npm install, the Ollama binaries will be automatically downloaded
  • This is a one-time download of ~1.8GB (includes Windows and macOS versions)
  • The binaries are stored in resources/bin/ (excluded from git)

Using AI Features

The application includes Ollama v0.12.9 bundled for both Windows and macOS. When you first run the app:

  1. Ollama starts automatically in the background
  2. Click the Model Manager button in the navigation bar (or press Ctrl/Cmd+M)
  3. Download your preferred model (e.g., llama3.2, qwen2.5)
  4. Start chatting with AI or analyzing web pages!

No manual Ollama installation or configuration needed.

Bundled Ollama Version

  • Version: 0.12.9 (Released: November 1, 2025)
  • Platforms: Windows (x64), macOS (Intel + Apple Silicon)
  • Size: ~1.8GB (includes CUDA, ROCm support for GPU acceleration)
  • Update Instructions: To update Ollama, download the latest release from ollama/ollama/releases and replace files in resources/bin/

Project Structure

open-browser/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ main/              # Electron main process
β”‚   β”‚   β”œβ”€β”€ ipc/          # IPC handlers for renderer communication
β”‚   β”‚   β”œβ”€β”€ services/     # Backend services (database, ollama)
β”‚   β”‚   └── utils/        # Validation and utilities
β”‚   β”œβ”€β”€ renderer/          # React UI
β”‚   β”‚   β”œβ”€β”€ components/   # React components (Browser, Chat, etc.)
β”‚   β”‚   β”œβ”€β”€ store/        # Zustand state management (browser, chat, models)
β”‚   β”‚   └── services/     # Frontend services
β”‚   └── shared/           # Shared types and utilities
β”œβ”€β”€ .github/              # GitHub configuration and workflows
└── TECH_BRIEFING.md     # Comprehensive technical documentation

Documentation

See TECH_BRIEFING.md for comprehensive technical documentation including:

  • Architecture diagrams
  • API integration patterns
  • Model registry format
  • Security considerations
  • Performance optimization

Current Status

πŸš€ Active Development - Full-featured browser with comprehensive AI integration, including personality selection, vision models, tool calling, and advanced download management

Completed

Core Infrastructure

  • Electron + React + TypeScript setup
  • Vite build configuration with HMR
  • Security hardening implementation
  • Browser UI with navigation and multi-tab support
  • Tab management (create, close, switch, suspend)
  • Tab persistence and crash recovery
  • History tracking and searchable sidebar
  • Bookmarks management system
  • SQLite database integration
  • Context menus and keyboard shortcuts
  • Code quality tooling (ESLint, Prettier, Husky)
  • CI/CD with GitHub Actions

AI & LLM Integration

  • Ollama service integration with auto-start capability
  • Chat interface with streaming message support
  • Comprehensive model manager UI with tabs
  • Model registry with 12+ pre-configured models
  • Vision vs text-only model capability tracking
  • Download progress tracking with real-time updates
  • Default model selection with persistent storage
  • Model metadata display (size, parameters, capabilities)
  • GPU acceleration support (automatic detection)
  • IPC handlers for secure LLM operations
  • Chat and Model state management with Zustand

New Advanced Features

  • AI Personality Selection - 26 personalities across 4 categories
  • Context-Aware AI - Smart context optimization with page analysis
  • Vision Model Integration - Screenshot capture and analysis
  • Tool Calling/Agent Mode - 6 browser interaction tools
  • Advanced Reasoning - Chain-of-thought with thinking tokens
  • Custom System Prompts - User-defined AI behavior
  • Comprehensive Download Manager - Full download lifecycle management
  • Mandatory User Agreement - One-time privacy and terms disclosure
  • Content Capture Service - Page text and DOM extraction
  • Page Context Extraction - Smart content summarization

In Progress / Planned

  • Smart bookmarking with AI categorization
  • Semantic search across browsing history
  • Enhanced page summarization with readability optimization
  • Multi-language support for UI

Keyboard Shortcuts

Shortcut Action
Ctrl/Cmd + T New tab
Ctrl/Cmd + W Close current tab
Ctrl + Tab Switch to next tab
Ctrl + Shift + Tab Switch to previous tab
Ctrl/Cmd + R or F5 Reload page
Ctrl/Cmd + H Toggle history sidebar
Ctrl/Cmd + B Toggle bookmarks sidebar
Ctrl/Cmd + M Open model manager
Alt + Left Go back
Alt + Right Go forward
Ctrl/Cmd + Plus Zoom in
Ctrl/Cmd + Minus Zoom out
Ctrl/Cmd + 0 Reset zoom
Ctrl/Cmd + P Print page
Ctrl/Cmd + U View page source
F12 Open developer tools
Escape Stop page loading

Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

Development Guidelines

  1. Fork the repository
  2. Clone your fork: git clone https://github.com/your-username/browser-llm.git
  3. Install dependencies: npm install (this will download Ollama binaries automatically)
  4. Create your feature branch (git checkout -b feature/amazing-feature)
  5. Make your changes
  6. Run linting and formatting: npm run lint:fix && npm run format
  7. Commit your changes with a descriptive message
  8. Push to your branch (git push origin feature/amazing-feature)
  9. Open a Pull Request

Note: The resources/bin/ directory is excluded from git. Contributors will automatically download Ollama binaries when running npm install.

The project uses:

  • ESLint for code linting
  • Prettier for code formatting
  • Husky for pre-commit hooks
  • lint-staged for running checks on staged files

All PRs must pass the automated checks before merging.

License

MIT

About

A LLM-Based Browser using Local Models

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •