Skip to content

miurla/morphic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Morphic

An AI-powered search engine with a generative UI.

capture

πŸ—‚οΈ Overview

πŸ›  Features

Core Features

  • AI-powered search with GenerativeUI
  • Natural language question understanding
  • Multiple search providers support (Tavily, SearXNG, Exa)
  • Model selection from UI (switch between available AI models)
    • Reasoning models with visible thought process

Chat & History

  • Chat history functionality (Optional)
  • Share search results (Optional)
  • Redis support (Local/Upstash)

AI Providers

The following AI providers are supported:

  • OpenAI (Default)
  • Google Generative AI
  • Azure OpenAI
  • Anthropic
  • Ollama
  • Groq
  • DeepSeek
  • Fireworks
  • xAI (Grok)
  • OpenAI Compatible

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

  • URL-specific search
  • Video search support (Optional)
  • SearXNG integration with:
    • Customizable search depth (basic/advanced)
    • Configurable engines
    • Adjustable results limit
    • Safe search options
    • Custom time range filtering

Additional Features

  • Docker deployment ready
  • Browser search engine integration

🧱 Stack

Core Framework

AI & Search

  • OpenAI - Default AI provider (Optional: Google AI, Anthropic, Groq, Ollama, Azure OpenAI, DeepSeek, Fireworks)
  • Tavily AI - Default search provider
  • Alternative providers:
    • SearXNG - Self-hosted search
    • Exa - Neural search

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

βœ… Verified models

List of models applicable to all

  • OpenAI
    • gpt-4.1
    • gpt-4.1-mini
    • gpt-4.1-nano
    • o3-mini
    • gpt-4o
    • gpt-4o-mini
    • gpt-4-turbo
    • gpt-3.5-turbo
  • Google
    • Gemini 2.5 Pro (Experimental)
    • Gemini 2.0 Flash Thinking (Experimental)
    • Gemini 2.0 Flash
  • Anthropic
    • Claude 3.5 Sonnet
    • Claude 3.5 Hike
  • Ollama
    • qwen2.5
    • deepseek-r1
  • Groq
    • deepseek-r1-distill-llama-70b
    • Llama 4 Maverick 17B
  • Fireworks
    • DeepSeek R1
    • Llama 4 Maverick
  • DeepSeek
    • DeepSeek V3
    • DeepSeek R1
  • xAI
    • grok-2
    • grok-2-vision
    • grok-3-beta

πŸ‘₯ 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:

  • How to submit issues
  • How to submit pull requests
  • Commit message conventions
  • Development setup