AI-powered website generator with multi-provider support, featuring OpenAI, OpenRouter, XAI (Grok), Groq, Perplexity, and more.
- Multi-Provider AI Support: OpenAI, OpenRouter, XAI (Grok), Groq, Perplexity, Anthropic, Cohere
- Intelligent Fallback: Automatically tries alternative providers if one fails
- Chat Memory: Persistent conversations using Supabase
- Real-time Generation: Live HTML preview as AI generates content
- Template System: Pre-built templates for different website types
- Rate Limiting: IP-based request limiting for production use
- Modern Stack: React, TypeScript, Express.js, Supabase
-
Add API Keys to Colab Secrets:
- Go to the secrets tab in Google Colab
- Add your API keys with these exact names:
OPENAI_API_KEYOPENROUTER_API_KEYXAI_API_KEYGROQ_API_KEYPERPLEXITY_API_KEYSUPABASE_URLSUPABASE_SERVICE_ROLE_KEYVERCEL_TOKEN(for deployment)GITHUB_TOKEN(for repository access)NGROK_AUTH_TOKEN(for tunneling)
-
Run the Complete Deployment Script:
# Copy and paste the complete deployment script into a Colab cell deployment = DeepSiteDeployment() deployment.run_full_deployment()
-
Clone the repository:
git clone https://github.com/MadScientist85/Mydeepsite2.0.git cd Mydeepsite2.0 -
Install dependencies:
npm install
-
Create environment file:
cp .env.template .env # Edit .env with your API keys -
Start the server:
npm start # or for development npm run dev
Click the deploy button above to automatically:
- Clone the repository to your GitHub account
- Create a new Vercel project
- Set up environment variable prompts
- Deploy to production
After clicking deploy, you'll need to:
- Add your API keys in the Vercel dashboard
- Redeploy to activate the configuration
-
Install Vercel CLI:
npm install -g vercel
-
Login to Vercel:
vercel login
-
Deploy:
vercel --prod
-
Set environment variables in Vercel dashboard:
- Go to your project settings in Vercel
- Navigate to Environment Variables
- Add all the required variables from the
.env.template - Important: Set these for Production, Preview, and Development environments
-
Redeploy after adding environment variables:
vercel --prod
When deploying to Vercel, add these environment variables in your project dashboard:
OPENAI_API_KEY
OPENROUTER_API_KEY
XAI_API_KEY
GROQ_API_KEY
PERPLEXITY_API_KEY
SUPABASE_URL
SUPABASE_SERVICE_ROLE_KEY
DEFAULT_MAX_TOKENS=8000
DEFAULT_TEMPERATURE=0.7
IP_RATE_LIMIT=100
The repository includes:
vercel.json- Vercel deployment configuration- GitHub Actions integration (optional)
- Automatic deployments on push to main branch
# OpenAI
OPENAI_API_KEY=your_openai_api_key_here
OPENAI_MODEL=gpt-4o
# OpenRouter (Access to multiple models)
OPENROUTER_API_KEY=your_openrouter_api_key_here
OPENROUTER_MODEL=deepseek/deepseek-chat-v3.1
# XAI (Grok)
XAI_API_KEY=your_xai_api_key_here
XAI_MODEL=grok-4
# Groq (Ultra-fast inference)
GROQ_API_KEY=your_groq_api_key_here
GROQ_MODEL=llama-3.3-70b-versatile
# Perplexity (Web-connected AI)
PERPLEXITY_API_KEY=your_perplexity_api_key_here
PERPLEXITY_MODEL=llama-3.1-sonar-large-128k-online# Supabase
SUPABASE_URL=your_supabase_project_url_here
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key_herePORT=3000
DEFAULT_MAX_TOKENS=8000
DEFAULT_TEMPERATURE=0.7
IP_RATE_LIMIT=100
NODE_ENV=development- Go to OpenAI API Keys
- Create a new API key
- Add billing information if required
- Go to OpenRouter Keys
- Create an account and generate an API key
- Add credits to your account
- Go to XAI Console
- Create an account and generate an API key
- Note: Grok-4 may require special access
- Go to Groq Console
- Create an account and generate an API key
- Free tier available with rate limits
- Go to Perplexity API
- Create an account and generate an API key
- Pay-per-use pricing
- Go to Supabase
- Create a new project
- Go to Settings > API to get your URL and service role key
- Run the SQL schema provided in the deployment script
qwen/qwen3-235b-a22b-thinking-2507deepseek/deepseek-chat-v3.1openai/gpt-oss-120bx-ai/grok-code-fast-1mistralai/codestral-2508
grok-4grok-betagrok-vision-beta
llama-3.3-70b-versatilellama-3.1-70b-versatilellama-3.1-8b-instantmixtral-8x7b-32768
GET /api/health
GET /api/check-env
POST /api/test-connection
{
"provider": "openai"
}
POST /api/ask-ai
{
"prompt": "Create a simple landing page",
"provider": "openai",
"sessionId": "uuid-string",
"templateId": "landing-page",
"maxTokens": 4000,
"temperature": 0.7
}
If using Supabase for chat memory, run this SQL:
-- Create chat_messages table
CREATE TABLE IF NOT EXISTS chat_messages (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
session_id VARCHAR(255) NOT NULL,
role VARCHAR(20) NOT NULL CHECK (role IN ('user', 'assistant', 'system')),
content TEXT NOT NULL,
timestamp TIMESTAMPTZ DEFAULT NOW(),
created_at TIMESTAMPTZ DEFAULT NOW(),
updated_at TIMESTAMPTZ DEFAULT NOW()
);
-- Create indexes
CREATE INDEX IF NOT EXISTS idx_chat_messages_session_id ON chat_messages(session_id);
CREATE INDEX IF NOT EXISTS idx_chat_messages_created_at ON chat_messages(created_at);
-- Enable RLS
ALTER TABLE chat_messages ENABLE ROW LEVEL SECURITY;
-- Create policy
CREATE POLICY IF NOT EXISTS "Allow all operations on chat_messages"
ON chat_messages FOR ALL
USING (true);# Use the quick test script
python quick_test.py- Start your server
- Visit
/api/healthfor basic health check - Visit
/api/check-envfor environment status - Use the frontend to test AI generation
-
"No AI providers configured"
- Check that at least one API key is set correctly
- Verify the API key is valid and has credits
-
"Connection test failed"
- Check your internet connection
- Verify API keys are correct
- Check if the provider's service is down
-
"Chat memory not working"
- Verify Supabase URL and key are set
- Check that the database schema is created
- Ensure RLS policies are configured
-
Rate limiting issues
- Adjust
IP_RATE_LIMITin environment variables - Consider upgrading your API plan
- Adjust
For local development with hot reloading:
# Terminal 1: Start server
npm run dev
# Terminal 2: Start tunnel (optional)
npx localtunnel --port 3000
# Terminal 3: Run tests
python quick_test.py- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
MIT License - see LICENSE file for details.
- GitHub Issues: Report bugs or request features
- Documentation: Check this README and code comments
- Community: Join discussions in GitHub Discussions
- Additional AI provider integrations
- Enhanced template system
- Real-time collaboration features
- Advanced customization options
- Mobile app companion
- Plugin system for extensions