Repolode
miurla

miurla/morphic

An open-source AI answer engine that searches the web and returns cited answers with generative UI, built with Next.js and the Vercel AI SDK.

Open-source alternative to:Perplexity

Stars
9,189
Forks
2,347
Open issues
54
Last commit
11 hours ago

What is it?

Morphic is a self-hostable AI search engine. A user asks a question, the app queries a search provider such as Tavily, SearXNG, Brave or Exa, and a language model composes an answer with cited sources. Answers are streamed as a JSON spec that renders rich inline components like images, grids and headings instead of plain markdown alone.

The project supports multiple model providers, including OpenAI, Anthropic, Google, Ollama, Vercel AI Gateway and OpenAI-compatible endpoints, selectable from a model picker. It offers Quick and Adaptive search modes, chat history stored in PostgreSQL, shareable result URLs, and file upload. Authentication can use built-in accounts via Better Auth or Supabase Auth, and guest mode is available.

The stack is TypeScript with Next.js, React, Tailwind CSS and shadcn/ui. Docker Compose starts PostgreSQL, Redis, SearXNG and the app together, so no separate search API key is required for a local trial.

Key features

  • 01Search answers include cited sources.
  • 02Generative UI renders inline components from a streamed JSON spec.
  • 03Supports OpenAI, Anthropic, Google, Ollama and other model providers.
  • 04Works with Tavily, SearXNG, Brave and Exa as search backends.
  • 05Stores chat history in PostgreSQL and supports shareable result links.
  • 06Docker Compose setup includes SearXNG so no search key is needed.

Use cases

  • Self-hosting a private AI search assistant with your own model keys.
  • Experimenting with generative UI in a Next.js and Vercel AI SDK codebase.
  • Comparing search providers or LLM backends behind one interface.

Quick start

  1. 1

    Pull the Docker image

    docker pull ghcr.io/miurla/morphic:latest
  2. 2

    Clone the repository and configure environment

    git clone https://github.com/miurla/morphic.git && cd morphic && cp .env.local.example .env.local
  3. 3

    Edit .env.local and set at least one AI provider API key (e.g. OPENAI_API_KEY)

  4. 4

    Start all services with Docker Compose

    docker compose up -d

Things to know

  • Running it fully needs an AI provider API key, and Docker Compose starts several services (PostgreSQL, Redis, SearXNG).
  • Chat history, authentication and file upload need extra configuration beyond the basic setup.

Topics

FAQ

What is morphic?
An open-source AI answer engine that searches the web and returns cited answers with generative UI, built with Next.js and the Vercel AI SDK. Morphic is a self-hostable AI search engine. A user asks a question, the app queries a search provider such as Tavily, SearXNG, Brave or Exa, and a language model composes an answer with cited sources. Answers are streamed as a JSON spec that renders rich inline components like images, grids and headings instead of plain markdown alone.
Is morphic free to use? What license does it have?
morphic is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is morphic still maintained?
Actively maintained. The last commit to morphic was on Oct 21, 2026.
What can I use morphic for?
Self-hosting a private AI search assistant with your own model keys. Experimenting with generative UI in a Next.js and Vercel AI SDK codebase. Comparing search providers or LLM backends behind one interface.
How do I install morphic?
Pull the Docker image: docker pull ghcr.io/miurla/morphic:latest Clone the repository and configure environment: git clone https://github.com/miurla/morphic.git && cd morphic && cp .env.local.example .env.local Edit .env.local and set at least one AI provider API key (e.g. OPENAI_API_KEY) Start all services with Docker Compose: docker compose up -d
Where can I get morphic?
The source code and installation instructions are on GitHub: https://github.com/miurla/morphic

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects