ai-engine

Morphic

An AI-powered search engine with a generative UI.

capture

🗂️ Overview

📝 Explore AI-generated documentation on DeepWiki

🧪 Try v1.0.0 Beta

Want to experience the next generation of Morphic? The v1.0.0 beta is now available at beta.morphic.sh!

This major update includes exciting new features like advanced search modes, PostgreSQL database, enhanced UI, and much more. Learn more about what’s new in Issue #680.

Your feedback helps shape the future of Morphic!

🛠 Features

Core Features

Authentication

Chat & History

AI Providers

The following AI providers are supported:

Models are configured in public/config/models.json. Each model requires its corresponding API key to be set in the environment variables. See Configuration Guide for details.

Search Capabilities

Additional Features

🧱 Stack

Core Framework

Authentication & Authorization (Updated Category)

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 [email protected]:[YOUR_GITHUB_ACCOUNT]/morphic.git

2. Install dependencies

cd morphic
bun install

3. Configure environment variables

cp .env.local.example .env.local

Fill in the required environment variables in .env.local:

# Required for Core Functionality
OPENAI_API_KEY=     # Get from https://platform.openai.com/api-keys
TAVILY_API_KEY=     # Get from https://app.tavily.com/home

For optional features configuration (Redis, SearXNG, etc.), see CONFIGURATION.md

4. Run app locally

Using Bun

bun dev

Using Docker

docker compose up -d

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

🌐 Deploy

Host your own live version of Morphic with Vercel, Cloudflare Pages, or Docker.

Vercel

Deploy with Vercel

Docker Prebuilt Image

Prebuilt Docker images are available on GitHub Container Registry:

docker pull ghcr.io/miurla/morphic:latest

You can use it with docker-compose:

services:
  morphic:
    image: ghcr.io/miurla/morphic:latest
    env_file: .env.local
    ports:
      - '3000:3000'
    volumes:
      - ./models.json:/app/public/config/models.json # Optional: Override default model configuration

The default model configuration is located at public/config/models.json. For Docker deployment, you can create models.json alongside .env.local to override the default configuration.

🔎 Search Engine

Setting up the Search Engine in Your Browser

If you want to use Morphic as a search engine in your browser, follow these steps:

  1. Open your browser settings.
  2. Navigate to the search engine settings section.
  3. Select “Manage search engines and site search”.
  4. Under “Site search”, click on “Add”.
  5. Fill in the fields as follows:
    • Search engine: Morphic
    • Shortcut: morphic
    • URL with %s in place of query: https://morphic.sh/search?q=%s
  6. Click “Add” to save the new search engine.
  7. Find “Morphic” in the list of site search, click on the three dots next to it, and select “Make default”.

This will allow you to use Morphic as your default search engine in the browser.

💙 Sponsors

This project is proudly supported by:

Vercel OSS Program

👥 Contributing

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:

📄 License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.