NextChat is a self-hostable chat interface for large language models that runs as a web app, a progressive web app, a desktop client for Linux, Windows, and macOS, and an iOS app. You deploy the web version to Vercel or Zeabur with your own API keys, or run the desktop build locally; either way, conversation data stays in the browser rather than on a hosted backend.
It talks to a range of providers through environment variables, including OpenAI, Azure OpenAI, Anthropic Claude, Google Gemini, Baidu, ByteDance, Alibaba Cloud, iFlytek, and ChatGLM, and it works with self-hosted, OpenAI-compatible endpoints such as RWKV-Runner or LocalAI. An optional CODE variable adds password-gated access to a shared deployment.
Beyond plain chat, NextChat adds prompt templates (masks) for packaging reusable system prompts, a plugin mechanism for network search, calculators, and other APIs, an artifacts window for previewing generated pages, realtime voice chat, and optional MCP support enabled at build time. An enterprise edition covers brand customization, admin-managed resources and permissions, knowledge-base integration, security auditing, and private deployment.
Features
- Multi-provider backend: OpenAI, Azure, Claude, Gemini, Baidu, ByteDance, Alibaba, iFlytek, ChatGLM, and OpenAI-compatible local servers via env config
- Local-only data: chat history and settings are stored in the browser
- Prompt templates (masks): create, share, and debug reusable in-context prompt setups
- Plugins: network search, calculator, and arbitrary external APIs
- Artifacts: preview, copy, and share generated content or web pages in a separate window
- Realtime chat: voice conversation support
- MCP support: enabled with ENABLE_MCP=true at build time
- Markdown rendering: LaTeX, Mermaid diagrams, and code highlighting
- History compression: older messages are summarized automatically to keep long conversations within token limits
- Cross-platform clients: web/PWA, Tauri desktop app of around 5 MB, and iOS
- Localization: 14 interface languages including English, Chinese, Japanese, French, German, and Korean
- Access control: comma-separated CODE passwords gate a shared deployment

