Automated email processing and classification using LLM technology with real-time monitoring.
- 📖 Instrukcja instalacji
- ⚙️ Konfiguracja systemu
- 🚀 Szybki start
- 📝 Dokumentacja API
- 👤 Przewodnik użytkownika
- 👨💻 Przewodnik administratora
- 🤖 AI Classification: Automatyczna klasyfikacja emaili (URGENT/BUSINESS/SPAM/PERSONAL)
- 📊 Real-time Monitoring: Dashboard z metrykami w Grafana
- 🔄 Process Automation: Automatyczne odpowiedzi i routing emaili
- 📈 Analytics: Szczegółowe analizy wzorów emailowych
- ⚙️ Configuration Dashboard: Wizualizacja konfiguracji systemu i zmiennych środowiskowych
- 📱 Responsive UI: Nowoczesny interfejs użytkownika oparty na Streamlit
-
Sklonuj repozytorium i przejdź do katalogu:
git clone https://github.com/taskprovision/hubmail.git cd hubmail -
Skonfiguruj zmienne środowiskowe:
cp .env.example .env # Edytuj plik .env i ustaw odpowiednie wartości -
Uruchom instalację:
./install.sh
-
Przetestuj system:
./scripts/test-flow.sh
| Usługa | URL | Domyślne dane logowania |
|---|---|---|
| Python API | http://localhost:3001 | - |
| Dashboard | http://localhost:8501 | - |
| Config Dashboard | http://localhost:8502 | - |
| Node-RED | http://localhost:1880 | - |
| Grafana | http://localhost:3000 | admin/admin |
| Prometheus | http://localhost:9090 | - |
| Ollama | http://localhost:11436 | - |
System zawiera dedykowany panel konfiguracyjny, który pozwala na wizualizację i zarządzanie konfiguracją systemu. Panel ten dostępny jest pod adresem http://localhost:8502 lub można go otworzyć za pomocą komendy:
make config-uiPanel konfiguracyjny oferuje:
- Wizualizację usług - graf zależności między usługami
- Szczegóły konfiguracji - pełne informacje o portach, wolumenach i zmiennych środowiskowych
- Wyszukiwanie zmiennych - łatwe wyszukiwanie zmiennych środowiskowych
- Renderowanie wartości - podgląd rzeczywistych wartości zmiennych używanych w
docker-compose.yml
Aby otworzyć wszystkie panele na raz, użyj:
make all-uiAby uruchomić wszystkie usługi i otworzyć wszystkie panele jednocześnie:
make dashboardEdytuj plik .env i zaktualizuj poniższe zmienne:
# Konfiguracja serwera pocztowego
EMAIL_SERVER=imap.softreck.dev
EMAIL_USER=info@softreck.dev
EMAIL_PASS=your-app-password
EMAIL_PORT=993
EMAIL_USE_SSL=true
# Inne ustawienia
LLM_MODEL=llama2:7b
LLM_TEMPERATURE=0.3Aby zaktualizować plik .env o nowe zmienne z .env.example bez nadpisywania istniejących wartości, użyj:
make update-envWięcej szczegółów znajdziesz w dokumentacji konfiguracji.
Każdy email przechodzi przez następujący proces:
- Pobranie - Pobieranie wiadomości z serwera IMAP
- Analiza - Przetwarzanie przez model LLM (klasyfikacja + wyciągnięcie intencji)
- Routing - Kierowanie wiadomości na podstawie klasyfikacji
- Akcja - Wykonanie odpowiedniej akcji (alert, auto-odpowiedź, archiwizacja)
- Monitoring - Zbieranie metryk i wyświetlanie ich w panelu
./scripts/backup.sh-
Sprawdzanie logów:
docker-compose logs -f
-
Restart usług:
docker-compose restart
-
Pełna reinstalacja (ostrożnie - usuwa dane):
docker-compose down -v ./install.sh
Aby wyświetlić ostatnie 10 linii logów dla każdego uruchomionego kontenera Docker, użyj polecenia:
make logsWyświetli to sekcje logów dla każdego kontenera z nagłówkiem z nazwą kontenera. Przydatne do szybkiej diagnostyki wszystkich usług.
Ten projekt jest dostępny na licencji Apache. Więcej informacji w pliku LICENSE.
hubmail/
├── config/ # Pliki konfiguracyjne dla usług
│ ├── grafana/ # Konfiguracja Grafana
│ ├── node-red/ # Konfiguracja Node-RED
│ ├── ollama/ # Konfiguracja Ollama
│ └── prometheus/ # Konfiguracja Prometheus
├── config-dashboard/ # Panel konfiguracyjny
│ ├── app.py # Aplikacja Streamlit do wizualizacji konfiguracji
│ ├── Dockerfile # Konfiguracja kontenera
│ └── requirements.txt # Zależności Pythona
├── docs/ # Dokumentacja
├── python_app/ # Główna aplikacja Pythona
│ ├── api/ # API FastAPI
│ ├── flows/ # Przepływy Prefect
│ ├── models/ # Modele danych
│ ├── ui/ # Dashboard Streamlit
│ ├── utils/ # Narzędzia pomocnicze
│ ├── Dockerfile # Konfiguracja kontenera
│ └── requirements.txt # Zależności Pythona
├── scripts/ # Skrypty pomocnicze
│ ├── backup.sh # Skrypt do tworzenia kopii zapasowej
│ ├── setup.sh # Skrypt konfiguracyjny
│ └── test-flow.sh # Skrypt testowy
├── .env.example # Przykładowy plik zmiennych środowiskowych
├── docker-compose.yml # Konfiguracja Docker Compose
├── Makefile # Polecenia make do zarządzania systemem
└── install.sh # Skrypt instalacyjny