- π Features
- π§± Stack
- π Quickstart
- π Deploy
- π₯ Contributing
- π License
π Explore AI-generated documentation on DeepWiki
- 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
- Allow users to try the app without creating an account
- No chat history stored for guests (ephemeral sessions)
- Optional daily rate limit per IP address
- Enable with
ENABLE_GUEST_CHAT=true
- 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
- Ollama
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
- 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]/morphic.gitcd morphic
bun installcp .env.local.example .env.localFill in the required environment variables in .env.local:
OPENAI_API_KEY=your_openai_key
TAVILY_API_KEY=your_tavily_keybun devVisit http://localhost:3000 in your browser.
Note: By default, Morphic runs without a database or authentication. To enable chat history, authentication, and other features, see CONFIGURATION.md. For Docker setup, see the Docker Guide.
Host your own live version of Morphic with Vercel or Docker.
Note: For Vercel deployments, set ENABLE_AUTH=true and configure Supabase authentication to secure your deployment.
See the Docker Guide for prebuilt images, Docker Compose setup, and deployment instructions.
We welcome contributions to Morphic! Whether it's bug reports, feature requests, or pull requests, all contributions are appreciated.
Please see our Contributing Guide for details on:
- How to submit issues
- How to submit pull requests
- Commit message conventions
- Development setup
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
