Operator UI
A web console for the uaii CLI, running locally or self-hosted from dashboard/. Chat with Hugging Face decoder folders and GGUF blk.* models, pull from the Hub, and manage device and memory settings.
What it provides
- Chat
- Generation through
uaii generateor a warmuaii chat --jsonlworker, with streaming output, system prompt, token limit, temperature, top-p, top-k, repetition penalty, cancellation, and a FIFO request queue. - Hugging Face
- Hub pulls and folder imports for decoder-only CausalLM checkpoints, which require a current
uaiibuild. See Hugging Face. - GGUF
- Dense and MoE
blk.*transformers including the MLA expand path, plus a built-in demo model for smoke tests. - Model library
- Upload GGUF files, list Hugging Face and GGUF models, convert, and delete.
- Runtime health
- Run
uaii doctor --load-pluginsfrom the browser. - Benchmarks
- Run
uaii_benchand read the results as a table or raw JSON. - Settings
- Bind address, port, binary paths, device selection defaulting to auto, GEMM provider, thread count, and auth token.
- API
- A REST surface under
/api/*plus OpenAI-compatible/v1/modelsand/v1/chat/completions. - Themes
- Light and dark, following your system preference by default.
Running locally
Build the runtime first, then start the dashboard on loopback:
# 1) Build UAII cmake --build build --target uaii uaii_bench --parallel # Windows App Control frequently blocks unsigned .exe files. Build under WSL: # bash scripts/build_uaii_wsl.sh # bash scripts/test_generate_wsl.sh # 2) Dashboard cd dashboard npm run install:all npm run build && npm start # → http://127.0.0.1:8787 # Development, with hot reload npm run dev # UI :5174 · API :8787
Helper scripts: dashboard/scripts/start-local.ps1 on Windows and dashboard/scripts/start-local.sh on Linux and macOS.
Self-hosting on a LAN or server
Binding to any address other than loopback requires a token. The process refuses to start without one.
export UAII_DASH_TOKEN=$(openssl rand -hex 16) export UAII_DASH_BIND=0.0.0.0 cd dashboard ./scripts/start-host.sh # Open http://SERVER:8787 and unlock with the token
Docker:
export UAII_DASH_TOKEN=$(openssl rand -hex 16) export UAII_HOST_BIN=$PWD/../build/libs/uaii-cli/uaii export UAII_HOST_BENCH=$PWD/../build/benchmarks/uaii_bench cd dashboard docker compose up --build
Configuration
Copy dashboard/uaii-dash.example.json to uaii-dash.json, or set environment variables, which take precedence over the file. The default device is "backend": "auto"; an older config pinned to "cpu" keeps that value until you reset it in Settings. Bind address and port changes take effect after restarting the process.
| Variable | Default | Meaning |
|---|---|---|
UAII_BIN | auto-detect build tree | Path to uaii |
UAII_BENCH_BIN | auto-detect | Path to uaii_bench |
UAII_MODEL_DIR | dashboard/models | Model library directory |
UAII_DASH_BIND | 127.0.0.1 | Set to 0.0.0.0 to self-host |
UAII_DASH_PORT | 8787 | HTTP port |
UAII_DASH_TOKEN | (empty) | Required when the bind address is not loopback |
UAII_GEMM / UAII_NUM_THREADS | — | Passed through to CLI jobs |
UAII_USE_WSL / UAII_WSL_BIN | auto on Windows | Force the WSL uaii binary when Windows App Control blocks the .exe |
UAII_BACKEND | auto | Device for chat and run jobs. auto uses a native GPU when available, or pin cpu, cuda, and so on |
UAII_MAX_CONTEXT | 0 | Maximum session context for chat workers. The sliding KV window from the CLI preset still applies |
Common workflows
- Verify the installOpen Chat, select the
uaii-tiny-demomodel, and run. Tokens stream immediately with no download. - Run a Hugging Face modelOpen Models, choose Pull from Hub or Import HF folder, then switch to Chat, select the folder, and run with paging and device selection applied.
- Run a GGUF modelOpen Models, import a
.gguffile, then switch to Chat, select it, set a token limit, and run. - Check runtime healthOpen Runtime and run doctor.
- Measure performanceOpen Benchmarks and run the microbenchmark suite.
- Serve a teamSelf-host, then issue a Bearer token for
/v1/chat/completions.
OpenAI-compatible clients
curl -s http://SERVER:8787/v1/models \
-H "Authorization: Bearer $UAII_DASH_TOKEN"
curl -s http://SERVER:8787/v1/chat/completions \
-H "Authorization: Bearer $UAII_DASH_TOKEN" \
-H "Content-Type: application/json" \
-d '{"model":"uaii-tiny-demo","messages":[{"role":"user","content":"hi"}]}'
# Reference a local file as "uaii-file-my-model.gguf"Related
dashboard/README.mdanddocs/prd-dashboard.mdin the repository- CLI — the
generateandchatcommands the console drives - Features — GGUF architecture coverage
- Configuration — runtime and dashboard environment variables