<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Oshine Li</title>
    <description>The latest articles on DEV Community by Oshine Li (@oshine).</description>
    <link>https://dev.to/oshine</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4140327%2F277bd99f-6f43-4d39-b202-72877058f6d7.jpg</url>
      <title>DEV Community: Oshine Li</title>
      <link>https://dev.to/oshine</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/oshine"/>
    <language>en</language>
    <item>
      <title>A 1.5MB Local LLM Manager That Turns llama.cpp Into a Complete Desktop AI Workstation</title>
      <dc:creator>Oshine Li</dc:creator>
      <pubDate>Thu, 24 Sep 2026 03:41:55 +0000</pubDate>
      <link>https://dev.to/oshine/a-15mb-local-llm-manager-that-turns-llamacpp-into-a-complete-desktop-ai-workstation-9a</link>
      <guid>https://dev.to/oshine/a-15mb-local-llm-manager-that-turns-llamacpp-into-a-complete-desktop-ai-workstation-9a</guid>
      <description>&lt;h1&gt;
  
  
  Open Source | Ooor: A 1.5MB Local LLM Manager That Turns llama.cpp Into a Complete Desktop AI Workstation
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;: 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.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  I. Why Another Local LLM Tool?
&lt;/h2&gt;

&lt;p&gt;Let's be honest — running LLMs locally in 2026 isn't novel anymore. But have you ever experienced this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You want to use &lt;strong&gt;llama.cpp&lt;/strong&gt; directly, but every time you have to scroll through &lt;code&gt;llama-server --help&lt;/code&gt; to find the right flags, type out a long command line, and restart everything just to change the GPU layer count&lt;/li&gt;
&lt;li&gt;You use &lt;strong&gt;Ollama&lt;/strong&gt;, but model search is limited, and finding a specific quantized GGUF file means digging through HuggingFace manually&lt;/li&gt;
&lt;li&gt;You use &lt;strong&gt;LM Studio&lt;/strong&gt;, but the installer is 500MB+, Electron eats 800MB of RAM, and you keep getting popups nudging you to log in&lt;/li&gt;
&lt;li&gt;You downloaded a model and want to connect it to Cursor / Continue, only to realize you have to manually construct an OpenAI-compatible API endpoint URL&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If any of that resonates, &lt;strong&gt;Ooor&lt;/strong&gt; (pronounced "O-or") is worth five minutes of your time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub&lt;/strong&gt;: &lt;a href="https://github.com/rhettli/Ooor-desktop" rel="noopener noreferrer"&gt;https://github.com/rhettli/Ooor-desktop&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Website&lt;/strong&gt;: &lt;a href="https://ooor.cc" rel="noopener noreferrer"&gt;https://ooor.cc&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;License&lt;/strong&gt;: MIT&lt;br&gt;
&lt;strong&gt;Author&lt;/strong&gt;: oshine&lt;/p&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6no808y8tmlaqjorlvl7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6no808y8tmlaqjorlvl7.png" alt=" " width="799" height="608"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9oqdyd8obpp2mx3rvq00.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9oqdyd8obpp2mx3rvq00.png" alt=" " width="799" height="382"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  II. What Is Ooor?
&lt;/h2&gt;

&lt;p&gt;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 &lt;strong&gt;WinForms + .NET Framework 4.8&lt;/strong&gt;, compiling to a 1.5MB binary that launches instantly and idles in single-digit megabytes of RAM.&lt;/p&gt;

&lt;p&gt;Specifically, Ooor packs &lt;strong&gt;four roles&lt;/strong&gt; into a single sub-1.5MB executable:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Role&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Llama Engine Manager&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Discover, install, and switch between llama-server builds (CPU / CUDA / Vulkan / SYCL)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Model Library Manager&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Scans disk for all .gguf files, manages multimodal projection files, supports soft-delete&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Downloader&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Chunked resumable downloads, HuggingFace mirror support, GitHub proxy acceleration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Chat Console &amp;amp; Agent Host&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Streaming chat, tool calling (read/write files, shell, web fetch), MCP protocol support&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;


&lt;h2&gt;
  
  
  III. Core Features In Detail
&lt;/h2&gt;
&lt;h3&gt;
  
  
  1. Radically Lightweight: 1.5MB Complete Toolkit
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Installer Size&lt;/th&gt;
&lt;th&gt;Runtime Dependency&lt;/th&gt;
&lt;th&gt;Idle Memory&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Ollama&lt;/td&gt;
&lt;td&gt;~150MB&lt;/td&gt;
&lt;td&gt;Bundled runtime&lt;/td&gt;
&lt;td&gt;~50MB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LM Studio&lt;/td&gt;
&lt;td&gt;~500MB+&lt;/td&gt;
&lt;td&gt;Electron + Chromium&lt;/td&gt;
&lt;td&gt;~800MB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Ooor&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~1.5MB&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;.NET Framework 4.8 (built into Win10)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;single-digit MB&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;No Electron. No Node runtime. No 200MB framework download. A hand-written WinForms binary that talks directly to &lt;code&gt;llama-server.exe&lt;/code&gt; via local HTTP API.&lt;/p&gt;
&lt;h3&gt;
  
  
  2. Privacy First: 127.0.0.1 Is Your Boundary
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Model service binds to &lt;code&gt;127.0.0.1&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;No telemetry, no "anonymous usage statistics," no account system&lt;/li&gt;
&lt;li&gt;Your prompts, your files, your conversation history — all stay on your machine&lt;/li&gt;
&lt;li&gt;The only outbound traffic is when you &lt;strong&gt;explicitly&lt;/strong&gt; instruct an Agent to fetch a URL&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  3. One-Click Launch + OpenAI-Compatible API
&lt;/h3&gt;

&lt;p&gt;Select engine → Select model → Click &lt;strong&gt;Start Service&lt;/strong&gt; → Get an OpenAI-compatible HTTP endpoint running at &lt;code&gt;127.0.0.1:6080&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Connect directly to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cursor&lt;/strong&gt;: Settings → Models → Override OpenAI Base URL&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Continue (VS Code extension)&lt;/strong&gt;: Configure &lt;code&gt;apiBase&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cherry Studio&lt;/strong&gt;: Add a custom OpenAI-compatible provider&lt;/li&gt;
&lt;li&gt;Any tool that supports the OpenAI &lt;code&gt;/v1/chat/completions&lt;/code&gt; format&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  4. Independent Engine Version Management
&lt;/h3&gt;

&lt;p&gt;llama.cpp iterates rapidly. Ooor's approach: &lt;strong&gt;decouple the engine from the GUI&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;One-click download of official llama.cpp releases (CPU / CUDA / Vulkan / SYCL)&lt;/li&gt;
&lt;li&gt;Auto-extracts &lt;code&gt;llama-b*-bin-win-*.zip&lt;/code&gt; to &lt;code&gt;config\llama-bin\&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Multiple versions coexist; one-click switching&lt;/li&gt;
&lt;li&gt;Upgrading the engine doesn't require upgrading Ooor, and vice versa&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  5. Local Model Library Management
&lt;/h3&gt;

&lt;p&gt;The Model Manager is a spreadsheet-like GGUF file management interface:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Column&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Model Name&lt;/td&gt;
&lt;td&gt;Filename&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Projection File&lt;/td&gt;
&lt;td&gt;Multimodal (vision) model's &lt;code&gt;mmproj-*.gguf&lt;/code&gt; projection file&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Folder&lt;/td&gt;
&lt;td&gt;Disk location&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Type&lt;/td&gt;
&lt;td&gt;Built-in (internal directory) or External (referenced directory)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Size&lt;/td&gt;
&lt;td&gt;Disk usage&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Note&lt;/td&gt;
&lt;td&gt;Free-form annotation (e.g., "good at code", "fast inference")&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;D&lt;/td&gt;
&lt;td&gt;Soft-delete marker&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Right-click menu: edit notes, locate file, hard-delete / soft-delete, add external model folders.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Soft-delete&lt;/strong&gt; 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.&lt;/p&gt;
&lt;h3&gt;
  
  
  6. Built-In Hugging Face Model Marketplace
&lt;/h3&gt;

&lt;p&gt;Not just a search box — a full HF browser:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Supports &lt;code&gt;hf-mirror&lt;/code&gt; mirror source (friendly for users in regions with restricted access)&lt;/li&gt;
&lt;li&gt;Sortable table: downloads, likes, task category, Gated flag, last updated&lt;/li&gt;
&lt;li&gt;Click a repo to view all GGUF files, each quantization variant annotated with &lt;strong&gt;estimated hardware requirements&lt;/strong&gt; (e.g., "16 GB GPU", "high-end GPU + large RAM")&lt;/li&gt;
&lt;li&gt;Right-click to open the HF model page in your browser&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  7. A Real Download Manager
&lt;/h3&gt;

&lt;p&gt;Not a progress bar — a &lt;strong&gt;real download manager&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Multi-chunk parallel downloads&lt;/li&gt;
&lt;li&gt;Independent status indicator per chunk&lt;/li&gt;
&lt;li&gt;Automatic retry&lt;/li&gt;
&lt;li&gt;Resumable: close the app, reopen, click Start, and it continues from where it left off&lt;/li&gt;
&lt;li&gt;GitHub proxy mirror list (extremely friendly for users behind the GFW)&lt;/li&gt;
&lt;li&gt;Auto-detects &lt;code&gt;llama-b*-bin-win-*.zip&lt;/code&gt; and extracts to the engine directory&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Status bar summary: task count, active count, current speed, total bytes.&lt;/p&gt;
&lt;h3&gt;
  
  
  8. Streaming Chat Console
&lt;/h3&gt;

&lt;p&gt;Built-in chat interface with streaming output. Each response includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Token sparkline&lt;/strong&gt; (a mini chart of tokens-per-second)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Chunk timing visualization&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This means you can visually compare inference speed across engine versions or quantization levels without running a separate benchmark.&lt;/p&gt;
&lt;h3&gt;
  
  
  9. Agent Tool-Calling Layer (Key Feature!)
&lt;/h3&gt;

&lt;p&gt;This is Ooor's most interesting capability — it's not just a chat box, it's a &lt;strong&gt;local Agent host&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Built-in tool set:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Function&lt;/th&gt;
&lt;th&gt;Safety Mechanism&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Fetch URL&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;HTTP GET to fetch a web page, returns cleaned text/Markdown&lt;/td&gt;
&lt;td&gt;Auto-uses GitHub proxy&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Read File&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Reads text files within allowed root directories&lt;/td&gt;
&lt;td&gt;Path restriction&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Write File&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Writes text to allowed root directories&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Requires manual confirmation&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;List Directory&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Lists directory contents&lt;/td&gt;
&lt;td&gt;Path restriction&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Shell&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Executes shell commands&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Requires manual confirmation&lt;/strong&gt;, streaming output&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Memory&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Key-value store across conversation turns&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Workflow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Define an Agent in &lt;strong&gt;Agent Manager&lt;/strong&gt; (system prompt + bound tools + optional MCP server)&lt;/li&gt;
&lt;li&gt;The model autonomously decides whether to call a tool during the conversation&lt;/li&gt;
&lt;li&gt;The console displays the tool call content&lt;/li&gt;
&lt;li&gt;Destructive operations (write file, shell) &lt;strong&gt;must be manually confirmed&lt;/strong&gt; before execution&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;MCP Protocol Support&lt;/strong&gt;: You can bind Model Context Protocol servers that enjoy the same status as built-in tools. The repository includes a sample MCP server &lt;code&gt;ooor-sqlite-mcp&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;What does this mean? Your local model can: fetch web content → read local files → analyze → write results to a file. &lt;strong&gt;A fully offline local research assistant.&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  10. Profile Configuration System
&lt;/h3&gt;

&lt;p&gt;A Profile = engine + model + runtime parameters + Agent binding, as a complete snapshot.&lt;/p&gt;

&lt;p&gt;Typical usage:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Profile A&lt;/strong&gt;: Qwen2.5-Coder-1.5B + CPU engine → quick Q&amp;amp;A&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Profile B&lt;/strong&gt;: DeepSeek-Coder-33B-Q4 + CUDA engine + Agent tools → deep code refactoring&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One-click switching. No need to reconfigure each time.&lt;/p&gt;
&lt;h3&gt;
  
  
  11. Multilingual UI
&lt;/h3&gt;

&lt;p&gt;Supports English and Simplified Chinese, switchable at runtime.&lt;/p&gt;


&lt;h2&gt;
  
  
  IV. Architecture &amp;amp; Source Structure
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Tech Stack
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;Technology&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Client&lt;/td&gt;
&lt;td&gt;C# + WinForms (.NET Framework 4.8)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Inference backend&lt;/td&gt;
&lt;td&gt;llama.cpp (official Release builds)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Chat frontend&lt;/td&gt;
&lt;td&gt;Embedded HTML (Vue.js)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Gateway (optional)&lt;/td&gt;
&lt;td&gt;Go (chi router / SQLite / singleflight)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  Project Structure
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;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

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Data Directory Structure
&lt;/h3&gt;

&lt;p&gt;All user data is centralized under one config tree, making backup and migration straightforward:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Path&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&amp;lt;install_dir&amp;gt;\bin\Ooor.exe&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Application executable&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&amp;lt;install_dir&amp;gt;\config\llama-bin\&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Extracted llama-server builds&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&amp;lt;install_dir&amp;gt;\config\models\&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Built-in model folder (auto-scanned)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&amp;lt;install_dir&amp;gt;\config\github-proxy.txt&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;GitHub acceleration mirror list&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;&amp;lt;install_dir&amp;gt;\config\ref_models.conf&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;External model folder references (e.g., LM Studio library)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;&amp;lt;install_dir&amp;gt;\config\&lt;/code&gt; (chat/temp/remark)&lt;/td&gt;
&lt;td&gt;Chat logs, temp files, annotations&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Default install directory: &lt;code&gt;D:\Ooor&lt;/code&gt; if drive D exists, otherwise &lt;code&gt;%LOCALAPPDATA%\Ooor&lt;/code&gt;.&lt;/p&gt;


&lt;h2&gt;
  
  
  V. Five-Minute Quick Start
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Step 1: Install
&lt;/h3&gt;

&lt;p&gt;Download &lt;code&gt;Ooor-Setup-x64-v*.exe&lt;/code&gt; from &lt;a href="https://ooor.cc" rel="noopener noreferrer"&gt;ooor.cc&lt;/a&gt; and run the installer. On first launch, Windows may show an "unknown publisher" warning — this is because the app currently uses a self-signed certificate (a commercial code signing certificate is on the Roadmap). Click &lt;strong&gt;Run anyway&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;No admin privileges required for daily use (the installer requests admin only for writing to the install directory). No reboot. No runtime installation.&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 2: Get the Llama Engine
&lt;/h3&gt;

&lt;p&gt;Open &lt;strong&gt;Llama → Downloads&lt;/strong&gt; and choose based on your hardware:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;llama-bXXXX-bin-win-cpu-x64.zip&lt;/code&gt; → CPU inference&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;llama-bXXXX-bin-win-cuda-x64.zip&lt;/code&gt; → NVIDIA GPU&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;llama-bXXXX-bin-win-vulkan-x64.zip&lt;/code&gt; → Generic GPU (best cross-vendor compatibility)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After download, it auto-extracts to &lt;code&gt;config\llama-bin\&lt;/code&gt; and auto-selects.&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 3: Download a Model
&lt;/h3&gt;

&lt;p&gt;Open &lt;strong&gt;Models → Download Models&lt;/strong&gt;, search for a small model to start with, e.g., &lt;code&gt;Qwen2.5-Coder-1.5B-Instruct-Q4_K_M&lt;/code&gt;, and click &lt;strong&gt;Download&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 4: Start the Service
&lt;/h3&gt;

&lt;p&gt;Return to the main window — the engine and model are auto-selected. Click &lt;strong&gt;Start Service&lt;/strong&gt;. The console log shows llama-server starting up, and the status bar displays &lt;code&gt;llama-server detected&lt;/code&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 5: Start Chatting
&lt;/h3&gt;

&lt;p&gt;Click &lt;strong&gt;Open Console AI Assistant&lt;/strong&gt;, type a message, and the model streams back a response.&lt;/p&gt;
&lt;h3&gt;
  
  
  Step 6: Enable Agent Mode (Advanced)
&lt;/h3&gt;

&lt;p&gt;Open &lt;strong&gt;Agent Manager&lt;/strong&gt;, bind a few tools (e.g., &lt;em&gt;Fetch URL&lt;/em&gt;, &lt;em&gt;Read File&lt;/em&gt;), and save as a Profile. Then give the model a task that requires tools, for example:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Fetch the README from &lt;a href="https://github.com/rhettli/Ooor-desktop" rel="noopener noreferrer"&gt;https://github.com/rhettli/Ooor-desktop&lt;/a&gt; and summarize it"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The model will autonomously call the Fetch URL tool, retrieve the content, and return a summary.&lt;/p&gt;


&lt;h2&gt;
  
  
  VI. Building From Source
&lt;/h2&gt;

&lt;p&gt;If you want to compile or contribute:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prerequisites&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Windows + Visual Studio 2022 (or Build Tools) with the &lt;strong&gt;.NET desktop workload&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;NSIS 3.x in &lt;code&gt;%PATH%&lt;/code&gt; (for packaging the installer)&lt;/li&gt;
&lt;li&gt;Optional: signtool (Windows SDK) for code signing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Steps&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/rhettli/Ooor-desktop.git
&lt;span class="nb"&gt;cd &lt;/span&gt;Ooor-desktop

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The build is driven by a Node script:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;node ooor-utils/desktop-app/build-all.js

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The script automatically:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Reads the version number from &lt;code&gt;Core/DEF.cs&lt;/code&gt; and auto-increments by &lt;code&gt;0.0001&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Syncs the version to &lt;code&gt;AssemblyInfo.cs&lt;/code&gt; and &lt;code&gt;installer.nsi&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Cleans &lt;code&gt;bin/Release/&lt;/code&gt; and runs MSBuild (Release configuration)&lt;/li&gt;
&lt;li&gt;Copies &lt;code&gt;github-proxy.txt&lt;/code&gt; to the config directory&lt;/li&gt;
&lt;li&gt;Signs with signtool (auto-generates a self-signed cert if no .pfx is provided)&lt;/li&gt;
&lt;li&gt;Runs makensis to generate the installer&lt;/li&gt;
&lt;li&gt;Signs the installer&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;One-click publish&lt;/strong&gt; (build + upload + version manifest + update check):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;node ooor-utils/desktop-app/publish.js build_and_upload &lt;span class="nt"&gt;--notes&lt;/span&gt; &lt;span class="s2"&gt;"your release notes"&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  VII. Comparison With Mainstream Tools
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Ollama&lt;/th&gt;
&lt;th&gt;LM Studio&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Ooor&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Installer size&lt;/td&gt;
&lt;td&gt;~150MB&lt;/td&gt;
&lt;td&gt;~500MB+&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~1.5MB&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Open source license&lt;/td&gt;
&lt;td&gt;MIT&lt;/td&gt;
&lt;td&gt;Closed&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;MIT&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UI framework&lt;/td&gt;
&lt;td&gt;CLI + basic GUI&lt;/td&gt;
&lt;td&gt;Electron&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;WinForms (native)&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Idle memory&lt;/td&gt;
&lt;td&gt;~50MB&lt;/td&gt;
&lt;td&gt;~800MB&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;single-digit MB&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Login required&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Nudges login&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;No&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Telemetry&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;td&gt;Unclear&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;None&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Inference engine&lt;/td&gt;
&lt;td&gt;Custom (based on llama.cpp)&lt;/td&gt;
&lt;td&gt;Bundled llama.cpp&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Uses llama.cpp official builds directly&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Engine version management&lt;/td&gt;
&lt;td&gt;Tied to app version&lt;/td&gt;
&lt;td&gt;Tied to app version&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Independent, multi-version coexistence&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Model format&lt;/td&gt;
&lt;td&gt;Ollama's own format&lt;/td&gt;
&lt;td&gt;GGUF&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;GGUF (native)&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Model search&lt;/td&gt;
&lt;td&gt;Official library (limited)&lt;/td&gt;
&lt;td&gt;Built-in HF search&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Built-in HF search + mirror acceleration + hardware requirement annotations&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Download acceleration&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;hf-mirror + GitHub proxy + NVMe cache&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Resumable downloads&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Yes (chunk-level)&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Built-in chat&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Yes (streaming + token sparkline)&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Agent tool calling&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Yes (6 built-in tools + MCP support)&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Profile system&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Yes&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OpenAI-compatible API&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;✅&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Multilingual UI&lt;/td&gt;
&lt;td&gt;Partial&lt;/td&gt;
&lt;td&gt;Partial&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;EN/CN, runtime switch&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cross-platform&lt;/td&gt;
&lt;td&gt;Win/Mac/Linux&lt;/td&gt;
&lt;td&gt;Win/Mac/Linux&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Windows only&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Security&lt;/td&gt;
&lt;td&gt;Reported unauthorized access risk&lt;/td&gt;
&lt;td&gt;Closed, opaque&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Pure local 127.0.0.1, no remote access&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  VIII. Use Cases &amp;amp; Limitations
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ✅ Use Cases
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Individual developers&lt;/strong&gt;: Run models locally for coding, token freedom, connect to Cursor / Continue&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Privacy-sensitive scenarios&lt;/strong&gt;: Enterprise intranets, sensitive code, confidential documents — never go to the cloud&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Offline environments&lt;/strong&gt;: Business trips, air-gapped networks, no-internet scenarios — always works&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Poor network conditions&lt;/strong&gt;: hf-mirror + GitHub proxy + chunked resumable downloads — triple acceleration&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Users who don't want to mess with CLI&lt;/strong&gt;: GUI + preset parameters + Profile one-click switching&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agent experimenters&lt;/strong&gt;: Built-in tool calling + MCP support — set up local Agent workflows&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ⚠️ Limitations
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Windows only&lt;/strong&gt;: Mac / Linux users are out of luck for now (the author states no short-term plans to port, since the GUI is WinForms)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Self-signed certificate&lt;/strong&gt;: First launch requires manually bypassing the Windows SmartScreen warning&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gated repos can't be downloaded&lt;/strong&gt;: Due to HuggingFace licensing restrictions, models requiring authorization (e.g., Meta's official Llama) are grayed out — use community GGUF releases instead&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No Web UI&lt;/strong&gt;: The chat interface is embedded in the desktop app and can't be accessed via a browser (Remote mode is on the Roadmap)&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  IX. Roadmap
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Completed ✅
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;[x] Llama engine manager&lt;/li&gt;
&lt;li&gt;[x] Local model library&lt;/li&gt;
&lt;li&gt;[x] Hugging Face marketplace browser&lt;/li&gt;
&lt;li&gt;[x] Resumable download manager&lt;/li&gt;
&lt;li&gt;[x] Streaming chat console&lt;/li&gt;
&lt;li&gt;[x] Built-in tool catalog + Agent host&lt;/li&gt;
&lt;li&gt;[x] MCP server binding&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  In Progress 🚧
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;[ ] Commercial code signing certificate&lt;/li&gt;
&lt;li&gt;[ ] Cross-engine support (beyond llama.cpp)&lt;/li&gt;
&lt;li&gt;[ ] RAG / local knowledge base&lt;/li&gt;
&lt;li&gt;[ ] Plugin SDK (custom tools)&lt;/li&gt;
&lt;li&gt;[ ] Remote (non-localhost) mode + authentication&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  X. Final Thoughts
&lt;/h2&gt;

&lt;p&gt;I've browsed through many local LLM tool projects on GitHub. Most are either Electron GUI shells over CLI tools, or feature-stuffed but rough-around-the-edges half-finished products.&lt;/p&gt;

&lt;p&gt;Ooor feels different. It has a quality of &lt;strong&gt;deliberate subtraction&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No Electron → WinForms, 1.5MB is enough&lt;/li&gt;
&lt;li&gt;No cloud → bound to 127.0.0.1, data never leaves&lt;/li&gt;
&lt;li&gt;Not trying to do everything → only engine management + model management + downloads + chat + Agent&lt;/li&gt;
&lt;li&gt;Not exposing all parameters → sensible defaults, advanced options hidden behind a "More" button&lt;/li&gt;
&lt;li&gt;Not building a general-purpose Agent framework → 6 practical built-in tools + MCP extension&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But it also adds in the right places:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Agent tool-calling layer makes local models more than just "Q&amp;amp;A machines"&lt;/li&gt;
&lt;li&gt;MCP support allows integration into a broader tool ecosystem&lt;/li&gt;
&lt;li&gt;The Profile system makes multi-scenario switching elegant&lt;/li&gt;
&lt;li&gt;Token sparkline makes inference performance visible&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you're on Windows and looking for a &lt;strong&gt;lightweight, open-source, purely local, Agent-capable&lt;/strong&gt; LLM management tool, Ooor is the best option I've found so far.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Project&lt;/strong&gt;: &lt;a href="https://github.com/rhettli/Ooor-desktop" rel="noopener noreferrer"&gt;https://github.com/rhettli/Ooor-desktop&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Website&lt;/strong&gt;: &lt;a href="https://ooor.cc" rel="noopener noreferrer"&gt;https://ooor.cc&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;License&lt;/strong&gt;: MIT&lt;br&gt;
&lt;strong&gt;Author&lt;/strong&gt;: oshine&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This article is based on the Ooor official website and the GitHub repository README. If you spot any inaccuracies, please let me know in the comments.&lt;/em&gt;&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Tags&lt;/strong&gt;: &lt;code&gt;#LocalLLM&lt;/code&gt; &lt;code&gt;#llama.cpp&lt;/code&gt; &lt;code&gt;#GGUF&lt;/code&gt; &lt;code&gt;#Ooor&lt;/code&gt; &lt;code&gt;#OpenSource&lt;/code&gt; &lt;code&gt;#MIT&lt;/code&gt; &lt;code&gt;#OpenAI-compatible&lt;/code&gt; &lt;code&gt;#Agent&lt;/code&gt; &lt;code&gt;#MCP&lt;/code&gt; &lt;code&gt;#Windows&lt;/code&gt; &lt;code&gt;#AITools&lt;/code&gt; &lt;code&gt;#TokenFreedom&lt;/code&gt; &lt;code&gt;#WinForms&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>opensource</category>
      <category>software</category>
    </item>
  </channel>
</rss>
