gitmyhub

morphic

TypeScript ★ 8.9k updated 2d ago

An AI-powered search engine with a generative UI

An open-source AI search tool that connects language models to the web and displays answers in a generative interface instead of a plain list of links, supporting OpenAI, Anthropic, Google, and local models via Ollama.

TypeScriptNext.jsReactPostgreSQLRedisDockerSupabaseBunsetup: moderatecomplexity 4/5

Morphic is an open-source search tool that connects AI language models to the web and returns answers in a generative interface. Instead of showing a plain list of links, it constructs a response on the page using the results it finds. You can switch between a Quick mode (faster, simpler) and an Adaptive mode depending on how much depth you want.

The project supports several AI providers, including OpenAI, Anthropic, Google, and Ollama (for running models locally). On the search side, it works with Tavily, SearXNG, Brave, and Exa. You pick which combination you want through a model selector in the interface. SearXNG, a self-hosted search engine, is bundled in the Docker setup so you can run the whole thing without signing up for a separate search API.

Chat history is stored in a PostgreSQL database, and you can share search results with others using unique URLs. It supports file uploads and has optional user authentication through Supabase. If you do not want to create an account, a guest mode lets you use it anonymously.

The recommended way to run it locally is with Docker Compose, which starts the database, a Redis instance, SearXNG, and the application itself together. For local development, it uses Bun as the package manager and runtime. There is also a one-click deploy option for Vercel if you want to host it in the cloud.

The code is written in TypeScript on top of Next.js and React. It is licensed under the Apache License 2.0.

Where it fits