4-tierowy router LLM (Claude/Gemini/DeepSeek).
/var/www/agent.aionflow.pl/mcp/aion-router-mcp.mjs
| Kategoria | Wartość |
|---|---|
| names | ground, check_kb, route |
Ostatnia synchronizacja: 2026-07-13T09:23:44.562Z
inspiracja
Dokument researchowy stwierdza, że hybrydowy klasyfikator (heurystyka + LLM-supervisor) i 4-poziomowy system tierów to jedyne sensowne podejście — gotowe routery OSS oferują tylko binarny routing. Osobny dokument zdiagnozował, że RAG był 'tylko etykietą routingu, bez realnego retrievalu' i naprawiono to przez endpoint /api/v1/ground.
źródło: aion-router-research-2026-06-25.md
cel
Cztery tiery (PLAN, ARCHITECT, CONTEXT, ROUTINE), każdy z modelem podstawowym i fallbackiem, hybrydowa klasyfikacja (heurystyka + DeepSeek-supervisor), łańcuch fallbacków przy awarii dostawcy, dwa tryby autoryzacji, realne mielenie RAG (Qdrant + Voyage) potwierdzone jako działająca implementacja.
źródło: server/config/router.config.ts, server/utils/{heuristics,classifier,fallback-chain,grounding}.ts
zależności
Wymaga ANTHROPIC_API_KEY, GEMINI_API_KEY, DEEPSEEK_API_KEY, poświadczeń OAuth, QDRANT_URL/QDRANT_API_KEY/VOYAGE_API_KEY, serwera MCP dla Claude Code/Gemini CLI/Cursor/n8n. create.aionflow.pl jest potwierdzonym konsumentem.
źródło: .env.example, mcp/aion-router-mcp.mjs
znaczenie
Daje ekosystemowi kontrolę kosztów (tanie vs drogie modele wg tieru), odporność na awarie (łańcuch fallbacków), współdzieloną zdolność RAG zamiast budowania jej osobno w każdej aplikacji.
źródło: server/utils/fallback-chain.ts, router.config.ts
co działa
curl 127.0.0.1:3031/api/health zwrócił {ok:true, service:aion-llm-router}. PM2 status online z unstable_restarts=0 mimo 31 restartów łącznie — kod routingu/klasyfikacji/fallbacków kompletny i zgodny z dokumentami.
źródło: curl (live), pm2 jlist (aion-router)
co nie działa
ecosystem.config.cjs wskazuje '.current/server/index.mjs', ale realny pm_exec_path działającego procesu to .output/server/index.mjs. .current wskazuje na build z 30 czerwca, .output przebudowany 6 lipca — proces serwuje nowszy build niż ten, do którego wróciłby rollback.
źródło: porównanie ecosystem.config.cjs vs pm2 jlist pm_exec_path
Log potwierdza 'Quota exceeded for metric: generativelanguage.googleapis.com' oraz 33 błędy ENOENT dla brakujących chunków _nuxt/*.js — naprawione skryptem symlink po przebudowie 6 lipca; brak dowodów bieżącego problemu.
źródło: aion-router-error.log (33x ENOENT, live-verified)
co do przetestowania
Wartości AION_IDP_ISSUER/REDIRECT_URI różnią się między trzema źródłami — dotyczy logowania SSO operatora do UI routera, nie bramki API tokenem Bearer.
źródło: porównanie .env, pm2 env, AGENTS.md
rekomendacja
Wykonać pełen atomowy deploy, żeby .current wskazywał na aktualnie działający build — inaczej rollback po cichu nie wpłynie na realnie działający proces. Ujednolicić wartości AION_IDP_ISSUER/REDIRECT_URI.
źródło: analiza scripts/release.mjs