---
name: avtero_omniroute_llm_bus
description: avtero — централизованный LLM-доступ через OmniRoute (свой ключ + провайдеры bynara/zyloo/9router); как добавлять провайдеров и почему только через UI
metadata: 
  node_type: memory
  type: project
  originSessionId: 4eea915e-3b47-4cd5-8a0e-bfa29b78a87c
---

**Решение (2026-06-30, по просьбе юзера): LLM avtero идёт централизованно через OmniRoute** (:20128 шина), avtero держит ОДИН свой ключ `AI_GATEWAY_KEY` (=`sk-e8243a9d…`, env в плисте `local.avtero`), а ключи апстрим-провайдеров живут в OmniRoute. Удобно докидывать/ротировать ключи в одном месте. Чейн задаётся `PROVIDER_CHAT_FALLBACK` = `gateway:<провайдер>/<модель>,…`.

**2026-07-01 — `fmd/gpt-5.4` (freemodel-dev) добавлен в чейн avtero #2 (забран у Делора ради стабильности).** Юзер: fmd нужнее нам для стабильности, чем Делору. Проверен через шлюз avtero :20128 (OpenAI-формат): ping «OK» 2.35с, tool_calling ✓; **живой прогон /api/ask** (Kia Cerato, fmd единственным лидером, полная инфра) → **provider=gateway, model=fmd/gpt-5.4, confidence=high**, 2 работы (фильтр 2630035503 + свеча 1885410080), 7 и 9 аналогов, 69.6с. NB: standalone-бенч давал 0 work_units — это ИНФРА-артефакт (то же с прод-лидером nvidia), не вина модели; проверять fmd только через живой API с БД. Есть и `fmd/gpt-5.5` (новее, не подключал). **fmd — leaky free-reseller** → поставлен #2 ПОСЛЕ надёжного `nvidia:mistral-large-3` (свой ключ), не лидером: под нагрузкой отдаёт 503 «resource pressure» (что и наблюдалось в логах Делора июнь). ФИНАЛЬНЫЙ чейн (2026-07-01, после прунинга — бэкап `*.bak-prune-*`): **5 живых голов** `nvidia:mistralai/mistral-large-3-675b-instruct-2512, gateway:fmd/gpt-5.4, nvidia:moonshotai/kimi-k2.6, gateway:bynara/mimo-v2.5-pro-free, gateway:cerebras/gpt-oss-120b` (в плисте avtero + llmmon). **Live-пробой всех голов 2026-07-01:** живы 1/2/5/6/7 (mistral-large-3 0.4с, fmd 3.2с, kimi 0.6с, bynara 3.0с, cerebras 0.5с — все свой ключ/free 200). **МЁРТВЫ (убраны): `kiro/claude-opus-4.8` → 400 «Invalid model» за 5.8с; `zyloo/claude-opus-4-7` → 404 мгновенно.** Убраны, т.к. мёртвая голова = впустую failed round-trip перед фолбэком. Вернуть — если оживут (re-add в PROVIDER_CHAT_FALLBACK). Бэкбон = ДВЕ головы на своём NVIDIA-ключе (mistral-large-3 + kimi, не зависят от free-пулов) + fmd + bynara + cerebras. Делор при этом перестал жечь fmd — спорт-аналитика выключена (см. [[delor_sport_tg_grounding]]).

**Проверенные внешние провайдеры (свои ключи юзера; tool-calling ✓ при `stream:false`):**
- **bynara** `https://router.bynara.id/v1` — free `mimo-v2.5-pro-free` (1M ctx, reasoning, vision) / `mimo-v2.5-free`; **2.7–3.6с**, самые быстрые. Ключ требует вступления в их TG-канал (`telegram_required` → relink на /settings); `gpt-5.5` платный.
- **zyloo** `https://api.zyloo.io/v1` — free `claude-opus-4-7` (Opus!) **3.0с**; `gpt-5.2` платный (402).
- **9router** `https://9router.xunleiyk.com/v1` — `gpt-5.5-pro20x` 6с / `bv`(=glm-5.2) 11с. SSE по умолчанию, но avtero форсит `stream:false` (llm.py:508) → чистый JSON.
- ⚠️ Это **реселлеры фронтира** (нестабильны, могут пропасть) → только как головные «попробовать», с надёжным фолбэком GLM(cerebras/zai-glm-4.7)→mistral→cerebras/gpt-oss. См. [[risky_llm_provider_isolation]] [[avtero_llm_chain_incident]].

**Как добавлять провайдера в OmniRoute — ПРОГРАММНО через admin-API :20129** (РАБОТАЕТ, проверено). Сырой SQL нельзя (storage.sqlite шифрован `STORAGE_ENCRYPTION_KEY`); CLI `bin/omniroute.mjs` битый (`better-sqlite3 native binding incompatible` + лезет в `~/.omniroute/` вместо DATA_DIR). Но HTTP admin-API цел:
1. **Логин:** `POST http://127.0.0.1:20129/api/auth/login` body `{"password":"<INITIAL_PASSWORD из ~/Services/omniroute-mindshub-data/.env>"}` → `{"success":true}` + cookie (сохранить `-c jar`, далее `-b jar`).
2. **Узел:** `POST /api/provider-nodes` `{"type":"openai-compatible","name":..,"prefix":"<префикс>","apiType":"chat","baseUrl":"…/v1","chatPath":"/chat/completions","modelsPath":"/models"}` → возвращает `node.id`="openai-compatible-chat-<uuid>".
3. **Коннекшен (ключ):** `POST /api/providers` `{"provider":"<node.id>","authType":"apikey","name":..,"priority":1,"isActive":true,"proxyEnabled":true,"apiKey":"<upstream key>"}`.
4. Маршрут в шине: `gateway:<prefix>/<model>` ключом avtero `sk-e8243…` (ключ называется «OpenClaw», `/api/keys`). Архитектура = **узел + коннекшен** (mistral у юзера так же: openai-compatible-chat, prefix "mistral").
Сервис=mindshub-omniroute (app `~/Services/omniroute-mindshub-app`, data `…-data`, proxy `~/Services/mindshub-omniroute-proxy/server.mjs`, node `/opt/homebrew/opt/node@22/bin/node`). Дашборд-UI тоже на :20129 (cookie-логин) — альтернатива.

**СДЕЛАНО 2026-06-30:** все 3 провайдера добавлены в OmniRoute (prefixes `bynara`/`zyloo`/`r9`, все proxyEnabled, проверены через :20128 → 200). Чейл avtero на чистом `gateway:`. Костыль `ollama` убран (OLLAMA_* возвращены к :11434). **Сравнение голов на эталоне (Kia Rio 2017 передние колодки, правильный OEM=`58101-1RA00`): zyloo/claude-opus-4-7 = ЛИДЕР** (точный OEM + 10 аналогов + полный разбор работ); bynara/mimo-pro-free быстрый но дал НЕВЕРНЫЙ OEM `58302-H8A05` (риск не-той-детали → во вторую очередь); r9 — тест-артефакт (рестарт), cerebras соло ReadTimeout. **Головным поставлен opus** (приоритет качества): `gateway:zyloo/claude-opus-4-7 → gateway:bynara/mimo-v2.5-pro-free → gateway:r9/gpt-5.5-pro20x → gateway:cerebras/zai-glm-4.7 → gateway:mistral/mistral-medium-latest → gateway:cerebras/gpt-oss-120b`. Латентность ~110с (упирается в раунды оркестратора, не в модель). См. [[avtero_llm_alert_opsdash]] (degraded-алерт ловит падение чейна).
