ODS

OsmanticApache-2.0活跃维护

把普通 PC、Mac 或 Linux 机器变成私有 AI 服务器,集成 llama.cpp、ComfyUI、Open WebUI、n8n 等组件,方便本地跑大模型、RAG 和 Agent 工作流。

ODS V3 Pre-Release: Public testing and refinement ahead of the official V3 launch. Turn your PC, Mac, or Linux box into a private AI server.

v3.0.0发布于 2026-09-24 13:20 UTC7,806star +17 / 7 天1,109fork同步于 2026-11-10 17:32 UTC

怎么上手

由 README 提炼,执行前请确认
curl -fsSL https://install.osmantic.com/ods.sh | bash
硬件要求按 README 说明

支持 Linux(NVIDIA、AMD Strix Halo)、Windows(需 WSL2 + Docker Desktop,NVIDIA/AMD)、macOS Apple Silicon;Linux + Intel Arc 为实验性支持。无 GPU 可用 --cloud 模式改走 OpenAI/Anthropic/Together API。README 未给出具体显存数值。

8G 显存可跑16G 显存可跑纯 CPU 可运行支持 Apple Silicon需要 CUDA多卡 / 张量并行有 Docker 镜像
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

一条命令把 PC/Mac/Linux 变成私有 AI 服务器,省去手动拼装 Ollama、Open WebUI 等一堆服务

把普通 PC、Mac 或 Linux 机器变成私有 AI 服务器,集成 llama.cpp、ComfyUI、Open WebUI、n8n 等组件,方便本地跑大模型、RAG 和 Agent 工作流。

核心能力

  • 一键安装并串联 Ollama、Open WebUI、n8n、ComfyUI 等本地服务
  • 提供控制面板统一管理模型、服务、GPU 状态与扩展
  • 内置语音、智能体与工作流自动化能力
  • 集成 RAG、本地文档检索与私有搜索
  • 支持本地图像生成,提示词不发送到托管 API

容易踩的坑

Linux/macOS 需预先安装并运行 Docker;Windows 不要用 curl|bash,需用 README 中的 PowerShell 块走 WSL2 安装;安装后 Portal 在 http://localhost:3001/pixel,3000 是另一个 Open WebUI 界面,别混淆

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v3.0.0
  1. v3.0.0ODS V3 Pre-Release最新正式版2026-09-24 · 2026-09-24 13:20 UTC

    Security notice (2026-10-04): v3.0.0 is affected by GHSA-vqpg-pvjj-4cmq (critical). The fix is on main, which the README installers use. To update an existing installation, follow Updating an existing installation; ods update alone does not apply code fixes.

    ODS V3 Pre-Release

    ODS V3 is in public testing and refinement ahead of the official V3 launch. Try it, share feedback, and help us improve the experience before launch.

    The existing v3.0.0 source tag and numeric product versions are unchanged. The GitHub Latest label supports existing update discovery; it does not mark the official V3 launch.

    This release is pinned to bec0c42e7c9885a5aecd419a166a6a81e0d37236.

    Highlights

    • ODS product, package, installer, CLI, and dashboard version metadata aligned to 3.0.0.
    • Hermes opens without an owner card on default installs. Administrators can opt into the owner-card gate; internal API and WebSocket authentication remain in place.
    • The dashboard OS logo uses a wallpaper-adaptive frosted finish, with stronger contrast in compact navigation.
    • Pixel/Portal preview inspection, runtime installation, and upgrade cleanup fixes developed during the current six-machine qualification campaign.

    Qualification status

    Fleet qualification is still in progress. This release does not claim full fleet green or completed UI/model-switching qualification. The laptop, Strixy, Tower1, Tower2, Tower3, and Mac Mini are being tested with fresh installs and extensive Pixel/Portal user journeys. Complex generated apps and event research still have known acceptance failures; later UI/model-switching phases remain gated until those user journeys pass across the fleet.

    CI and focused checks passed for the merged changes, including the final upgrade-dispatch fix. That evidence is separate from complete installed-user acceptance on all six machines.

    The source tag remains fixed. Further qualification fixes will continue on main and be released separately; default main-based installs may therefore receive changes beyond this tag.

    Changes since ODS 2.6.0

  2. v2.6.0ODS 2.6.02026-07-28 · 2026-07-28 14:37 UTC
    查看更新说明

    Security notice (2026-10-04): v2.6.0 is affected by GHSA-vqpg-pvjj-4cmq (critical) and GHSA-v3hj-52g2-2hmc (high). Both are fixed on main. To update an existing installation, follow Updating an existing installation.

    ODS 2.6.0

    ODS 2.6.0 updates the stable line with remote-provider support, Model Switchboard and context selection, GPU reassignment rollback, rootless Linux repair, Windows/macOS native-runtime fixes, dashboard polish, and security hardening.

    Highlights

    • Remote provider direct/SSH egress, tunnel supervision, dashboard status, and peer model operations.
    • Model Switchboard stable routing and verified context propagation across LLM applications.
    • Verified NVIDIA and Linux AMD/ROCm GPU reassignment with rollback.
    • Rootless Docker bind-mount ownership repair for Linux installs.
    • Windows native llama-server metrics and reasoning flags, plus safer Lemonade stale-PID handling.
    • Remote-provider DNS-rebinding/SSRF hardening through validated address pinning with preserved TLS identity.

    Stable refs

    • Release tag: v2.6.0
    • Stable patch lane: release/2.6.x
    • Release-stamp commit: f461b3e5e6e3f21077eefb6ca39bc49a2f0b0838

    Validation

    • Product candidate: 07e2a21e3ccab197360009ebd3d66b4e6d4d0af2
    • Base product commit: c292e00d5b60f6e4e6b331b2867346f9e9748a2c
    • Gate result: green through six-host full-model finalize; strict User Green is not claimed because the long six-cycle model-management matrix was intentionally waived.
    • Release-prep fleet run id: 2026-07-28T12-58-00Z-release-product-07e2a21e3cca-harness-19d43e6f9f25-hosts-tower2-strix-halo-spark-m5-mbp-windows-laptop-strixy
    • Passed: regressions 16/16, zero-prereq bootstrap 6/6, fresh install, verify, cloud-mode contracts, dashboard, Hermes, UI policy, capabilities, lifecycle reinstall/restart, ods doctor, and full-model finalize across Tower2, Strix Halo, Spark, M5 MacBook Pro, Windows laptop, and Strixy.
    • Known skipped/deferred surfaces: dgx-gpu01 excluded for unverified SSH host key; full model-management matrix intentionally stopped after cycle 1 passed on tower2 and strix-halo.

    See ods/CHANGELOG.md and ods/docs/RELEASE_NOTES_2.6.0.md for the full release notes and validation receipt.

  3. v2.5.3ODS 2.5.3 - ODS Proxy Owner-Card Readiness2026-05-26 · 2026-05-26 15:08 UTC
    查看更新说明

    Deprecated (2026-10-04): this release pins a hermes-agent image tag that no longer exists, so installing it fails. It is also affected by GHSA-vqpg-pvjj-4cmq and GHSA-v3hj-52g2-2hmc. Install from the README instead.

    Fixed

    • Owner-card readiness now notices dream-proxy after dream enable dream-proxy and dream start dream-proxy without requiring a manual dashboard-api restart.

    Validation

    • Fleet test run on 2026-05-26 at commit cff3b21 validated the #1474 fix and passed regressions, zero-prereq bootstrap, install, verify, cloud-mode, dashboard, Hermes, UI, lifecycle, and distro lab validation across tower2, Strix Halo, Spark, and M5 MacBook Pro.
    • The new dream-proxy-owner-card-readiness-1474 regression fixture passed on Strix Halo from both already-enabled and disabled states, proving owner-card status returns ready: true without restarting dashboard-api.
    • Capability reruns confirmed the initial Strix Halo and M5 MacBook Pro failures were model/timing flakes; full-model capability probes passed on Strix Halo and M5 MacBook Pro, while tower2 and Spark correctly deferred LLM-driven full-model probes on bootstrap models.
    • Distro lab passed 10/10 Docker lanes and 5/5 Incus VM lanes.

    Fleet Validation Receipt

    • Release tag: v2.5.3
    • Release stamp commit: d7784673
    • Stable hotfix commit: 75fa4407
    • Product validation commit: cff3b21 (main forward-port of the same hotfix)
    • Fleet run: 2026-05-26T14-02-04Z
    • Harness: main@f064e42
    • Gate result: All phases green after accepted model/timing reruns
    • Regressions: 15/15 PASS
    • Zero-prereq bootstrap: 6/6 PASS
    • Install: 4/4 PASS
    • Verify: 4/4 PASS
    • Cloud-mode: 4/4 PASS
    • Dashboard: 4/4 PASS
    • Hermes: 4/4 PASS
    • UI: PASS on tower2 Playwright host
    • Lifecycle: 4/4 PASS
    • Distro lab: 10/10 Docker lanes PASS, 5/5 Incus VM lanes PASS
    • Bugs opened by run: 0

    Enabled fleet hosts:

    • tower2: NVIDIA Blackwell x86, bootstrap model at capability probe time; install, product, UI, lifecycle, and non-LLM capability checks PASS
    • strix-halo: AMD/Lemonade, Qwen3.6-35B-A3B full-model capabilities PASS on rerun
    • spark: NVIDIA GB10 aarch64, bootstrap model at capability probe time; install, product, lifecycle, and non-LLM capability checks PASS
    • m5-mbp: Apple M5 Max, Qwen3.6-35B-A3B full-model capabilities PASS on rerun

    Notes:

    • This release is cut from release/2.5.x, not from main.
    • v2.5.2 does not include the #1474 fix; use v2.5.3 for the owner-card readiness hotfix.
    • The release tag includes the metadata stamp plus the #1474 stable hotfix. No installer, model-routing, compose, GPU-detection, or dependency changes were introduced by the stamp itself.
  4. v2.5.2Dream Server 2.5.2 - Lifecycle DNS & Tiny GPU Fallback2026-05-26 · 2026-05-26 12:38 UTC
    查看更新说明

    Deprecated (2026-10-04): this release pins a hermes-agent image tag that no longer exists, so installing it fails. It is also affected by GHSA-vqpg-pvjj-4cmq and GHSA-v3hj-52g2-2hmc. Install from the README instead.

    Fixed

    • Dashboard nginx now re-resolves the dashboard-api service through Docker DNS at request time so lifecycle recreation cannot leave /api/* and Dream Talk routes pinned to a stale container IP.
    • Discrete NVIDIA GPUs with less than 4GB VRAM now route to the CPU/Tier 0 fallback by default instead of entering a green install with a crash-looping CUDA llama-server.

    Validation

    • Fleet test run on 2026-05-26 at commit c1df395 passed User Green: true fresh install, product, full-model capabilities, lifecycle, and UI validation across tower2, Strix Halo, Spark, and M5 MacBook Pro.
    • Full-model capability probes passed on all 4 enabled hosts, including chat, search, files, code, 76 Hermes skills, Dream Talk SSE streaming, session pooling, SOUL.md context, and install-context grounding.
    • Distro lab passed 10/10 Docker lanes and 5/5 Incus VM lanes, and all 14 prior regression fixtures stayed green.

    Fleet Validation Receipt

    • Release tag: v2.5.2
    • Release stamp commit: 2d040dbd
    • Product validation commit: c1df395
    • Fleet run: 2026-05-26T11-17-28Z
    • Harness: main@f064e42 with clean true-fresh-install behavior
    • Gate result: User Green PASS
    • Zero-prereq bootstrap: 6/6 PASS
    • Install Green: PASS on all 4 enabled hosts
    • Product Green: PASS for services, APIs, Hermes, cloud contracts, and UI
    • Capability Green: PASS with full-model probes proven on all 4 enabled hosts
    • Lifecycle Green: PASS for reinstall, restart, and doctor on all 4 enabled hosts
    • Distro lab: 10/10 Docker lanes PASS, 5/5 Incus VM lanes PASS
    • Regression fixtures: 14/14 PASS
    • Bugs opened by run: 0

    Enabled fleet hosts:

    • tower2: NVIDIA Blackwell x86, qwen3-coder-next-Q4_K_M.gguf, full capabilities PASS
    • strix-halo: AMD/Lemonade, Qwen3.6-35B-A3B-UD-Q4_K_M.gguf, full capabilities PASS
    • spark: NVIDIA GB10 aarch64, Qwen3.6-35B-A3B-UD-Q4_K_M.gguf, full capabilities PASS
    • m5-mbp: Apple M5 Max, Qwen3.6-35B-A3B-UD-Q4_K_M.gguf, full capabilities PASS

    Notes:

    • Vision probes were deferred because DREAM_FLEET_TALK_VISION=1 was not enabled.
    • The release tag includes only the metadata stamp after the validated product commit; it does not introduce installer, runtime, compose, GPU-routing, model-selection, or dashboard behavior changes beyond the fixes already validated at c1df395.
  5. v2.5.1Dream Server 2.5.1 - Fresh Install & Bootstrap Recovery2026-05-26 · 2026-05-26 02:24 UTC
    查看更新说明

    Highlights

    Dream Server 2.5.1 is the fresh-install and bootstrap-recovery patch release validated after the 2.5.0 audit hardening cycle.

    • Bootstrap full-model downloads now preserve partial .part files, retry with resume support, keep failed status counters populated, cap progress display at 100%, and recover cleanly on the next dream start, dream restart, or reinstall.
    • Hermes local-provider calls now use a longer request timeout for slow time-to-first-token backends, fixing the Strix Halo timeout cascade seen with 35B local inference.
    • Dream Talk owner-portal work is included: streamed SSE replies, live status frames, TTS streaming, mobile owner-card routing, paperclip image/file attachments, and install-context grounding.
    • Lifecycle and reinstall paths were hardened across compose health waits, delayed port reuse, model-swap container recreation, stale cloud compose-cache invalidation, bundled service CPU limits, and fallback model serving.
    • LAN web guidance now points operators at the intended proxy surfaces instead of raw API ports or misplaced dashboard banners.
    • Release documentation, forkability/runbook docs, AI-contribution policy, root security policy, branch hygiene guidance, and CLI roadmap were expanded for downstream operators.

    Validation Receipt

    Primary fleet receipt: /home/michael/dream-fleet-test/runs/2026-05-26T01-22-18Z

    • True fresh install on tower2, Strix Halo, Spark, and M5 MacBook Pro after nuking prior Dream Server containers, images, volumes, build cache, and stale model files.
    • Install Green: all 4 hosts installed from public bootstrap.
    • Product Green: core services, Hermes seeded echo, cloud contracts, dashboard, and UI checks passed.
    • Lifecycle Green: all 4 hosts passed reinstall, restart, and doctor.
    • Core capabilities passed on all 4 target-model hosts: chat, search, files, code, skills, model identity, and install context.
    • Dream Talk probes passed where the Talk surface was available; unavailable Talk surfaces were skipped rather than treated as product failures.
    • m5-mbp proved full-model capabilities for the first time after the bootstrap resume fix.
    • Distro lab passed 10/10 Docker lanes and 5/5 Incus VM lanes.

    Session summary: 11 fleet runs, 35+ commits, 7 issues filed, 6 resolved, 4 harness improvements, and zero product regressions.

    Known Follow-up

    A follow-up Spark Talk probe after lifecycle churn surfaced a harness/sequencing issue, not a product regression. The release evidence distinguishes this from main-run product validation.

    See dream-server/CHANGELOG.md for the full release notes and evidence trail.

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    ODS V3 Pre-Release

    Osmantic Deployment System

    Public testing and refinement ahead of the official V3 launch.

    Turn your PC, Mac, or Linux box into a private AI server.

    AI server and homelab setup is rapidly becoming a solved problem. It should feel that way for everyone.

    License: Apache 2.0 + Pixel ODS-only GitHub Stars ODS V3 Pre-Release Release

    Watch the demo

    ODS installs and wires together everything you need to run AI locally, so you do not have to assemble Ollama, Open WebUI, n8n, ComfyUI, and privacy tools by hand:

    • Local model inference — run open models on your own hardware
    • ChatGPT-style web UI — talk to your models from any browser
    • Control dashboard — manage models, services, setup, GPU status, and extensions from one place
    • Voice, agents, and workflows — build automations that can listen, speak, call tools, and get work done
    • RAG and search — connect local documents, private search, and retrieval workflows
    • Image generation — run local image tools without sending prompts to a hosted API
    • Privacy and ops — keep service auth, secrets, observability, and diagnostics in one local stack

    No cloud required. No subscriptions required. Inference, chat history and your files stay on your machine, and ODS collects no telemetry. By default it goes online only to download models and container images, to check GitHub for ODS releases, and to run web searches the Portal agent makes for you; the FAQ explains each one and how to turn it off. Cloud and hybrid API modes are optional when you want them.

    Status: V3 pre-release. The installers below install the current main branch, which receives fixes continuously and is not a signed release; the verified installer preview stays separate until a signed release passes end-to-end testing. Existing installations pick up code fixes by re-running the installer (how); ods update refreshes container images only. v3.0.0 is the latest published source release; check the security advisories before pinning it. Known limits and validation status: V3 release notes, Release Validation, Release Channels and Installer Trust.

    The repository root holds this README, the installers, the security policy and CI workflows; ods/ is the product: services, installer phases, compose files, dashboard, CLI, tests and operator docs.

    Get Started

    Choose your system, copy the block, run it in a normal terminal. ODS installs the stack, picks a model for your hardware, starts the services, and gives you the local web UI.

    Linux or macOS

    curl -fsSL https://install.osmantic.com/ods.sh | bash
    

    Windows PowerShell — guided Ubuntu/WSL2 setup with Pixel/Portal

    & {
        $ErrorActionPreference = 'Stop'
        $ProgressPreference = 'SilentlyContinue'
        $odsSrc = Join-Path $env:TEMP ('ods-install-' + [guid]::NewGuid().ToString('N'))
        $odsZip = Join-Path $odsSrc 'ods-main.zip'
        New-Item -ItemType Directory -Path $odsSrc | Out-Null
        Invoke-WebRequest -UseBasicParsing 'https://github.com/Osmantic/ODS/archive/refs/heads/main.zip' -OutFile $odsZip
        Expand-Archive -LiteralPath $odsZip -DestinationPath $odsSrc
        $odsEntry = Join-Path $odsSrc 'ODS-main\install.ps1'
        if (-not (Test-Path -LiteralPath $odsEntry -PathType Leaf)) { throw 'The downloaded archive does not contain the ODS installer.' }
        Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
        & $odsEntry
    }
    

    Linux and macOS: Docker must be installed and running.

    Windows: open a normal PowerShell window (not "Run as administrator"), paste the block, and answer the prompts. Nothing else needs to be installed first. The installer:

    1. Checks free disk space (40 GB) and that hardware virtualization is on.
    2. Offers to enable WSL2 and install Docker Desktop with winget. Windows asks for administrator permission, then one restart; setup continues by itself after you sign in again.
    3. Offers to download Ubuntu 24.04 and asks you, in PowerShell, for a new Ubuntu username and password.
    4. Starts Docker Desktop and checks that it is connected to Ubuntu. If not, it shows the one setting to turn on in Docker Desktop and continues as soon as it works.
    5. Installs ODS inside Ubuntu with --pixel --no-hermes. A rerun leaves out --no-hermes, so a Hermes you added from Extensions stays on. When Ubuntu asks for your [sudo] password, type the Ubuntu password; nothing appears while you type.
    6. Verifies Pixel and Portal, then opens Portal in your browser and creates the ODS app on your desktop and in the Start menu: Portal in its own Microsoft Edge window, with the ODS icon. Without Edge it adds an ODS Portal web link to your desktop instead.

    Each step asks before changing anything and stops with instructions if it cannot finish; rerun the same command after fixing it. There is no fallback to Hermes or the native Windows installer. On NVIDIA machines, update the Windows driver to 570 or newer first. To use an existing distribution, add -Distro <name> (names from wsl -l -v).

    Existing native Windows installations are not automatically migrated or deleted; see Windows Quickstart before switching.

    If another device runs your ODS model gateway and this Windows PC only needs image generation, use the standalone ComfyUI installer. It keeps its Docker project and data separate from a full ODS installation.

    The hosted Linux/macOS endpoint proxies the current bootstrap from repository main. Reviewed merges reach it automatically after edge-cache refresh. ODS_REF selects a compatible repository checkout. See Installer Trust to inspect the script or install an audited commit manually; no release has qualified for the verified channel yet.

    Windows users should not run the curl ... | bash command from PowerShell. The PowerShell block above downloads the public ODS source ZIP and delegates installation to Ubuntu/WSL2. For more detail, see the Windows Quickstart.

    After the installer completes successfully, Portal opens at http://localhost:3001/pixel (the Windows installer opens it for you and prints the exact URL). http://localhost:3000 is Open WebUI, a separate interface. Verify that Portal is available and send a message; a loaded dashboard alone does not prove Pixel is ready. If installation fails or Portal is degraded, follow the Windows Quickstart checks before proceeding.

    WSL GPU access must be checked separately. NVIDIA needs a supported Windows driver and GPU access inside WSL/Docker. On AMD, Windows setup runs llama.cpp's llama-server.exe (Vulkan) through an ODS task bound to the selected WSL installation. Once that ownership is verified, Dashboard Models supports compatible GGUF downloads (including Hugging Face), activation, context changes, and unload/resume. A model server that the installation does not manage remains externally managed. Installations whose ODS task ran Lemonade Server move to llama.cpp when the installer runs again; see the Windows Quickstart, the WSL2 GPU guide and AMD GPUs now run on llama.cpp.

    For Linux, macOS, or the recommended Windows/WSL installation, uninstall from the matching Linux/macOS terminal (open Ubuntu on Windows):

    cd ~/ods
    ./ods-uninstall.sh --force
    

    For a native Windows installation only:

    $installDir = "$env:USERPROFILE\ods"
    cd $installDir
    .\ods.ps1 uninstall --force
    

    Windows recovery note: if the runtime folder is partial and .\ods.ps1 is missing, run the same command from a source checkout as .\ods\installers\windows\ods.ps1 uninstall --force. It verifies the containers' Compose installation directory before removing resources. A shared ods project name does not authorize removing another Windows or WSL installation. Unattached volumes with no verifiable owner are preserved, with an error naming the resource; --force does not bypass this check.

    API endpoint: Linux Docker installs expose llama-server on http://localhost:11434 by default (OLLAMA_PORT) while containers use llama-server:8080. macOS native Metal and the Windows AMD llama-server.exe use http://localhost:8080 unless overridden; the Windows server requires its API key. Open WebUI stays on http://localhost:3000.

    No GPU? ODS also runs in cloud mode — same full stack, powered by OpenAI/Anthropic/Together APIs instead of local inference:

    ./install.sh --cloud
    

    Port conflicts? Every port is configurable via environment variables. See .env.example for the full list, or override at install time:

    WEBUI_PORT=9090 ./install.sh
    

    New here? Read the Friendly Guide or listen to the audio version — a complete walkthrough of what ODS is, how it works, and how to make it your own. No technical background needed.


    At A Glance

    QuestionAnswer
    What is it?A local AI server stack for your own hardware, with a one-command Linux/macOS installer and a PowerShell installer for Windows.
    Who is it for?People who want private AI at home, in a lab, or on a workstation without hand-wiring a dozen services.
    What do I get?Local inference, Open WebUI chat, a control dashboard, voice, agents, workflows, RAG, search, image generation, privacy tools, observability, and developer tools.
    What does it run on?Linux, Windows with WSL2/Docker Desktop, and macOS Apple Silicon.
    Is cloud required?No. Local mode is the default; cloud and hybrid API modes are optional.
    If you know...ODS adds...
    Ollama / llama.cppThe surrounding server stack: chat, dashboard, voice, RAG, workflows, agents, privacy, and service management.
    Open WebUIA full installer and control plane around Open WebUI, plus pre-wired local services.
    AnythingLLMBroader local AI appliance behavior beyond RAG: inference, chat, voice, workflows, image generation, and ops.
    n8n self-hosted AI starter kitsWorkflow automation as one part of a larger private AI server.

    Current Platform Support

    PlatformStatus
    Linux (NVIDIA + AMD Strix Halo)Supported — see the hardware and distro limits in the support matrix
    Linux + Intel Arc (SYCL)Experimental / Tier C — validation is hardware-specific
    Windows (NVIDIA + AMD)Supported — install and run today
    macOS (Apple Silicon)Supported — install and run today

    Linux distros: CI smoke-tests package-manager detection and installer prerequisites on Ubuntu 26.04/24.04/22.04, Debian 12, Linux Mint 21.3, Fedora 41, Rocky Linux 9, Arch Linux, Manjaro, CachyOS and openSUSE Tumbleweed. Broader install coverage runs in the maintainers' distro lab and hardware fleet described in the Validation Matrix. On openSUSE the installer installs Docker from the distribution's own packages. Open an issue if your distro doesn't work.

    Release validation: Operational changes run through a release-grade gate that covers zero-prereq bootstrap, clean installs, product behavior, full-model capabilities, lifecycle recovery, and User Green. See Release Validation and the Validation Matrix.

    Windows: Requires Docker Desktop with WSL2 backend. NVIDIA GPUs use Docker GPU passthrough; AMD Strix Halo runs through the platform-specific accelerated path documented in the Windows installer and support matrix.

    macOS: Requires Apple Silicon (M1+) and Docker Desktop. llama-server uses native Metal acceleration; Portal's gateway and managed host helpers also run natively. The UI, ingress, sandbox and supporting services run in Docker. See the macOS Quickstart.

    See the Support Matrix for supported platform claims and the Validation Matrix for the layered test surface used to test those claims.


    Why ODS?

    A handful of companies control the vast majority of global AI traffic — and with it, your data, your costs, and your uptime. Every query you send to a centralized provider is business intelligence you don’t own, running on infrastructure you don’t control, priced on terms you can’t negotiate.

    If AI is becoming critical infrastructure, it shouldn’t be rented. Self-hosting local AI should be a sovereign human right, not a career choice.

    Because running your own AI shouldn't require a CS degree and a weekend of debugging CUDA drivers. Right now, setting up local AI means stitching together a dozen projects, writing Docker configs from scratch, and praying everything talks to each other. Most people give up and go back to paying OpenAI.

    We built ODS so you don't have to.

    • One command — detects your GPU, picks the right model, generates credentials, launches everything
    • Chat early — bootstrap mode starts a small model as soon as the core services are up, while your full model downloads in the background
    • Pre-wired services — the default Core install gives you local inference, the dashboard and a chat UI (the Portal agent on supported hosts, Open WebUI elsewhere); add voice, workflows, search, RAG, image generation, observability and developer tools from the installer menu or the Extensions page, already wired to each other
    • Fully moddable — every service is an extension. Drop in a folder, run ods enable, done
    git clone https://github.com/Osmantic/ODS.git
    cd ODS/ods
    ./install.sh
    

    The installer prepares WSL2, Ubuntu and Docker Desktop when they are missing; nothing needs to be installed first.

    Open a normal PowerShell session (not "Run as administrator") and run:

    $ProgressPreference = "SilentlyContinue"
    $odsSrc = Join-Path $env:TEMP ("ods-install-" + [guid]::NewGuid().ToString("N"))
    $odsZip = Join-Path $odsSrc "ods-main.zip"
    New-Item -ItemType Directory -Path $odsSrc | Out-Null
    Invoke-WebRequest "https://github.com/Osmantic/ODS/archive/refs/heads/main.zip" -OutFile $odsZip
    Expand-Archive -LiteralPath $odsZip -DestinationPath $odsSrc -Force
    cd (Get-ChildItem -LiteralPath $odsSrc -Directory | Select-Object -First 1).FullName
    Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
    .\install.ps1
    

    The Set-ExecutionPolicy command allows the installer script to run in the current session. It does not change your system-wide policy. Running as Administrator is not recommended for the installer because user-level paths such as .opencode, data/, and .env can be created with admin-owned permissions.

    This command guides WSL/Ubuntu preparation and checks systemd and Docker integration before installing Pixel. See Windows Quickstart. The runtime is normally ~/ods inside Ubuntu; manage it there with ods status (or ./ods-cli status from ~/ods). Open the Portal dashboard at the URL printed by the installer (normally http://localhost:3001). Native Windows ods.ps1 commands do not manage this Linux runtime.

    Requires Apple Silicon (M1+) and Docker Desktop. Install Docker Desktop first and make sure it is running before you start.

    git clone https://github.com/Osmantic/ODS.git ~/src/ODS
    cd ~/src/ODS/ods
    ./install.sh
    

    Clone outside your home folder's ods path: macOS disks are case-insensitive, so a clone at ~/ODS is the same folder as the default install directory ~/ods.

    The installer detects your chip, picks the right model for your unified memory, launches llama-server natively with Metal acceleration, and starts all other services in Docker. Manage with ./ods-macos.sh status.

    See the macOS Quickstart for details.


    What's In The Box

    Chat & Inference

    • Open WebUI — full-featured chat interface with conversation history, web search, document upload, and 30+ languages
    • llama-server — high-performance LLM inference with continuous batching, auto-selected for your GPU; Linux Docker host API defaults to localhost:11434, native macOS/Windows paths use localhost:8080, and container API runs on 8080
    • LiteLLM — API gateway supporting local/cloud/hybrid modes
    • TEI Embeddings — text embedding service for RAG and search workflows

    Voice

    • Whisper — speech-to-text
    • Kokoro — text-to-speech

    Agents & Automation

    • Portal — bundled core conversational assistant on Apple Silicon macOS and qualified Ubuntu 24.04/26.04 or Debian 12 systemd hosts, including qualified WSL2 installations through the Linux installer. No private repository access or separate license flag is required; available in the Dashboard and through a compatible Open WebUI model route. The native PowerShell installer does not install the Portal host runtime.
    • Hermes Agent — independent general-purpose agent, available alongside Portal; includes memory, skills, and a proxy with optional owner-card gating; direct access by default
    • n8n — workflow automation with 400+ integrations (Slack, email, databases, APIs)
    • APE — Agent Policy Engine for auditing and governing autonomous tool calls
    • OpenCode — browser-based AI coding assistant wired to the local stack
    • Memory Shepherd — host/systemd helper for agent memory lifecycle management

    Knowledge & Search

    • Qdrant — vector database for retrieval-augmented generation (RAG)
    • SearXNG — self-hosted web search (no tracking)
    • Perplexica — deep research engine
    • Brave Search — optional paid Brave Search API integration

    Creative

    • ComfyUI — node-based image generation

    Privacy & Ops

    • Privacy Shield — PII scrubbing proxy for API calls
    • Dashboard — real-time GPU metrics, service health, model management
    • Dashboard API — service health, setup, status, metrics, and management API behind the dashboard
    • Token Spy — token usage monitor for local and proxied LLM traffic
    • Langfuse — optional LLM observability and tracing

    Hardware Auto-Detection

    The installer detects your GPU and first assigns a deterministic hardware tier. Linux and macOS then run the versioned catalog selector (ods/scripts/select-model.py), while Windows uses the PowerShell catalog selector in ods/installers/windows/lib/tier-map.ps1; both read ods/config/model-library.json to choose the best installable GGUF for the detected memory envelope. The final choice is written to .env as LLM_MODEL, GGUF_FILE, MAX_CONTEXT, and MODEL_RECOMMENDATION_*.

    MODEL_PROFILE=qwen is the default catalog profile. MODEL_PROFILE=gemma4 forces Gemma 4 where available, and MODEL_PROFILE=auto uses Gemma 4 on NVIDIA, AMD Strix Halo, Apple Silicon and Intel Arc tiers. Override the model family with MODEL_PROFILE=gemma4 ./install.sh. You can switch models at any time after installing (see Switching Models).

    The tables below are what the catalog selector picks today for common hardware with the default profile and a 64K context floor (python ods/scripts/select-model.py --profile qwen --installable-only --min-context 65536 …). Exact picks can differ with detected VRAM/RAM, host architecture and existing downloads. Measure throughput on your own machine after the first launch.

    NVIDIA

    MemoryDefault pickContextExample hardware
    8–16 GB VRAMQwen3.5 9B (Q4_K_M)64KRTX 4060, RTX 3060 12GB, RTX 4070-class
    24–32 GB VRAMQwen3.5 27B (Q4_K_M)64KRTX 4090, RTX 5090
    48 GB VRAMQwen3.6 35B-A3B (UD-Q4_K_M)128KRTX 6000 Ada, L40S
    96 GB+ VRAM (x86_64)Qwen3 Coder Next (Q4_K_M)128KRTX PRO 6000, multi-GPU
    128 GB unified (arm64)Qwen3.6 35B-A3B (UD-Q4_K_M)128KDGX Spark / GB10

    AMD Strix Halo (Unified Memory)

    MemoryDefault pickContextHardware
    64–128 GB unifiedQwen3.6 35B-A3B (UD-Q4_K_M)128KRyzen AI MAX+ 395

    The selector routes unified-memory hosts away from Qwen3 Coder Next because of documented correctness issues on those backends.

    Apple Silicon (Unified Memory, Metal)

    MemoryDefault pickContextExample hardware
    8 GBNVIDIA Nemotron3 Nano 4B (Q4_K_M)64KM1/M2 base
    16–36 GBQwen3.5 9B (Q4_K_M)64KM4 Mac mini, M3 Pro
    48 GB+Qwen3.6 35B-A3B (UD-Q4_K_M)128KM4 Pro/Max, Mac Studio

    CPU only

    System RAMDefault pickContext
    8–12 GBQwen3.5 2B (Q4_K_M)64K
    16–20 GBQwen3.5 4B (Q4_K_M)64K
    24 GB+Qwen3.5 9B (Q4_K_M)64K

    Intel Arc (Linux, SYCL)

    Intel Arc is experimental (Tier C). Hardware detection does not identify Arc GPUs yet, so pass the tier yourself: ./install.sh --tier ARC_LITE for 6–8 GB cards or --tier ARC for 16 GB cards. See the Intel Arc guide.


    Bootstrap Mode

    ODS uses bootstrap mode by default so you can start before a large model finishes downloading:

    1. The installer downloads Qwen3.5 2B (about 1.3 GB) and starts it.
    2. You can chat as soon as the core services are up.
    3. The full model for your hardware downloads in the background.
    4. When the download is verified, ODS restarts the model server on the full model. Requests in flight during that restart need a retry.

    The bootstrap model starts with a 64K context window so agents work during the first session. After the swap, ODS restores the full model's context target.

    Skip bootstrap: ./install.sh --no-bootstrap


    Switching Models

    The installer picks a model for your hardware, but you can switch anytime. The recommended way is Dashboard → Models: it lists models that fit your hardware, downloads them with checksum verification, and loads them. If a model fails to start, ODS restores the previous one.

    From the command line:

    ods model current              # What's running now?
    

    Already have a GGUF you want to use? Drop the single .gguf file in data/models/, then open Dashboard → Models and load the local entry. For headless maintenance you can instead set GGUF_FILE and LLM_MODEL in .env and restart the model server:

    ods restart llm
    

    A manual .env change has no automatic rollback. If the model fails to load, set the previous values back and restart again.


    Extensibility

    ODS is designed to be modded. Every service is an extension — a folder with a manifest.yaml and a compose.yaml. The dashboard, CLI, health checks, and compose stack all discover extensions automatically.

    extensions/services/
      my-service/
        manifest.yaml      # Metadata: name, port, health endpoint, GPU backends
        compose.yaml       # Docker Compose fragment (auto-merged into the stack)
    
    ods enable my-service     # Enable it
    ods disable my-service    # Disable it
    ods list                  # See everything
    

    The installer itself is modular — 41 library modules, a shared service registry, and 14 ordered phase files. Want to add a hardware tier, swap a default model, or skip a phase? Start with the installer architecture map so you update the Linux, macOS, Windows, upgrade, and host-agent writers together.

    Full extension guide | Installer architecture


    ods-cli

    The ods CLI manages your entire stack:

    ods status                # Health checks + GPU status
    ods list                  # All services and their state
    ods logs llm              # Tail logs (aliases: llm, stt, tts)
    ods restart [service]     # Restart one or all services
    ods start / stop          # Start or stop the stack
    
    ods mode cloud            # Switch to cloud APIs via LiteLLM
    ods mode local            # Switch back to local inference
    ods mode hybrid           # Local primary, cloud fallback
    
    ods model swap T3         # Switch to a different hardware tier
    ods enable n8n            # Enable an extension
    ods disable whisper       # Disable one
    
    ods config show           # View .env (secrets masked)
    ods preset save gaming    # Snapshot current config
    ods preset load gaming    # Restore it
    

    How It Compares

    ODS builds on tools you may already use rather than replacing them. It installs them, wires them together, and gives you one place to run them.

    If you use…It gives youODS adds
    Ollama, llama.cpp or LM StudioLocal model servingHardware-aware model choice, the surrounding services, and a dashboard to manage them
    Open WebUIA chat UI with RAG, voice and image-generation integrationsInstalls and configures it next to local inference, speech, search and image services, and manages sign-in and network exposure
    LocalAIAn OpenAI-compatible API with text, audio and image backendsA dashboard, the Portal agent, workflows, and a catalog of add-on apps around local inference
    n8n's self-hosted AI starter kitWorkflow automation with a local modelWorkflows as one part of a managed local AI server

    ODS's own focus is the layer around those tools: detecting your hardware, choosing and verifying models, lifecycle commands (install, update, backup, uninstall), and an extension catalog.


    Documentation

    QuickstartStep-by-step install guide with troubleshooting
    Docs IndexMaintained map for operators, contributors, and reviewers
    Portal runtimeEligibility, licensing boundary, architecture, install, security, tools, rollback, and qualification
    LicensingApache-2.0 ODS code, Pixel's ODS-only grant, and third-party notices
    Build On ODSForking, custom editions, extension templates, and downstream validation
    ForkabilityHow to fork, audit, customize, and independently operate ODS
    Maintainer RunbookRelease, rollback, validation, and operator continuity guidance for maintainers and forks
    High-Risk Change MapWhich changes require focused checks, fleet validation, or release-grade gates
    Headless SetupQR onboarding, first-boot setup, AP mode, mDNS, and local agent access
    Support MatrixCurrent platform and GPU support status
    Release ValidationUser Green gates and the release-grade fleet/distro validation policy
    V3 Release NotesPublished V3 source identity and qualification boundaries
    2.6.0 Release NotesHistorical 2.6 release notes, validation receipt, and known validation boundaries
    Validation MatrixSanitized CI, distro lab, and real-hardware fleet release-readiness evidence
    Validation ReproducibilityHow forks and operators can reproduce the validation story on their own hardware
    Offline And MirroringPinning, mirroring, and preserving release artifacts for independent operation
    Installer TrustInspect-first install paths, ref pinning, and current provenance limits
    Model ManagementCurated and Hugging Face GGUF discovery, verified imports, switching, and recovery
    Hardware GuideWhat to buy, tier recommendations
    FAQCommon questions and configuration
    ExtensionsHow to add custom services
    Installer ArchitectureModular installer deep dive
    Installer Phase ContractsPhase ownership, idempotency, failure modes, and validation expectations
    Compose Resolver ContractsRules for compose layers, extensions, backends, ports, and mode overlays
    ChangelogVersion history and release notes
    ContributingHow to contribute

    Contributors And Recognition

    ODS is built by a growing group of contributors across installers, GPU support, dashboard, security, extensions, docs, and release validation. The README keeps the product overview focused; the long-form credits, upstream acknowledgements, and contributor history live in CONTRIBUTORS.md.

    ODS has been recognized by the local AI and developer community, including AMD Featured Developer recognition, selection as a May 2026 AMD Lemonade Developer Challenge winner, and a feature at (Co)nnect: Philly's AI Ecosystem Summit at Pennovation Works.


    License

    ODS code is Apache-2.0 except the bundled Pixel source, which has a separate ODS-only use and distribution grant. See Licensing, LICENSE, and Pixel's license.


    Built by Osmantic and the growing resistance that refuses to rent what should be owned.