sam-4screen-desktop 2026-7-31:11:14:15
This commit is contained in:
@@ -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 |
|
||||
|
||||
Reference in New Issue
Block a user