agentop
A terminal tool for monitoring and safely controlling local Ollama model deployments: live GPU and memory metrics, safe model lifecycle actions, and an optional proxy that captures the request history Ollama doesn't provide.
Real, working, MIT-licensed software — not an AI demo
Every other prototype on this page calls an AI model live in your browser. agentop doesn't — it's an independent, open-source terminal tool that runs on your own machine, with no AI-generated content and no telemetry. It's early-stage (v0.3.0, tagged Beta) and currently installed from source; this page links to the real, public repository rather than embedding a demo, since there's nothing here for a language model to generate or narrate.
Try it
agentop is a real terminal application that runs on your own machine — there's no browser demo to click through, so here's what it actually looks like, and exactly how to install it.
git clone https://github.com/blackboxdelta/agentop.git
cd agentop
uv tool install .
agentop --help
Requires Python 3.11+ and uv. No tagged release yet, so this installs directly from source. View agentop on GitHub ↗
How it works
The TUI polls Ollama asynchronously and collects host metrics in worker threads, so nothing blocks its event loop on HTTP, SQLite, process enumeration, or GPU commands. GPU and memory collection is native per platform: IORegistry/AGX counters on Apple Silicon (labeled UNIFIED, never claimed as dedicated VRAM), NVML on NVIDIA, and rocm-smi on AMD when available.
Ollama itself keeps no request history. An optional local proxy closes that gap: it forwards requests only to the configured Ollama host and records rolling throughput, TTFT, and token metrics in a local SQLite (WAL mode) store — which never contains prompt or response bodies. Without the proxy running, completion-derived panels are explicitly labeled unavailable rather than filled in with invented numbers.
Before loading a “cold” model, agentop computes whether it fits in free memory plus a configurable safety headroom, names what it would evict, and shows an estimated load time; if a load fails after confirmed evictions, it attempts to restore them. Model unload and process-kill actions are confirmation-gated, with a 5-second undo on unload.
Why this exists
This is an independent project, not an extension of a Root18D case study — it grew out of the same instinct behind the Azure Capacity Forecaster and FinOps Anomaly Copilot on this page: infrastructure problems are usually observable before they get expensive, if the right signals are surfaced in one place. Running local models surfaced a real, smaller-scale version of the same gap — Ollama intentionally keeps no request history, and idle GPU runners quietly waste scarce memory — so agentop closes that gap for a single local host instead of a cloud fleet.
Production checklist
- MIT licensed and fully open source — read every line before you install it.
- Automated test suite: metric/parser tests, a memory fit-planner, SQLite persistence, async mock-Ollama tests, proxy integration, and process-signal safety tests.
- No telemetry collected; the only network calls at runtime go to the Ollama host you configure.
- Destructive actions are confirmation-gated — model unload has a 5-second undo, and bulk unload requires typing 'yes'.
- The optional request-history proxy labels completion-derived panels 'unavailable' rather than inventing values when it isn't running.