EA
Ekosystem Aion
← Wróć do katalogu
Aion Command (content ops)active
Slugcontent-aionflow
Domenacontent.aionflow.pl
Port3030
Wzorzec deployatomic
Ścieżka repo/var/www/content.aionflow.pl

AI email command parser, Directus+BullMQ+imapflow.

Status PM2 (na żywo)
ProcesStatusUptimeRestarty
aion-commandonline1d0
Głębsze spojrzenie

inspiracja

Trójpoziomowy fallback AI po realnym incydencie 'AI niedostępne'insight

Commit stwierdza: 'Jedyny działający transport to subskrypcja Claude Code (CLI)' po tym jak ANTHROPIC_API_KEY było puste a AI_MODEL_HEAVY wskazywał na przestarzały slug OpenRouter (404). Celowy łańcuch: ANTHROPIC_API_KEY (kanoniczny) -> OPENROUTER_API_KEY -> CLAUDE_CODE_OAUTH_TOKEN (testing-only).

źródło: git log (commit d0425c4, 8ff4a1a), server/utils/claude.ts

cel

Wielodostępowe centrum operacji treści i komunikacji z klientamigoal

CMS artykułów z publikacją do zewnętrznego Directus klienta, publikacja społecznościowa (LinkedIn/Facebook/Instagram), zunifikowana skrzynka odbiorcza (czat/email/WhatsApp) z klasyfikacją AI, moduł spotkań (transkrypcja Whisper, podsumowania AI), SSO przez Aion ID.

źródło: server/api/articles/[id]/publish.post.ts, docs/PLAN-unified-inbox.md

zależności

@anthropic-ai/sdk, Directus dedykowany, BullMQ/Redis, integracje Meta/Google/LinkedIndependency

Dedykowana instancja Directus na 127.0.0.1:8063, bullmq+ioredis (prefiks aioncmd:), imapflow/nodemailer, integracje Meta Graph API, LinkedIn, Google Calendar, Whisper, Resend, Authentik OIDC.

źródło: package.json, server/utils/claude.ts, .env.example

znaczenie

Nerw operacyjny do prowadzenia wielu klientów z jednego miejscainsight

Centralizuje produkcję treści, komunikację ze wszystkimi kanałami klientów, logistykę spotkań, fundament pod platformę tożsamości. Funkcje AI bezpośrednio automatyzują rutynową obsługę klienta.

źródło: docs/PLAN-aion-id-platform.md

co działa

Oba procesy PM2 stabilne, log błędów app-owy jest w pełni łagodnytested-ok

aion-command i worker: status online, uptime 8 dni, unstable_restarts=0. Log błędów (2779 linii) to w 1805 liniach nieszkodliwe ostrzeżenie h3, reszta to ENOENT dla nieaktualnych hashy chunków (normalny artefakt redeployu).

źródło: pm2 describe (unstable_restarts:0), aion-command-error.log

co nie działa

Endpoint /api/health zwraca 401 mimo komentarza 'brak autoryzacji'tested-broken

server/api/health.get.ts deklaruje 'Brak autoryzacji — pingowany przez monitoring', ale allowlist w middleware nie zawiera wyjątku. Bezpośredni test: curl 127.0.0.1:3030/api/health zwraca 401 — zewnętrzny monitoring bez ciasteczka nie może odczytać statusu.

źródło: curl (live, 401), server/middleware/auth.ts

19 restartów workera wynika z dwóch realnych, historycznych incydentów Redistested-broken

Log potwierdza 118 wystąpień ECONNREFUSED 6379 (Redis niedostępny) oraz 5 wystąpień MISCONF 'unable to persist to disk'. Oba historyczne — obecnie redis-cli ping zwraca PONG, dysk ma 79G wolnego.

źródło: aion-command-worker-error.log (118x ECONNREFUSED, 5x MISCONF)

co do przetestowania

Aktualna wartość ANTHROPIC_API_KEY i stan kredytów OpenRouter niepotwierdzoneuntested

Nie zweryfikowano czy ANTHROPIC_API_KEY jest wypełnione w produkcyjnym .env, ani czy konto OpenRouter ma kredyty — logika cooldown po 402 sugeruje powracający problem.

źródło: brak dostępu do wartości .env w tej sesji

rekomendacja

Dodać wyjątek dla /api/health w middleware i monitorować Redis/dyskrecommendation

Dodać wyjątek dla ścieżki /api/health w server/middleware/auth.ts. Skonfigurować alerting na redis-cli ping i próg wolnego miejsca — 19 restartów workera wynika bezpośrednio z tych dwóch awarii infrastrukturalnych.

źródło: server/middleware/auth.ts, historia restartów workera