sam-4screen-desktop 2026-7-31:11:14:15

This commit is contained in:
2026-07-31 11:14:15 +10:00
parent d79b4ee07a
commit 6419642617
3 changed files with 59 additions and 9 deletions

View File

@@ -20,6 +20,55 @@ aliases: []
---
## OmniRoute — LLM Provider Router
OmniRoute is the central LLM routing proxy running on .13 (port 20128/20129). All three machines route pi's LLM requests through it.
| Aspect | Detail |
|--------|--------|
| **What it is** | Docker-based LLM proxy with **combo routing** — you define a prioritized list of providers and it tries them in order until one succeeds |
| **Where** | `.13:20129` via Docker, exposed through Caddy on .35 for remote access |
| **Provider registered in pi as** | `omni` (not `omniroute`) — the `omniroute-pi-ext-integration` npm package registers the `omni` provider |
| **Pi default model** | `default-opencode-go-ds-flash` — a combo on OmniRoute that prioritises OpenCode-Go's DeepSeek V4 Flash ($5/month sub) before falling back to other providers |
| **Combo chain** | User-created combo `default-opencode-go-ds-flash` tries providers in order: OpenCode-Go → OpenRouter → DeepSeek direct → Google Gemini |
| **Sub-agent routing** | Sub-agents route through the same combo — individual model IDs like `opencode-go/deepseek-v4-flash` match the combo and fall through the same priority chain |
| **Models** | 484 models available via OmniRoute (synced with `/omni sync`), available in pi's Ctrl+P model picker |
| **How pi connects** | The `omniroute-pi-ext-integration` extension registers all models + the `omni` provider. URL + API key set once via `/omni setup`. Re-sync via `/omni sync`. |
### Files & Commands
| Item | Location / Command |
|------|-------------------|
| Docker compose | `/home/sam/Docker/Containers/omniroute/docker-compose.yml` on .13 |
| pi extension | `omniroute-pi-ext-integration` (npm package, installed via `pi install npm:omniroute-pi-ext-integration`) |
| Extension config | `~/.pi/agent/models.json` — stores URL + API key for `omni` provider, plus model list |
| Setup | `/omni setup` (one-time: URL + API key) |
| Sync | `/omni sync` (re-fetch model list) |
| Access (local) | `http://192.168.20.13:20129/v1` |
| Access (via Caddy) | `https://omniroute.lab.audasmedia.com.au/v1` |
| API key | `sk-fff5c0d55c0bc0bf-b58ed0-76da5716` (stored in `~/.config/environment.d/10-secrets.conf` on .27/.51, hardcoded in settings.json on .13) |
### Pi default model selection model
Machines route through `omni` provider with `defaultModel: "default-opencode-go-ds-flash"`:
```
pi → omni provider → POST /v1/chat/completions { model: "default-opencode-go-ds-flash" }
→ OmniRoute matches combo "default-opencode-go-ds-flash"
→ Tries: OpenCode-Go → OpenRouter → DeepSeek direct → Google Gemini
→ Returns first successful response
```
### Per-machine setup state
| Machine | Package installed | Provider config | `/omni setup` done | Models synced |
|---------|-----------------|-----------------|-------------------|--------------|
| .27 | ✅ In home.nix | ✅ `omni` | ✅ | ✅ |
| .13 | ✅ pi install | ✅ `omni` | ✅ | ✅ |
| .51 | ✅ pi install | ✅ `omni` | ✅ | ✅ |
---
## Extensions
| Extension | Source | Purpose |