Prerequisites
Before you begin, ensure you have:- Node.js v18 or higher installed (download here)
- npm package manager (comes with Node.js)
- Google API Key with Gemini API access (get one free)
- OpenRouter API Key for Deepseek (get one free)
Both API keys are completely free to obtain. Google provides generous free tier access to Gemini 2.0 Flash, and OpenRouter offers free access to Deepseek R1 Distill Llama 70B.
Quick Setup
Install dependencies
Install all required packages using npm:This will install all frontend and backend dependencies including React, Vite, Express, and the Google Generative AI SDK.
Configure environment variables
Create a Replace the placeholder values:
.env file in the root directory with your API keys:your_google_api_key_here- Your Google AI Studio API keyyour_openrouter_api_key_here- Your OpenRouter API key
Start the development server
Launch the application in development mode:The server will start on port 3000. You’ll see output indicating the server is running.
Open in your browser
Navigate to the application:You should see the OmniSearches homepage with a search interface.
What You Get
Once running, OmniSearches provides:- Real-time web search powered by Google Search integration
- AI-generated answers with source citations and references
- 4 search modes: Concise, Default, Exhaustive, and Reasoning
- Image search from Wikimedia Commons
- Related questions to expand your research
- Follow-up questions that maintain conversation context
Search Modes Explained
Concise
Quick, brief answers (max 150 tokens). Perfect for facts and simple queries.
Default
Balanced responses with comprehensive coverage. Best for most searches.
Exhaustive
Detailed, in-depth analysis (up to 65K tokens). Use for research topics.
Reasoning
Deep reasoning powered by Deepseek. Explains the “why” behind answers.
Verify Installation
To confirm everything is working correctly:- Check the console - You should see “serving on port 3000” without errors
- Perform a search - Try “test query” and verify you get results with sources
- Check reasoning mode - Enable reasoning mode and verify streaming responses appear
- View sources - Expand the sources section to see web citations
Common Issues
Port 3000 already in use
Port 3000 already in use
If port 3000 is occupied, you can change it by setting the
PORT environment variable:API key errors
API key errors
If you see authentication errors:
- Verify your
.envfile is in the root directory - Ensure no extra spaces in API keys
- Check that your Google API key has Gemini API enabled
- Confirm your OpenRouter key is valid
Module not found errors
Module not found errors
If you encounter import errors:
Next Steps
Installation Guide
Detailed installation and configuration options
Architecture
Learn how OmniSearches works under the hood
API Reference
Explore the REST API endpoints
Deployment
Deploy to Railway, Vercel, or your own server
Need Help?
If you encounter issues:- Check the Installation Guide for detailed troubleshooting
- Review the GitHub Issues
- Join the community discussions on GitHub