mrkeyoor.com_
Mon 02 Nov 01:10 UTC
AI Toolsevaluationupdated 30 Sept 2026

NextChat review

NextChat is a self-hosted chat client for OpenAI, Anthropic, Google, DeepSeek, Azure, and other compatible model endpoints. It gives one person or a small group a web, desktop, or PWA interface while keeping chat data in each user's browser by default.

+26stars / 7d
Verdict

Our NextChat run installed 2,413 packages and built successfully, but its test command reached the 900-second cap without selecting a test to run. Use it for a personal or small shared chat front end when browser-local history and provider choice suit the job. Choose a server-centered alternative if you need user identities, central records, or a conventional test command for release gates.

We ran it

Lab card: what happened when we ran NextChatScreenshot of NextChat (nextchat.club)
Install✓ · 241s2413 packages · 847 MB
Build✓ · 169s
Tests✗ timed out · 900sran, no count parsed
Repo425 files~43,498 lines of source · 7.8 MB · 7 CI workflows · Dockerfile · tests dir

Answers from our run

Does NextChat build from source?

Dependencies installed in 241 seconds (2413 packages), and the build succeeded in 169 seconds. We cloned commit defdcdb into a clean Debian container with 3 CPUs and no project-specific setup.

Do NextChat's tests pass?

We could not finish them: the suite was still running after 15 minutes in our container.

Who should not use NextChat?

Organizations that require central chat retention or administrator-visible records: the README says chat data lives in each user's browser unless you add the separate Upstash sync path.

What are the alternatives to NextChat?

Open WebUI, LibreChat, LobeHub. Our NextChat run installed 2,413 packages and built successfully, but its test command reached the 900-second cap without selecting a test to run.

Setup3/5Build passed, but 2,413 packages and provider setup add weight
Docs4/5Provider variables and deployment routes are clearly listed
Community4/5Recent issue activity, with a queue of 693 issues and 157 PRs
Maturity3/5Established clients and CI, but our default test run timed out

Who it’s for

Developers who want one compact interface for several hosted or self-run model endpoints.
Individuals who prefer browser-local chat history and control their own API credentials.
Small deployments that can use a shared page password instead of full user accounts.
Builders willing to enable MCP at build time and maintain their own fork or container.

Who it’s NOT for

Organizations that require central chat retention or administrator-visible records: the README says chat data lives in each user's browser unless you add the separate Upstash sync path.
Teams that need individual sign-in, roles, or revocation: the documented CODE setting is limited access control using one or more shared passwords.
Release pipelines that require a clean, finite default test run: our command invoked Jest in watch mode and reached the 900-second limit without running a matching test.
Minimal dependency budgets: our successful install pulled 2,413 packages and occupied 847 MB.
Operators who want MCP switched on after deployment: the README says ENABLE_MCP=true must be set before the build.

Setup reality

Our sandbox installed commit defdcdb in 241 seconds, pulling 2,413 packages and using 847 MB. The build succeeded in 169 seconds. The test command timed out after 900 seconds. Its log showed Jest running with --watch and finding no tests related to files changed since the last commit.

A working chat needs at least one model provider or compatible endpoint, usually with an API key. The README documents OpenAI, Azure, Google, Anthropic, DeepSeek, Baidu, ByteDance, Alibaba, and other variables. CODE adds shared-password access, and Upstash is a separate option for synchronized history.

The documented floor is Node.js 18 or Docker 20. MCP must be enabled before building, browser-local records do not become central records automatically, and fork-based Vercel deployments need their update workflow enabled if you want upstream sync.

NextChat stores chats in the user's browser by default

NextChat puts several model providers behind one familiar chat window. The README documents OpenAI, Anthropic, Google, DeepSeek, Azure, Baidu, ByteDance, Alibaba, and compatible base URLs. You can use it in a browser, install it as a PWA, or run the desktop client. Prompt templates, Markdown, Mermaid diagrams, streaming replies, artifacts, plugins, and optional MCP support cover the daily features most people expect from an AI chat app.

Its defining choice is where the conversation lives. Chat data stays in the user's browser by default, so a personal deployment avoids standing up a database just to remember a thread. None of the 847 MB installed in our run changes that storage model. A browser reset, a new device, and a centrally managed company record are different problems. The README points to Upstash synchronization for people who need history across devices, but that is extra infrastructure rather than the default behavior.

What happened when we ran it

Our sandbox installed commit defdcdb in 241 seconds. Yarn added 2,413 packages, and the resulting environment occupied 847 MB on disk. The build then completed successfully in 169 seconds. We measured those steps in a fresh Debian container with 3 CPUs, 8 GB of RAM, Node 22, no secrets, and no elevated privileges. The repository itself contained 425 files and about 43,498 lines of source in a 7.8 MB checkout.

The test step did not finish within our 900-second limit. Its command launched Jest with --watch, and the last message said no tests were found related to files changed since the last commit. That is all the log establishes. We cannot say the suite passed, failed an assertion, or needed an undisclosed system package because none of those outcomes appeared. For CI, use an explicit non-watch command and confirm what the project treats as its complete suite.

The repository has a tests directory, 7 CI workflow files, a Dockerfile, and a Compose file. Those are useful maintenance signals, although they do not turn our timed-out command into a passing result. The practical split is straightforward: installation and production compilation worked at defdcdb, while the default test path we were given did not produce a finite test result.

Vercel setup needs an API key and a CODE password

The shortest documented route is Vercel: supply an OpenAI key, set CODE, and deploy. Docker is similarly direct on port 3000, and the README lists Node.js 18 and Docker 20 as its minimums. Provider flexibility is a genuine strength. You can point BASE_URL at a compatible proxy or self-hosted service, configure Azure deployments, and add or hide models through CUSTOM_MODELS.

CODE deserves careful reading. The project calls it limited access control, and its value is a comma-separated set of passwords. The 2,413-package install does not add named accounts, roles, per-user revocation, or an administrator's record of who opened which chat. A company that needs those controls should choose a system designed around server-side users instead of treating a shared page password as identity management.

MCP has another deployment wrinkle: the README says to set ENABLE_MCP=true before building. In other words, an operator cannot assume a runtime toggle will add the feature to an already-built image. The same care applies to hidden user keys, custom model names, provider URLs, and the page password. Put those values in the deployment's secret store, document which are build-time settings, and rebuild when the image contents depend on them.

A browser-first design limits central administration

Local browser storage is pleasant for one owner, even after the 169-second production build has succeeded. It cuts out an application database, keeps ordinary chat history near the user, and matches the project's privacy claim. For a shared service, the trade changes. Support staff cannot inspect a central record that does not exist, retention policy is left to each browser, and synchronized history requires the separate Upstash setup documented by the project.

That makes NextChat a better personal client than an internal system of record. A small technical group may still accept the boundary, especially if each person supplies a provider key and understands where conversations are stored. A regulated team usually cannot. The difference comes from the storage and access model, not from the number of model logos in the settings screen.

The last push was August 11, 2026

GitHub recorded the last push on August 11, 2026. On September 30, the repository had 693 open issues and 157 open pull requests, and an issue had been updated as recently as September 22. That is a very large queue, but it is also visible activity. The latest tagged release, v2.16.1, dates to July 29, 2025, so the tag alone would give a misleadingly stale picture of the code.

The project is mature enough to offer web, PWA, desktop, Docker, Compose, and hosted deployment paths under the MIT license. Its maintenance burden is equally visible in the 850-item combined issue and pull-request queue. For a personal instance, the successful 169-second build is the more relevant starting point. For a team release gate, the unresolved 900-second test run and limited CODE access model should decide the evaluation before interface polish does.

Alternatives

ProjectWhat it isPick it when
Open WebUI gh↗A self-hosted AI interface with a stronger server-centered deployment model and broad provider support.pick this instead when shared users, server-managed data, and Ollama integration matter more than a light browser-first client.
LibreChat gh↗A multi-user AI chat application with agents, MCP, model switching, and account controls.pick this instead when secure multi-user authentication and a centrally operated service are requirements.
LobeHub gh↗An agent-oriented workspace for organizing and running model-backed assistants.pick this instead when managing persistent agents is the main job rather than providing a familiar chat client.

Sources

  1. NextChat repository and README
  2. NextChat v2.16.1 release
  3. NextChat issues
  4. NextChat chat synchronization documentation

More ai tools reviews

kornia · skills · anarlog · pr-agent · agent-sprite-forge · KiroCrew · the whole board →