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:
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
mainbranch, 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 updaterefreshes container images only.v3.0.0is 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.
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:
--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.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 usellama-server:8080. macOS native Metal and the Windows AMDllama-server.exeuse 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:
bash ./install.sh --cloudPort conflicts? Every port is configurable via environment variables. See
.env.examplefor the full list, or override at install time: ```bash WEBUI_P
| 日期 | 榜单 | 排名 | 周期新增 | 总 STAR |
|---|