🏠 Dashboard
Overview of Vivian's brain and server pool.
💻 System Resources
Comprehensive overview of CPU, RAM, GPUs, and running processes.
📨 Request Queue
Per-model queue breakdown. View, cancel, clear tickets and tune queue settings live.
🧊 3D & Media Jobs
The media service's job queue — 3D models and videos. Full history, per-job logs, push-to-front, delete.
🧠 Smart Loader
Self-tuning model loader. Auto-detects GPU architecture, picks the optimal multi-GPU split, KV-cache compression, flash-attention, and the largest safe context window — then lets you chat with a live test bot. Loads GGUF and safetensors.
| Status | — pick a model — |
📦 Model Quantizer
Paste a HuggingFace URL — it downloads the safetensors, converts to GGUF, and quantizes to 4-bit so the model fits in memory.
Exact KV cache cost computed from the model's own GGUF metadata (GQA-aware) against real free VRAM — how big a context you can actually afford.
🧩 C++ Server Profiles
Pick how the primary model's context is carved up — total pool, slot count, unified vs per-slot KV, which GPUs — and how much of it the demo account vs everyone else may use. Applying a profile restarts vivian-cpp-server; if it fails to come up with the requested geometry it reverts automatically.
context_length_exceeded.
🎛️ Model Settings
Edit every setting of every model this server can load — context window, response limit, GPU placement, KV cache, batching and more. Saves are written to .env, so they apply on every load from now on.
📈 Model Activity
What the models are doing right now, what they have been doing, and a bench to test changes.
Runs a real generation through /v1/chat/completions — the same path live traffic takes.
Sliders below apply to this test only. Use “Save as global default” to change what every
request gets when it does not specify its own value.
⚡ Model Engines
Switch between local llama-cpp-python GPU engine and Ollama server pool. Full runtime control — no restart needed.
Loading…
Which loader serves the model. Apply switches the routing and restarts the model under the selected loader (unload here + preload where possible).
| Package | — |
| Model | — |
| GGUF path | — |
| File exists | — |
| Loaded in RAM | — |
| Context window | — |
| GPU layers | — |
| Multi-GPU split | — |
| Batch / µBatch | — |
| KV cache type | — |
| Flash attention | — |
| Total servers | — |
| Healthy | — |
| Package | — |
| Model | — |
| GGUF path | — |
| File size | — |
| File exists | — |
| Loaded in VRAM | — |
| GPU pin | — |
| Context window | — |
| Batch (n / u) | — |
| KV cache | — |
| Flash attention | — |
| Status | — |
POST /v1/chat · GET /v1/chat/status · POST /v1/chat/loadA small, fast local model for plain text chat, pinned to its own GPU. When busy or unloaded,
/v1/chat automatically falls back to the Ollama manager so requests always complete.
Auto — the local GPU engine handles requests for its configured model; all other model names go to Ollama.
Llama Only — every chat request is sent to the local GPU engine regardless of model name. Best for speed.
Ollama Only — completely bypasses the local engine. Use this if the GGUF isn't ready or for multi-model use.
🖥️ Ollama Servers
Add and manage Ollama backend servers. Smart routing uses priority + health.
| Name | URL | Status | Connections | Priority | Latency | Requests | Models | Actions |
|---|---|---|---|---|---|---|---|---|
| Loading… | ||||||||
☁️ Cloud Models
Register cloud AI models (DeepSeek, GLM, OpenAI, Ollama Cloud, custom). Models with :cloud suffix route to their cloud API.
| Ollama Name | Provider | Real Model | Base URL | Priority | Max Conn | Enabled | Actions |
|---|---|---|---|---|---|---|---|
| Loading… | |||||||
🧩 Applications — Install & Set Up
Every 3D, CAD, PCB, slicer, 2D and game-engine program Vivian can link into. Detects what is installed, installs what is not, places plug-ins where each app loads them (rules first, AI for anything else), and writes new plug-ins on request.
| App | Plug-in | Family | Summary | Files | Actions |
|---|---|---|---|---|---|
| None yet — click + New plug-in. | |||||
| When | Kind | App | Label | Status | |
|---|---|---|---|---|---|
| No jobs yet. | |||||
🧠 Mind & Memory
Vivian's core identity, knowledge, and episodic memories.
| Category | Key | Value | Importance | Actions |
|---|---|---|---|---|
| Loading… | ||||
💜 Emotional History
Track how Vivian's emotional state has evolved over time.
| Emotion | Intensity | Valence | Trigger | Time |
|---|---|---|---|---|
| Loading… | ||||
👥 Users
Manage API users and their keys.
| Username | Display Name | Role | Memory | Created | Last Login | Actions |
|---|---|---|---|---|---|---|
| Loading… | ||||||
⚙️ Settings
Configure Vivian's behaviour and personality.
📰 News Feed
Latest aggregated news from 35+ RSS sources, refreshed every 15 minutes.
🧠 Live Learning
Hash-indexed RAG knowledge base. Index files, directories, code, and news to give Vivian grounded context during inference. No retraining needed.
No jobs yet.
📋 Request Logs
Every incoming API call — what was sent, what came back, tokens used.
| Time | Method | Path | Status | Duration | User | IP | Model | Tokens↑ | Tokens↓ | Total | Request | Response |
|---|
⚠️ Server Errors
Last 100 unhandled exceptions and 500 errors. Click any row to expand the traceback.
Loading…
📦 Sessions
Manage AI sessions (code sessions and standard sessions).
| ID | User | Title | Status | Org UUID | Created | Actions |
|---|---|---|---|---|---|---|
| Loading… | ||||||
🔌 Bridge & Workers
Monitor bridge environments, work dispatch queues, and active workers.
| ID | User | Bridge ID | Status | Machine | Worker Type | Created | Actions |
|---|---|---|---|---|---|---|---|
| Loading… | |||||||
🔐 OAuth & Trusted Devices
Manage active OAuth access tokens and enrolled trusted devices.
| User | Client ID | Scopes | Issued | Expires | Actions |
|---|---|---|---|---|---|
| Loading… | |||||
🖥️ Admin Terminal
A real shell on the server, over a pseudo-terminal — like an SSH session.
cd, pipes, colours and interactive programs all work.
🖧 Remote Workers
Manage GPU/CPU nodes. Generate an enrollment key, copy the install script it produces, and run it on any Windows/Linux/macOS machine — it dials out over WebSocket and appears below with its detected hardware and services. From there you can deploy llama-server/Ollama on the node itself and route chat/model traffic to it.
💳 Purchases
All token purchase orders — approve CashApp payments or review PayPal IPN results.
| User | Tokens | Amount | Method | Status | Ref | Date | Actions |
|---|---|---|---|---|---|---|---|
| Loading… | |||||||
🪙 Token Packages
Manage available token tiers that users can purchase.
| Name | Tokens | Price (USD) | Enabled | Actions |
|---|---|---|---|---|
| Loading… | ||||
🔐 License Management
Manage license products and generate license keys for users.
| Name | Description | One-Time | Monthly | Active | Actions |
|---|---|---|---|---|---|
| Loading… | |||||
💬 Forum Manager
Manage categories, boards, threads, posts, and user moderation for forums.d0a.net
New Category
New Board
Edit Thread
Edit Post
Ban User
User Profile
Display Name: —
Created: —
Add Ollama Server
Edit Ollama Server
☁️ Add Cloud Model
☁️ Edit Cloud Model
Add Memory
Edit Memory
Request Detail
—
—
—
—
—
—
—
—
Session Events
Copy it now — it will not be shown again.
🔗 Embeddings
Embedding models available in your Ollama pool, and a live tester.
👁️ Vision / Image Analysis
Use Ollama vision models (llava, minicpm-v, moondream…) to describe or query images.
🧪 Qwen Test Bench
Exercise the primary chat model end-to-end — images, video frames, and thinking vs non-thinking — straight against the C++ model server on :5320, the same path live traffic takes. Every result echoes the exact sampling parameters that were sent.
Reasoning mode
🏆 Model Benchmark
Run one fixed battery of graded tests against a model — maths, physics, executed programming, tool calling, reasoning, instruction following, knowledge and over-refusal — then compare its scores against every model benchmarked before it. Grading is deterministic (no LLM judge), so two runs of the same suite version are directly comparable.
Run a benchmark
Leaderboard
Best run per model · same suite version onlyLoading…
Score by category
Run a benchmark to see the comparison.
Overall score over time
Two or more runs are needed to plot a trend.
Run history
Loading…
🧊 3D Studio
Talk to the local text-to-3D model (Hunyuan3D). Describe an object and get a downloadable 3D mesh, streamed live over a WebSocket that stays open for the whole generation.
🎬 Video Studio
Local text-to-video AI (zeroscope) on the reserve GPU. It shares the 3D service's job queue, so a clip waits its turn if a 3D model is mid-generation.
🧵 Texture Studio
Generate seamless/tileable PBR textures (SD3.5) from a text command — with legible words baked in — or upload a texture and remix it (img2img). Textures can also be baked onto 3D models over in the 3D Studio.
🎨 Image Studio
Local text-to-image (SDXL, on the 3D service's GPU). Describe an image — or attach a reference picture to generate new images guided by it (img2img).
📊 Site Analytics
Pageviews, unique visitors, top pages, and referrers across all sites.
| Path | Site | Hits |
|---|---|---|
| Loading… | ||
| Referrer | Hits |
|---|---|
| Loading… | |
🔍 SEO Manager
Manage meta titles, descriptions, keywords, and Open Graph settings per site and page.
| Site | Page Key | Title | Description | Keywords | Robots | Actions |
|---|---|---|---|---|---|---|
| Loading… | ||||||
📁 Files
Uploaded files and multipart uploads.
| ID | Filename | Purpose | Bytes | Status | Actions |
|---|---|---|---|---|---|
| Loading… | |||||
🤖 Assistants
OpenAI-compatible assistants and their threads.
| ID | Name | Model | Actions |
|---|---|---|---|
| Loading… | |||
🗃️ Vector Stores
Semantic search vector stores and their files.
| ID | Name | Files | Status | Actions |
|---|---|---|---|---|
| Loading… | ||||
📦 Batches
Batch API jobs for bulk processing.
| ID | Endpoint | Status | Progress | Actions |
|---|---|---|---|---|
| Loading… | ||||
🎛️ Fine-tuning Jobs
Model fine-tuning job history.
| ID | Base Model | Fine-tuned Model | Status | Actions |
|---|---|---|---|---|
| Loading… | ||||
📊 Evals
Model evaluation configurations and run history.
| ID | Name | Model | Actions |
|---|---|---|---|
| Loading… | |||
📖 Source Code Library
Browse and manage the indexed source code library.
| Path | Lang | Lines | Size | Indexed | Actions |
|---|---|---|---|---|---|
| Loading… | |||||
🎮 Xbox 360 / Xbox Live Library
Browse and manage the indexed Xbox source library.
| Path | Lang | Lines | Size | Indexed | Actions |
|---|---|---|---|---|---|
| Loading… | |||||
Code Library AI
Chat with an AI that has direct access to the source code library.
No history yet
Xbox Library AI
Chat with an AI that has direct access to the Xbox 360 / Xbox Live source library.
No history yet
🧠 RLM Engine
Recursive Language Models (arXiv:2512.24601) — the prompt is bound to a REPL variable instead of the context window, so the root model can process inputs far larger than its window by recursively querying sub-models over slices.
Run an inference
Result
REPL TRACE — the programs the root model wrote
Continual Harness
Durable agent state that survives compaction and sessions. The base system prompt is immutable.
REFINE — learn durable state from a trajectory
🤖 CLI Agent Systems
The Vivian CLI's own coding-agent infrastructure — the external code-reference library, stuck-run cloud escalation, and its local "lessons learned" memory. Not the Source Code Library (a different, pre-existing system for browsing this project's own indexed structures).
📚 Code Reference Library — external corpus search (/v1/code_index/*)
Search the library
☁️ Cloud Escalation — stuck-run second opinion via deepseek-v4-pro:cloud
Gated by /rlm on in the CLI. When a run has been stuck (repeated failures or no forward
progress) for the threshold below, straight through, it asks the cloud model once for a second opinion
and folds the answer into the transcript. This is a per-CLI-process setting shown here for visibility —
change it in .env as CLOUD_ESCALATION_MINUTES and restart the API to apply.
🎓 Lessons Learned — the CLI's local mistake memory (~/.vivian/lessons.json)
Managed from inside the CLI — see note below
Every CLI session silently records a lesson when a tool call fails and a later call of the same tool
succeeds — the pairing captures both the mistake and what fixed it, so future sessions are told about it
before repeating it. This file lives on your own machine (~/.vivian/lessons.json),
not on this server, so it isn't remotely browsable here the way the other two panels are.
Manage it from inside the CLI: /lessons lists everything, /lessons <topic>
searches, /lessons stats summarises by tool, and /lessons clear <id|all>
removes entries.
⌨️ Code Agent IDE
The 35B RLM coding agent — one tool (a persistent Python REPL), an independent verifier, real diffs.
Select a file in the Explorer, or give the agent a task below.
The agent reads files into REPL variables rather than into its context window,
so a 2 MB file costs whatever it chooses to print — not 2 MB of tokens.
🎮 Game Agent
Screen capture + synthetic input + the multi-agent harness from The PokéAgent Challenge. Capture and input need a display — check capabilities first.
Host capabilities
Windows
Screenshot test
Input test
Agent session
🕹️ Game Boy — Agent Test Bench
no sessionA Game Boy emulator running in this tab (gameboy.js, MIT). The browser streams frames to the API and polls for buttons, so the server-side agent plays a game rendered here. Load your own ROM — none are bundled.
ROM
Agent bridge
Let the agent play
🕘 Queue History
Every request that has run through the queue, kept permanently. The live Queue page only shows the last few minutes before finished tickets are garbage-collected.
🛑 Emergency Stop
Stops every Vivian service and evicts all models from GPU memory. This includes the main API and this admin portal itself.
⚠ Read this before you click
- There is no web way back. This portal will be stopped too, so the button cannot undo itself. Recovery needs SSH or console access.
- To bring everything back:
sudo /home/vivian/Vivian-api/scripts/emergency_start.sh - Services are stopped, not disabled — a reboot restores the whole stack automatically.
- Left running on purpose so you can still get in: sshd, tailscale, rustdesk, VNC, webmin, cloudflared, the databases, and the ollama daemon (its models are evicted, freeing the VRAM).
Preview — safe, changes nothing
Runs the exact same script in dry-run mode and shows precisely what it would stop and unload. Nothing is touched. Do this first if you are unsure.
🔄 Emergency Restart
Stops everything, waits for GPU memory to be released, then starts everything back up in dependency order — the RPC node first, then the C++ chat server, then the rest. Use this when the stack is wedged and you want a clean slate.
- This panel goes down and comes back on its own — it is started first on the way back up. Expect ~1–3 minutes of downtime.
- Models are not preloaded; they load on demand, so the first request after a restart is slow.
- The script survives its own stop phase (it detaches first), so it always reaches the start half.
Type RESTART EVERYTHING
to arm. (Deliberately different from the stop phrase — the two must never be confused.)
Trigger the emergency stop
Type STOP EVERYTHING
below to arm the button. This is deliberately awkward — it is the only thing standing between a
stray click and the whole site going dark.