Skip to content

Haseeb-code1/web-browser-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

64 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌐 Nova Browser

A highly sophisticated, AI-powered desktop web browser engineered with Python and PyQt6 (QtWebEngine).

Python Version PyQt6 Platform Status


✨ Features

πŸ€– AI Floating Panel β€” Ctrl + 5

The crown feature of Nova Browser.

Press Ctrl + 5 at any time to instantly toggle a transparent floating AI assistant over any web page β€” no tab switching, no interruptions.

  • Instant access β€” one keystroke from anywhere in the browser
  • Context-aware β€” reads and summarizes the current page on demand
  • Multi-model routing β€” switch between Gemini, Groq, and local Ollama
  • Smart Selection Watcher β€” highlight any text for instant AI insights
  • Dismiss anytime β€” press Ctrl + 5 again or click outside to close

🌐 Core Browser Features

  • Multi-Tab Browsing β€” add, remove, and navigate tabs seamlessly
  • Bookmarks Manager β€” save favourite pages with persistent storage
  • Browsing History β€” auto-logged, searchable, with one-click clear
  • Download Manager β€” built-in queue with progress tracking and cancel support
  • Ad & Tracker Blocking β€” integrated domain filter via ad_blocker.py
  • Hardware Acceleration β€” Chromium core (QtWebEngine) for smooth rendering and High-DPI support

πŸ“₯ Download & Run (No Python Required)

A pre-built Windows executable is ready in the output/ folder.

  1. Go to the output/ folder in this repo
  2. Click NovaBrowser.exe
  3. Click ⬇️ Download raw file (top-right of the file preview)
  4. Double-click the downloaded file to launch β€” no setup needed

⚠️ Windows SmartScreen may appear. Click "More info" β†’ "Run anyway" to proceed.


πŸ’» Developer Setup

Prerequisites

  • Python 3.11+
  • Git

1. Clone & Install

git clone https://github.com/Haseeb-code1/web-browser-.git
cd web-browser-
pip install -r requirements.txt

2. Run Locally

python main.py

Windows users can also double-click run.bat.

3. Run Tests

pytest tests/

4. Build Your Own EXE

pyinstaller --onefile --windowed main.py
# Output β†’ dist/main.exe

Or use the provided PowerShell script:

.\build_installer.ps1

⌨️ Keyboard Shortcuts

Shortcut Action
Ctrl + 5 ✨ Toggle AI Floating Panel
Ctrl + T New Tab
Ctrl + W Close Tab
Ctrl + L Focus Address Bar
Ctrl + R Reload Page
Alt + ← Go Back
Alt + β†’ Go Forward
Ctrl + D Bookmark Page
Ctrl + H History
Ctrl + J Downloads

πŸ—οΈ Project Structure

web-browser-/
β”œβ”€β”€ main.py                     # Entry point & splash screen launcher
β”œβ”€β”€ requirements.txt            # Python dependencies
β”œβ”€β”€ run.bat                     # Quick launch script
β”œβ”€β”€ Dockerfile                  # Containerization config
β”œβ”€β”€ docker-compose.yml
β”‚
β”œβ”€β”€ scripts/
β”‚   β”œβ”€β”€ build_installer.ps1     # Builds the .exe and installer
β”‚   └── github_setup.py         # CI/CD and repo setup
β”‚
└── src/
    β”œβ”€β”€ ai_assistant/           # 🧠 AI Integration Layer
    β”‚   β”œβ”€β”€ floating_bot.py     # Floating panel logic (Ctrl + 5)
    β”‚   β”œβ”€β”€ model_router.py     # Routes between Groq, Gemini, Ollama
    β”‚   └── selection_watcher.py
    β”‚
    β”œβ”€β”€ core/                   # βš™οΈ Core Browser Logic
    β”‚   β”œβ”€β”€ history.py
    β”‚   β”œβ”€β”€ bookmarks.py
    β”‚   └── ad_blocker.py
    β”‚
    β”œβ”€β”€ ui/                     # 🎨 User Interface
    β”‚   β”œβ”€β”€ browser_window.py
    β”‚   β”œβ”€β”€ tab_manager.py
    β”‚   β”œβ”€β”€ components/         # Toolbar, Address Bar, etc.
    β”‚   └── dialogs/            # Downloads, History, Settings
    β”‚
    └── utils/
        └── exception_logger.py

βš™οΈ Engineering Principles

Built using the Incremental Process Model β€” each phase delivered a stable, tested feature set:

Phase Deliverable
1 Basic navigation & Chromium rendering
2 Multi-tab support & UI components
3 Persistence β€” bookmarks, history, downloads
4 AI Integration β€” floating panel via Ctrl + 5

Lehman's Laws applied: the codebase continuously evolved from a single main.py into a modular src/ structure, with each increment unit-tested before the next phase began. Standard browser UX (tabs, address bar) was preserved throughout for familiarity.


Developed with ❀️ by Haseeb-code1

About

πŸ“– About Nova Browser is an AI-powered desktop web browser built with Python & PyQt6. It features multi-tab browsing, bookmarks, history, downloads, ad blocking, and an AI Floating Panel (`Ctrl + 5`) for instant AI assistance on any page β€” no setup needed, just grab the `.exe` from the `output/` folder.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors