# AnythingLLM

> Private, all-in-one chat app for your documents and AI agents

- Category: App UIs & Builders / Chat UIs
- Language: JavaScript/TypeScript
- Licence: MIT
- Repository: https://github.com/Mintplex-Labs/anything-llm
- Website: https://anythingllm.com
- Canonical page: https://ai-tldr.dev/tools/anythingllm/

## In short

AnythingLLM is an all-in-one AI application for chatting with your own documents and running AI agents. You connect a local or cloud LLM, ingest your files, and start asking questions in a chat UI that cites its sources. It sits in the Chat UIs category of the App UIs & Builders tools and is open-source, written in JavaScript/TypeScript and licensed MIT.

## Overview

AnythingLLM is an all-in-one AI application for chatting with your own documents and running AI agents. You connect a local or cloud LLM, ingest your files, and start asking questions in a chat UI that cites its sources. It runs locally by default and can also be self-hosted with Docker.

It is aimed at developers and teams who want a private, ChatGPT-style interface over their own data without building the RAG plumbing themselves. The Docker version adds multi-user support and per-user permissioning, so you can share one instance without mixing everyone's data.

As a chat UI, it sits in front of many model providers (OpenAI, Anthropic, Ollama, LM Studio, Mistral, Groq and more) and vector databases, handling document ingestion, embeddings, and retrieval so each provider plugs in through configuration rather than code.

## What it does

- Chat with your documents, with drag-and-drop uploads and inline source citations
- Multiple document types supported (PDF, TXT, DOCX, and more)
- Works with many closed and open-source LLM providers, embedders, and vector databases
- Built-in and custom AI agents that can browse the web and use tools, including MCP-compatible tools
- Multi-user instance support with per-user access control (Docker version)
- Full developer API plus an embeddable chat widget for your website

## Getting started

There are two main ways to run AnythingLLM: the desktop app for a single user, or Docker for a self-hosted, multi-user instance.

1. Option A: Install the desktop app

   Download the desktop build for Mac, Windows, or Linux from the official site. This is the fastest path for a single-user, local setup.

2. Option B: Run with Docker

   On Mac or Linux, set a persistent storage location and start the container. Your data persists between container rebuilds and image pulls.

```bash
export STORAGE_LOCATION=$HOME/anythingllm
mkdir -p $STORAGE_LOCATION && \
touch "$STORAGE_LOCATION/.env" && \
docker run -d --rm -p 3001:3001 \
--cap-add SYS_ADMIN \
-v ${STORAGE_LOCATION}:/app/server/storage \
-v ${STORAGE_LOCATION}/.env:/app/server/.env \
-e STORAGE_DIR="/app/server/storage" \
mintplexlabs/anythingllm
```

3. Open the app

   Once the container is running, open the app in your browser, then configure your LLM provider and create a workspace to start ingesting documents.

```text
http://localhost:3001
```

## When to use it

- Build a private, ChatGPT-style assistant over your own internal documents and knowledge base
- Self-host a multi-user chat instance for a team, with separate access per user
- Run AI agents that browse the web or call MCP tools from inside a workspace
- Embed a document-aware chat widget on your website or integrate via the developer API
