Rigorously Pursuing Truth. An AI Engine of Truth.
A Next.js application for querying multiple AI models through a unified interface. The default model (Ooverta) provides web-aware responses with real-time information access.
- Node.js 18 or higher
- npm, yarn, pnpm, or bun
Clone the repository:
git clone https://github.com/absol761/roovert.git
cd roovertInstall dependencies:
npm installSet up environment variables. Create a .env.local file in the root directory:
NEXT_PUBLIC_APP_URL=http://localhost:3000
# Optional: Admin API key (for testing /api/admin/visitors endpoint locally)
# If not set, admin endpoint will return 503 in local development
AI_GATEWAY_API_KEY=your_admin_key_here
# Optional: Segment.io Analytics (for anonymous user analytics)
# Get your write key from https://app.segment.com/
NEXT_PUBLIC_SEGMENT_WRITE_KEY=your_segment_write_key_hereNever commit .env.local or any file containing secrets.
Note: The Segment write key is optional. If not provided, analytics will be disabled and no warning will be shown in production.
Run the development server:
npm run devOpen http://localhost:3000 in your browser.
- Access to multiple AI models
- Default Ooverta model with web search capabilities
- Image upload and vision support for AI models
- Conversation memory and history management
- Message editing and regeneration
- Privacy-focused visitor tracking using hashed identifiers
- Customizable themes and interface layouts
- Real-time streaming responses
- Code block syntax highlighting and copy functionality
- Next.js 16 (App Router)
- TypeScript
- Tailwind CSS 4
- Framer Motion for animations
- React Markdown for response rendering
- Vercel KV for visitor tracking (production)
- SQLite for local development
roovert/
├── app/
│ ├── api/ # API routes
│ ├── lib/ # Utilities and database
│ ├── globals.css # Global styles
│ ├── layout.tsx # Root layout
│ └── page.tsx # Homepage
├── public/ # Static assets
├── data/ # SQLite database (gitignored)
└── package.json
The application includes security headers configured in next.config.ts:
- HSTS
- X-Frame-Options
- X-Content-Type-Options
- Content Security Policy
- Referrer Policy
Environment variables are excluded from version control. Source maps are disabled in production. React Strict Mode is enabled.
Deploy to Vercel:
- Push your code to GitHub
- Import the repository on Vercel
- Add environment variables in the Vercel dashboard
- Deploy
Required environment variables:
NEXT_PUBLIC_APP_URL- Your application URL
Optional environment variables:
AI_GATEWAY_API_KEY- Admin API key for accessing/api/admin/visitorsendpoint (required in production, optional for local dev)NEXT_PUBLIC_SEGMENT_WRITE_KEY- Segment.io write key for anonymous analytics (get from app.segment.com)
The interface supports multiple visual themes and layouts. Users can customize the appearance, font size, and layout style. The design emphasizes clarity and performance with smooth animations and responsive layouts.
MIT License - see LICENSE file for details.
License: MIT License
Author: dcyoung
Key implementations adapted from the original repository:
- InstancedMesh-based visualizers for performance
- Golden angle (Fibonacci sphere) distribution for sphere visualizer
- LUT-based color palette system
- Coordinate mapping patterns for audio reactivity
- Camera setup and lighting configurations
We are grateful for the open-source contributions that made these visualizations possible.
- Repository: https://github.com/absol761/roovert
- Website: https://roovert.com