Web Interface MIT

AnythingLLM

Document-first local AI workspace. RAG over your own files (PDFs, docs, code, audio), multi-workspace, multi-user via Docker, OpenAI + Ollama + Anthropic compatible.

Platforms: windowsmacoslinux

AnythingLLM is a self-hosted, document-first AI workspace. The unit of organization is a “workspace” — a bucket of files (PDF, Word, Markdown, source code, audio transcripts, web pages) plus a configured LLM and vector store — and each workspace is independently queryable. You drag in a contract PDF, a codebase, and last quarter’s transcripts, then chat against that specific corpus. Under the hood it chunks, embeds, and stores in your choice of LanceDB (default, in-process), Chroma, Qdrant, Pinecone, or Weaviate, and it talks to Ollama, LM Studio, Mullama, llama.cpp, OpenAI, Anthropic, Azure, or any OpenAI-compatible endpoint. With Docker it runs multi-user with logins and per-workspace permissions, which makes it the go-to “private ChatGPT over our own docs” deployment for small teams in 2026.

Key Features

  • Workspaces, not a single global chat. Each workspace has its own documents, embeddings, system prompt, and model choice. This is the feature that distinguishes AnythingLLM from a plain chat UI — you keep contexts isolated instead of one giant bucket.
  • Broad document and vector support. Built-in parsers handle PDF, DOCX, PPTX, XLSX, Markdown, TXT, HTML, EPUB, audio (via Whisper), and URLs. Embeddings can live in LanceDB locally or any of Chroma/Qdrant/Pinecone/Weaviate for larger corpora.
  • Agent tools and workflows. Workspaces can be given tools — web search, SQL over a connected database, RAG-against-another-workspace, file generation — so the model can act, not just answer. A visual agent-flow builder is included.
  • Multi-user with RBAC. The Docker image ships authentication and role-based access; you can invite collaborators to specific workspaces only. This is what makes it suitable for a small org, not just a single user.

When to Use AnythingLLM

Choose AnythingLLM when your primary need is “chat with my documents” and you want it self-hosted with multi-user access. It is the standard pick for a small team that needs a private research assistant over internal PDFs, a developer who wants RAG over a codebase without writing a pipeline, or anyone who wants per-project context isolation. Skip it if you just want a chat UI for a single user (use Open WebUI or Msty), or if you need fine-grained control over chunking and retrieval (build on a framework like LlamaIndex or LangChain instead).

Setup

# Desktop app (single-user, no Docker needed): download from https://anythingllm.com
#   macOS: brew install --cask anythingllm-desktop

# Server / multi-user via Docker:
docker pull mintplexlabs/anythingllm
docker run -d -p 3001:3001 \
  --mount type=volume,source=anythingllm,target=/app/server/storage \
  --env STORAGE_DIR=/app/server/storage \
  -e JWT_SECRET=change-me \
  --name anythingllm mintplexlabs/anythingllm

# Or from source:
git clone https://github.com/Mintplex-Labs/anything-llm
cd anything-llm/server && cp .env.example .env && yarn && yarn dev

Open http://localhost:3001, create an admin account, add an LLM provider (Ollama at http://host.docker.internal:11434 if Ollama runs on the host), create a workspace, and upload documents.

See also