- π§ͺ Beta Testing
- π Features
- π§± Stack
- π Quickstart
- π Deploy
- π Search Engine
- π Sponsors
- π₯ Contributing
- π License
The v1.0.0 branch is our pre-release branch featuring:
- Latest features and improvements
- Active bug fixes based on beta feedback
- Preparation for stable release
This branch will be merged into main once:
- Beta testing phase is complete
- Critical bugs are resolved
- All planned features are stable
- AI-powered search with GenerativeUI
- Natural language question understanding
- Multiple search providers support (Tavily, Brave, SearXNG, Exa)
- Search modes: Quick, Planning, and Adaptive
- Model type selection: Speed vs Quality
- Inspector panel for tool execution and AI processing details
- User authentication powered by Supabase Auth
- Chat history automatically stored in PostgreSQL database
- Share search results with unique URLs
- Message feedback system
- File upload support
- OpenAI (Default)
- Anthropic Claude
- Google Gemini
- Vercel AI Gateway
Models are configured in config/models/*.json with profile-based settings. When using non-OpenAI providers, update the model configuration files with compatible model IDs. See Configuration Guide for details.
- URL-specific search
- Content extraction with Tavily or Jina
- Citation tracking and display
- Self-hosted search with SearXNG support
- Docker deployment ready
- Browser search engine integration
- LLM observability with Langfuse (optional)
- Todo tracking for complex tasks
- Changelog system for updates
- Next.js - React framework with App Router
- TypeScript - Type-safe development
- Vercel AI SDK - TypeScript toolkit for building AI-powered applications
- Supabase - User authentication and backend services
- OpenAI - Default AI provider (Optional: Google AI, Anthropic)
- Tavily AI - AI-optimized search with context
- Brave Search - Traditional web search results
- Tavily alternatives:
- SearXNG - Self-hosted search
- Exa - Meaning-based search powered by embeddings
- Firecrawl - Web, news, and image search with crawling, scraping, LLM-ready extraction, and open source.
- PostgreSQL - Primary database (supports Neon, Supabase, or standard PostgreSQL)
- Drizzle ORM - Type-safe database ORM
- Cloudflare R2 - File storage (optional)
- Tailwind CSS - Utility-first CSS framework
- shadcn/ui - Re-usable components
- Radix UI - Unstyled, accessible components
- Lucide Icons - Beautiful & consistent icons
Fork the repo to your Github account, then run the following command to clone the repo:
git clone git@github.com:[YOUR_GITHUB_ACCOUNT]/romy.gitcd romy
bun installcp .env.local.example .env.localFill in the required environment variables in .env.local:
# Required Configuration
DATABASE_URL= # PostgreSQL connection string
OPENAI_API_KEY= # Get from https://platform.openai.com/api-keys
TAVILY_API_KEY= # Get from https://app.tavily.com/home
BRAVE_SEARCH_API_KEY= # Get from https://brave.com/search/api/
NEXT_PUBLIC_SUPABASE_URL= # Your Supabase project URL
NEXT_PUBLIC_SUPABASE_ANON_KEY= # Your Supabase anonymous keyFor optional features configuration (SearXNG, alternative AI providers, etc.), see CONFIGURATION.md
bun run migrateThis command will create the necessary database tables.
bun devdocker compose up -dVisit http://localhost:3000 in your browser.
