A 1.5MB Local LLM Manager That Turns llama.cpp Into a Complete Desktop AI Workstation Developer oshine released Ooor, an MIT-licensed open-source Windows desktop app that wraps the llama.cpp ecosystem into a click-and-run local AI workstation in a 1.5MB WinForms binary. The app bundles llama-server engine management across CPU/CUDA/Vulkan/SYCL builds, a GGUF model library with soft-delete, a resumable chunked Hugging Face downloader, a streaming chat console, and an Agent tool-calling layer with MCP support, exposing an OpenAI-compatible endpoint at 127.0.0.1:6080 with no Electron, cloud services, telemetry, or accounts. TL;DR : Ooor is a MIT-licensed, open-source Windows desktop app weighing just 1.5MB. It integrates llama.cpp engine management, a GGUF model library, a Hugging Face model marketplace, a resumable chunked downloader, a streaming chat console, and an Agent tool-calling layer. No Electron. No cloud services. No telemetry. No accounts. Pure local. Double-click and go. Let's be honest — running LLMs locally in 2026 isn't novel anymore. But have you ever experienced this: llama-server --help to find the right flags, type out a long command line, and restart everything just to change the GPU layer count If any of that resonates, Ooor pronounced "O-or" is worth five minutes of your time. GitHub : https://github.com/rhettli/Ooor-desktop https://github.com/rhettli/Ooor-desktop Website : https://ooor.cc https://ooor.cc License : MIT Author : oshine Ooor is a native Windows desktop application that wraps the llama.cpp command-line ecosystem into a "click-and-run" workstation. It's not an Electron app, not WPF, not MAUI — it's plain WinForms + .NET Framework 4.8 , compiling to a 1.5MB binary that launches instantly and idles in single-digit megabytes of RAM. Specifically, Ooor packs four roles into a single sub-1.5MB executable: | Role | Description | |---|---| | Llama Engine Manager | Discover, install, and switch between llama-server builds CPU / CUDA / Vulkan / SYCL | | Model Library Manager | Scans disk for all .gguf files, manages multimodal projection files, supports soft-delete | | Downloader | Chunked resumable downloads, HuggingFace mirror support, GitHub proxy acceleration | | Chat Console & Agent Host | Streaming chat, tool calling read/write files, shell, web fetch , MCP protocol support | | Tool | Installer Size | Runtime Dependency | Idle Memory | |---|---|---|---| | Ollama | ~150MB | Bundled runtime | ~50MB | | LM Studio | ~500MB+ | Electron + Chromium | ~800MB | | Ooor | ~1.5MB | .NET Framework 4.8 built into Win10 | single-digit MB | No Electron. No Node runtime. No 200MB framework download. A hand-written WinForms binary that talks directly to llama-server.exe via local HTTP API. 127.0.0.1 Select engine → Select model → Click Start Service → Get an OpenAI-compatible HTTP endpoint running at 127.0.0.1:6080 . Connect directly to: apiBase /v1/chat/completions format llama.cpp iterates rapidly. Ooor's approach: decouple the engine from the GUI . llama-b -bin-win- .zip to config\llama-bin\ The Model Manager is a spreadsheet-like GGUF file management interface: | Column | Description | |---|---| | Model Name | Filename | | Projection File | Multimodal vision model's mmproj- .gguf projection file | | Folder | Disk location | | Type | Built-in internal directory or External referenced directory | | Size | Disk usage | | Note | Free-form annotation e.g., "good at code", "fast inference" | | D | Soft-delete marker | Right-click menu: edit notes, locate file, hard-delete / soft-delete, add external model folders. Soft-delete is particularly useful: removes from the list but keeps the disk file, so you can switch back and forth during experiments without re-downloading 7GB. Not just a search box — a full HF browser: hf-mirror mirror source friendly for users in regions with restricted access Not a progress bar — a real download manager : Status bar summary: task count, active count, current speed, total bytes. Built-in chat interface with streaming output. Each response includes: This means you can visually compare inference speed across engine versions or quantization levels without running a separate benchmark. This is Ooor's most interesting capability — it's not just a chat box, it's a local Agent host . Built-in tool set: | Tool | Function | Safety Mechanism | |---|---|---| | Fetch URL | HTTP GET to fetch a web page, returns cleaned text/Markdown | Auto-uses GitHub proxy | | Read File | Reads text files within allowed root directories | Path restriction | | Write File | Writes text to allowed root directories | Requires manual confirmation | | List Directory | Lists directory contents | Path restriction | | Shell | Executes shell commands | Requires manual confirmation , streaming output | | Memory | Key-value store across conversation turns | — | Workflow: MCP Protocol Support : You can bind Model Context Protocol servers that enjoy the same status as built-in tools. The repository includes a sample MCP server ooor-sqlite-mcp . What does this mean? Your local model can: fetch web content → read local files → analyze → write results to a file. A fully offline local research assistant. A Profile = engine + model + runtime parameters + Agent binding, as a complete snapshot. Typical usage: One-click switching. No need to reconfigure each time. Supports English and Simplified Chinese, switchable at runtime. | Layer | Technology | |---|---| | Client | C + WinForms .NET Framework 4.8 | | Inference backend | llama.cpp official Release builds | | Chat frontend | Embedded HTML Vue.js | | Gateway optional | Go chi router / SQLite / singleflight | csharp-desktop-app/ ├── OOOR/ Desktop app main project │ ├── Core/ Domain logic: engine runtime, model storage, Agent, tools │ ├── Controls/ Custom WinForms controls sparkline, etc. │ ├── Properties/ AssemblyInfo, Resources │ ├── html/ Embedded web assets for chat console index.html, vue.js │ ├── Lang/ i18n strings en.json, zh.json │ ├── Ooor.csproj │ └── Program.cs ├── Ooor-cli/ Optional CLI frontend ├── OoorFunc/ Shared Agent/tool function library ├── ooor-sqlite-mcp/ Sample SQLite MCP server ├── doc/img/ README screenshots └── Ooor.slnx Solution file All user data is centralized under one config tree, making backup and migration straightforward: | Path | Purpose | |---|---| |