// the find
mckaywrigley/chatbot-ui
AI chat for any model.
An open-source, self-hostable ChatGPT-style UI supporting most major LLM providers (OpenAI, Anthropic, Azure, Google, Mistral, Groq, OpenRouter, Perplexity) plus local models via Ollama. It's for teams who want a full-featured, white-labelable chat interface backed by their own Postgres/Supabase instance rather than a wrapper around one vendor's API.
The provider abstraction is genuinely thorough — each LLM gets its own route handler (app/api/chat/{provider}/route.ts) rather than one leaky switch statement, so adding a new provider doesn't touch existing ones. It's a real data model, not a toy: workspaces, folders, presets, prompts, assistants, tools, and file collections all persist in Postgres via Supabase instead of browser storage, which also fixes the storage-limit and multi-device problems the README calls out. The retrieval pipeline has dedicated processors for pdf, docx, csv, json and markdown, which is more file-type coverage than most RAG bolt-ons ship with.
Last push was mid-2024 — the README still says "Be back soon" on a promised big update that, over a year later, never shipped. Treat this as unmaintained, not actively developed. Local setup is heavy for what should be a quick eval: Docker, the Supabase CLI, and hand-editing a SQL migration file to inject project_url and service_role_key before anything runs. Test coverage is thin for the surface area — one Jest unit test and a single Playwright login spec covering a codebase with a dozen provider integrations and a full retrieval system. The maintainer explicitly restricts GitHub Issues to code-only bugs and redirects setup/support questions to Discussions, which signals a project past the point of being actively triaged.