zilliz
A unified CLI and TUI (Terminal User Interface) for managing Zilliz Cloud clusters and Milvus vector database operations, written in Rust.
Features
- Dual interface -- interactive TUI mode and traditional CLI commands
- Model-driven -- operations defined in JSON, supporting dynamic command generation
- Multi-resource management -- clusters, collections, vectors, indexes, backups, billing, and more
- Rich output -- table, JSON, YAML, CSV, and text formats with JMESPath filtering
- Async job polling --
--waitflag for long-running operations - Metrics -- query cluster and collection metrics; default output is an inline Braille line chart per metric with
min / max / avg / lastsummary (pass-o tablefor the pivot-table layout,-o json/--queryfor raw data)
Quick Start
Install
This installs two binaries: zilliz (primary) and zz (shorthand alias). Both are identical.
Authenticate
# Browser-based OAuth (recommended)
# Login with an API key (prompted if no value is given)
# Log in to the CN cloud (api.cloud.zilliz.com.cn) — API key only
# Or configure credentials interactively
Set Cluster Context
A cluster context is required for data-plane operations (collections, vectors, etc.).
# Interactive selection
# Or specify directly
# Check current context
Launch TUI
Running zilliz without arguments starts the interactive terminal UI.
Use CLI
# List clusters
# Describe a collection (using shorthand alias)
# JSON output with JMESPath filtering
# Suppress table headers
# Wait for an async operation to complete
CLI Commands
Built-in Commands
| Command | Description |
|---|---|
login |
Log in to Zilliz Cloud (OAuth, --api-key, or --cn for CN cloud) |
logout |
Log out and clear stored credentials |
configure |
Manage configuration (set, get, list, clear) |
context |
Manage cluster context (set, current, clear) |
auth status |
Show current authentication status |
auth switch |
Switch to a different organization |
completion |
Shell completions (install, uninstall, status, show) |
version |
Display version info |
Control-Plane Commands (Cloud Management)
| Resource | Operations |
|---|---|
cluster |
list, describe, modify, suspend, resume, delete, create, providers, regions, metrics |
project |
create, list, describe, upgrade |
backup |
create, list, describe, delete, export, restore-cluster, restore-collection, describe-policy, update-policy |
import |
start, list, status |
volume |
create, list, delete |
job |
describe |
billing |
usage, invoices |
Data-Plane Commands (Milvus Operations)
These commands require a cluster context (zilliz context set).
| Resource | Operations |
|---|---|
collection |
create, list, describe, drop, rename, load, release, get-load-state, get-stats, has, flush, compact, metrics |
vector |
insert, upsert, search, hybrid-search, query, get, delete |
database |
create*, list, describe*, drop* |
index |
create, list, describe, drop |
partition |
create, list, drop, has, get-stats, load, release |
user |
create*, list*, describe*, drop*, update-password*, grant-role*, revoke-role* |
role |
create*, list*, describe*, drop*, grant-privilege*, revoke-privilege* |
alias |
create, list, describe, alter, drop |
* Dedicated clusters only.
Local Milvus Standalone
Manage a local Milvus standalone Docker deployment via the official
standalone_embed.sh
script. Requires bash and a working Docker daemon (macOS / Linux / WSL).
| Action | Description |
|---|---|
zilliz milvus standalone install |
Download standalone_embed.sh into ./milvus-standalone (or --dir <path>). |
zilliz milvus standalone start |
Run bash standalone_embed.sh start. |
zilliz milvus standalone stop |
Run bash standalone_embed.sh stop. |
zilliz milvus standalone restart |
Stop and start the container. |
zilliz milvus standalone delete |
Remove container, volumes/, and config files (destructive — prompts for confirmation, or pass --yes). |
zilliz milvus standalone upgrade |
Replace standalone_embed.sh with the latest from upstream master and restart (destructive — prompts, or pass --yes). Alias: update. |
Common flags: --dir <path>, --dry-run, -y / --yes, -h / --help. Install
also accepts --script-url <https://...>, --start, and --force.
# Preview without touching the filesystem or Docker
# Install and start in one go
# Manage the running deployment
Default endpoints after start: Milvus localhost:19530, WebUI
http://localhost:9091, embedded etcd localhost:2379. Data is persisted
under <install-dir>/volumes/milvus.
Global Flags
| Flag | Description |
|---|---|
--api-key <KEY> |
Override API key (or set ZILLIZ_API_KEY env var) |
-o, --output <FMT> |
Output format: table (default), json, yaml, csv, text |
-a, --all |
Fetch all pages for paginated responses |
--query <JMESPATH> |
Filter output with a JMESPath expression |
--no-header |
Suppress table/CSV header row |
--wait |
Wait for async jobs to reach a terminal state |
TUI Keyboard Shortcuts
| Key | Action |
|---|---|
q / Esc |
Quit |
Ctrl+C |
Force quit |
Configuration
Config files are stored in ~/.zilliz/ (compatible with zilliz-cli):
| File | Content |
|---|---|
credentials |
API keys, user info, org data (INI format) |
config |
Cluster context and database preferences (INI format) |
Environment Variables
| Variable | Description |
|---|---|
ZILLIZ_CONFIG_DIR |
Override config directory (default: ~/.zilliz/) |
ZILLIZ_API_KEY |
Set API key (overrides config file) |
RUST_LOG |
Enable debug logging (e.g., RUST_LOG=zilliz=debug) |