A next-generation AI-powered desktop browser built with Python and Electron
Hyperspace Browser is a modern desktop browser that merges traditional web navigation with intelligent automation and AI reasoning. It features a sleek, dark-themed interface powered by Electron and a robust Python backend for AI operations, OCR, and browser automation.
- Modern Browser Interface: Chromium-based tabbed browsing with custom UI
- Frameless Design: Sleek, minimalist window with custom controls
- AI Assistant Panel: Built-in AI chat interface (ready for LLM integration)
- Python Backend: FastAPI-based server for AI and automation
- Tab Management: Full support for multiple tabs with smooth animations
- Navigation Controls: Address bar, back/forward, refresh, and home buttons
- Real-time Status: Backend connection monitoring and status updates
Before you begin, ensure you have the following installed:
-
Clone or navigate to the project directory
cd Hyperspace-Browser -
Install Node.js dependencies
npm install
-
Install Python dependencies
pip install -r requirements.txt
Simply run the following command, which will automatically start both the Python backend and Electron frontend:
npm startThe application will:
- Launch the Python FastAPI backend on
http://localhost:8000 - Open the Electron browser window
- Connect the frontend to the backend
Terminal 1 - Start Python Backend:
cd backend
python main.pyTerminal 2 - Start Electron Frontend:
npm startHyperspace-Browser/
│
├── backend/ # Python backend server
│ ├── main.py # FastAPI server entry point
│ ├── ai/ # AI and LLM integration (future)
│ ├── ocr/ # OCR and screen capture (future)
│ ├── control/ # Virtual mouse/keyboard (future)
│ └── utils/ # Utility functions
│
├── frontend/ # Electron frontend
│ ├── index.html # Main UI structure
│ ├── style.css # Styling and animations
│ ├── renderer.js # Browser logic and IPC
│ └── assets/ # Images, icons, etc.
│
├── main.js # Electron main process
├── package.json # Node.js dependencies
├── requirements.txt # Python dependencies
└── README.md # This file
- Address Bar: Enter URLs or search terms
- Navigation Buttons:
- ← Back
- → Forward
- ⟳ Refresh
- ⌂ Home
- Tab Controls:
- Click tabs to switch
- ✕ to close tabs
- + to create new tabs
- AI Assistant: 🤖 button to open the AI panel
- Window Controls: Minimize, Maximize, Close
Enterin address bar - Navigate to URL or searchEnterin AI input - Send message- Click on tabs to switch between them
The backend runs on http://localhost:8000 by default. To change this:
- Edit
backend/main.pyand modify theuvicorn.run()parameters - Update
BACKEND_URLinfrontend/renderer.js
Edit main.js to customize the window:
- Window size:
widthandheightproperties - Frame style:
frameproperty - Background color:
backgroundColorproperty
The backend provides the following REST API endpoints:
| Endpoint | Method | Description |
|---|---|---|
/ |
GET | API information |
/health |
GET | Backend health check |
/ai/chat |
POST | AI chat interface (placeholder) |
/ocr/capture |
POST | Screen capture & OCR (planned) |
/automation/action |
POST | Browser automation (planned) |
Once the backend is running, visit:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
Uncomment this line in main.js:
mainWindow.webContents.openDevTools();Change reload=False to reload=True in backend/main.py:
uvicorn.run(
"main:app",
host="127.0.0.1",
port=8000,
reload=True # Enable hot reload
)To create a standalone executable:
npm run buildThis will create installers in the build/ directory.
For Windows-specific build:
npm run build:win- Electron browser shell
- Python FastAPI backend
- Basic UI with tabs and navigation
- Frontend-backend communication
- Local LLM integration (Ollama/GPT4All)
- AI-powered browsing assistance
- Context-aware responses
- Multi-agent collaboration
- Screen capture functionality
- Text recognition with Tesseract
- Visual element detection
- AI-driven page analysis
- Virtual mouse and keyboard
- AI-driven form filling
- Automated navigation
- Task recording and playback
- Voice control integration
- Custom plugin system
- Theme marketplace
- Multi-device sync
This is a personal project, but suggestions and feedback are welcome!
MIT License - See LICENSE file for details
- Ensure Python dependencies are installed:
pip install -r requirements.txt - Check if port 8000 is already in use
- Verify Python version:
python --version(should be 3.9+)
- Check backend status in the status bar
- Ensure backend is running on port 8000
- Check browser console for connection errors
- Ensure you have internet connectivity
- Try disabling any firewall/antivirus temporarily
- Check if the URL is valid
For issues and questions:
- Check the Documentation
- Review the Project Specification
- Check Development Rules
Made with ⚡ by the Hyperspace Team