Skip to content

justice-rest/romy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

44 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Romy

An AI-powered search engine with a generative UI.

Vercel OSS Program

πŸ—‚οΈ Overview

About v1.0.0 Branch

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

πŸ›  Features

Core Features

  • 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

Authentication

Chat & History

  • Chat history automatically stored in PostgreSQL database
  • Share search results with unique URLs
  • Message feedback system
  • File upload support

AI Providers

  • 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.

Search Capabilities

  • URL-specific search
  • Content extraction with Tavily or Jina
  • Citation tracking and display
  • Self-hosted search with SearXNG support

Additional Features

  • Docker deployment ready
  • Browser search engine integration
  • LLM observability with Langfuse (optional)
  • Todo tracking for complex tasks
  • Changelog system for updates

🧱 Stack

Core Framework

  • Next.js - React framework with App Router
  • TypeScript - Type-safe development
  • Vercel AI SDK - TypeScript toolkit for building AI-powered applications

Authentication & Authorization (Updated Category)

  • Supabase - User authentication and backend services

AI & Search

  • 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.

Data Storage

UI & Styling

πŸš€ Quickstart

1. Fork and Clone repo

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.git

2. Install dependencies

cd romy
bun install

3. Configure environment variables

cp .env.local.example .env.local

Fill 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 key

For optional features configuration (SearXNG, alternative AI providers, etc.), see CONFIGURATION.md

4. Run database migrations

bun run migrate

This command will create the necessary database tables.

5. Run app locally

Using Bun

bun dev

Using Docker

docker compose up -d

Visit http://localhost:3000 in your browser.

About

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages