Attu is a modern, AI-native management tool for Milvus vector databases. Connect to multiple Milvus clusters from a single instance — manage schemas, explore data, run vector searches, monitor health, and automate tasks with a built-in AI agent.
Available as a web app (Docker / Kubernetes) or desktop app (macOS, Linux, Windows).
Attu v3 is a ground-up rewrite with a modern full-stack architecture (React 19, TanStack Start, Vite).
- Multi-Cluster Management — Connect to and switch between multiple Milvus instances from a single Attu deployment. Each connection maintains its own context, agent sessions, and preferences.
- AI Agent — Chat-driven Milvus management with 50+ tools. Supports OpenAI, Anthropic, DeepSeek, Google Gemini, and custom endpoints.
- REST API Playground — Interactive API editor with collection-scoped context.
- Backup & Restore — Full and incremental backups with S3, MinIO, GCS, and Azure Blob support.
- Prometheus Metrics Dashboard — 16+ real-time metrics with sparkline visualizations.
- Cluster Topology — Interactive node visualization powered by ReactFlow.
- Slow Request Analysis — Identify and diagnose slow queries across nodes.
- Desktop App with Auto-Update — Native Electron app with automatic update delivery.
- Dark Mode — Full light/dark theme support.
docker run -d --name attu \
-p 3000:3000 \
-e MILVUS_ADDRESS=host.docker.internal:19530 \
-v attu-data:/data \
zilliz/attu:v3.0.0-beta.1Open http://localhost:3000.
services:
milvus:
image: milvusdb/milvus:latest
ports:
- "19530:19530"
- "9091:9091"
command: milvus run standalone
volumes:
- milvus-data:/var/lib/milvus
attu:
image: zilliz/attu:v3.0.0-beta.1
ports:
- "3000:3000"
environment:
- MILVUS_ADDRESS=milvus:19530
volumes:
- attu-data:/data
depends_on:
- milvus
volumes:
milvus-data:
attu-data:docker compose up -dDownload the latest release for your platform:
| Platform | Download |
|---|---|
| macOS (Apple Silicon) | .dmg |
| Linux | .AppImage / .deb |
| Windows | .exe |
macOS note: If you see "attu.app is damaged and cannot be opened", run:
sudo xattr -rd com.apple.quarantine /Applications/Attu.app
Connect to multiple Milvus instances from a single Attu deployment. Add, edit, and switch between connections in the sidebar. Each cluster has its own dedicated workspace with independent monitoring, agent sessions, and preferences — ideal for managing dev, staging, and production environments side by side.
Browse databases and collections, view and edit data inline, import/export in CSV, JSON, and Parquet formats.
Interactive vector similarity search with configurable embedding providers (OpenAI, Cohere, Jina, VoyageAI, and more).
Chat-driven Milvus management with 50+ tools. Create collections, run queries, manage users, analyze performance — all through natural language.
Supports: OpenAI, Anthropic Claude, DeepSeek, Google Gemini, OpenRouter, and custom API endpoints.
Real-time cluster health, Prometheus metrics dashboard with 16+ metrics, and interactive topology visualization.
Full and incremental backups with support for S3, MinIO, GCS, and Azure Blob Storage. Download backups as ZIP or restore from uploaded archives.
Interactive API testing environment scoped to your connection, database, and collection.
- RBAC Management — Create and manage users, roles, and privilege groups.
- Resource Groups — Configure resource allocation across nodes.
- Slow Request Analysis — Identify bottlenecks with cluster-wide slow query inspection.
- Configuration & Environment Viewer — Inspect runtime configs and environment variables.
- Task Queue — Monitor background operations (imports, backups, compactions).
- Internationalization — English and Chinese language support.
| Variable | Example | Description |
|---|---|---|
MILVUS_ADDRESS |
milvus:19530 |
Milvus gRPC endpoint |
MILVUS_NAME |
My Cluster |
Display name in the connection list |
MILVUS_DATABASE |
default |
Default database |
MILVUS_USERNAME |
root |
Auth username |
MILVUS_PASSWORD |
milvus |
Auth password |
MILVUS_TOKEN |
token |
Auth token (alternative to username/password) |
MILVUS_SSL |
true |
Enable TLS connection |
PORT |
3000 |
Server listen port (default: 3000) |
ATTU_DB_PATH |
/data/attu.db |
SQLite database path for connections and preferences |
When MILVUS_ADDRESS is set, Attu will automatically create a connection on first launch.
Note:
MILVUS_ADDRESSmust be reachable from the Attu container.127.0.0.1orlocalhostwill not work — use the container/service name orhost.docker.internal.
Mount your certificate files and set the corresponding environment variables:
docker run -d --name attu \
-p 3000:3000 \
-v /path/to/certs:/certs \
-e MILVUS_ADDRESS=milvus:19530 \
-e MILVUS_SSL=true \
zilliz/attu:v3.0.0-beta.1kubectl apply -f https://raw.githubusercontent.com/zilliztech/attu/main/deploy/attu-k8s-deploy.yamlEdit the YAML to set MILVUS_ADDRESS to your Milvus service name (e.g., my-release-milvus:19530).
See the nginx deployment guide.
| Milvus Version | Attu Version |
|---|---|
| 2.5.x – 2.6.x | v3.0.0-beta.1 |
| 2.6.x | v2.6.5 |
| 2.5.x | v2.5.10 |
| 2.4.x | v2.4.12 |
| 2.3.x | v2.3.5 |
I can't connect to Milvus from Docker
Make sure
MILVUS_ADDRESSis reachable from inside the container. Use the Docker service name, notlocalhost. See #161.
macOS says the app is damaged
Run
sudo xattr -rd com.apple.quarantine /Applications/Attu.appin Terminal.
How do I update?
Docker: pull the latest image and restart. Desktop: the app checks for updates automatically on launch.
Join the Milvus Discord to ask questions, share feedback, and connect with other users.
Attu was open source under the Apache License 2.0 through version v2.5.12. Starting from version v2.6.0, Attu is proprietary software. See LICENSE_PROPRIETARY.txt for details.








