Dashboard analityczny, ApexCharts+Langfuse.
| Proces | Status | Uptime | Restarty |
|---|---|---|---|
| aion-intelligence | online | 1d | 0 |
inspiracja
PLAN.md wymienia źródła kopiowania: getOperatorSession, requireOperator, directusService() skopiowane z create.aionflow.pl. Komentarze dokumentują pułapkę migracji Directus v10->v11 RLS i odniesienie do buga Directus #26322 (widma polityk/403).
źródło: docs/PLAN-aion-intelligence.md
cel
Raporty konkurencyjne (tabela ligi ETV, klastry słów kluczowych, luki pokrycia). Czat RAG z dwiema personami ('Szpieg' analityk, 'Strateg' synteza), retrieval hybrydowy (Qdrant + Directus) przez Reciprocal Rank Fusion, filtrowany po report_id.
źródło: server/utils/rag.ts, server/api/chat.post.ts, README.md
zależności
Directus na porcie 8060, Qdrant na porcie 6341 (niestandardowy), embeddingi e5-base z serwisu na 3023, router LLM na 3031, osobny serwer MCP stealth-browser-mcp (4891) do scrapingu konkurencji.
źródło: curl potwierdzający porty, directus/worker.mjs
znaczenie
Dostarcza klientom B2B (np. Cedepe Consulting) raport pozycjonowania konkurencyjnego z czatem AI — odrębny od CRM i content-ops, dowód że wzorzec sesji/auth/RLS/router nadaje się do ponownego użycia.
źródło: seed danych testowego klienta 'Cedepe Consulting'
co działa
curl 127.0.0.1:3035/api/health zwrócił {status:ok, uptime:231519s}. Log workera potwierdza realne udane zadania embed_report i scrape. Log błędów (3457 linii) to w 100% szum botów skanujących.
źródło: curl (live), aion-intel-worker-out.log
co nie działa
server/api/health.get.ts na stałe wpisuje localhost:6333/health (domyślny port), podczas gdy realny Qdrant działa na 6341. Test na żywo: nic nie nasłuchuje na 6333, health-check zwraca 'qdrant:unavailable' mimo że Qdrant realnie działa.
źródło: server/api/health.get.ts, ss -tlnp (tylko 6341), curl /api/health
Log błędów zawiera 2 stack trace'y TypeError wskazujące na linie niezgodne z aktualnym worker.mjs — commit 'Konsolidacja stanu produkcyjnego' sugeruje że crash dotyczył wcześniejszej, niescommitowanej wersji.
źródło: aion-intel-worker-error.log, git log
co do przetestowania
Brak stack trace'ów w logach sugeruje rutynowe cykle redeployu, ale to wniosek z braku dowodów. Niepotwierdzone działanie refresh_visibility (wymaga klucza DataForSEO) i realne scrapowanie konkurentów poza danymi testowymi.
źródło: aion-intelligence-error.log (brak stack trace'ów), worker.mjs
rekomendacja
Podmienić zahardkodowany localhost:6333/health na useRuntimeConfig().qdrantUrl (już poprawnie użyty w nuxt.config.ts). Dodać logowanie przyczyny restartu, by odróżnić przyszłe crash loopy od rutynowych redeployów.
źródło: server/api/health.get.ts vs nuxt.config.ts