3.0 KiB
3.0 KiB
MARIMO MULTI-USER HUB: Specifica di Progetto (v1.0 - 24/12/2025)
1. Oggetto e Visione
Realizzazione di una piattaforma "AI Station" dockerizzata, accessibile via web, che fornisce interfacce personalizzate (Workspace) in base al profilo utente loggato. L'obiettivo è democratizzare l'accesso all'IA (Gemini/Ollama) per la famiglia e fornire strumenti avanzati per lo sviluppo.
2. Infrastruttura Hardware e Rete
| Nome Risorsa | Ruolo | Indirizzo IP / URL | Note |
|---|---|---|---|
| Pfsense | Gateway/Firewall | 192.168.1.254 |
Gestione rete locale |
| Nginx Proxy | Reverse Proxy GUI | 192.168.1.252:81 |
Smistamento traffico interno |
| AI-SRV (GUI) | Server Applicativo | 192.168.1.244 |
Docker Host (Marimo, Auth, DB) |
| AI-GPU | Backend Inferenza | 192.168.1.243 |
Ollama (RTX A1000) |
| DNS Esterno | Accesso Remoto | https://ai-platform.dffm.it |
Gestito su DigitalOcean |
3. Stack Tecnologico (Container Architecture)
Il sistema è composto da container orchestrati via Docker Compose:
- Auth Proxy (Oauth2-Proxy): Gestisce l'autenticazione Google. Passa l'header
X-Emaila Marimo. - App Core (Marimo): Applicazione Python reattiva. Legge l'header utente e carica il layout specifico.
- Knowledge Base (Qdrant): Vector DB per i manuali (RAG).
- Memory (PostgreSQL): Storico chat, preferenze utente, log audit.
4. Profili Utente e Workspace
A. Profilo "Smart Business" (Moglie - Commercialista)
- UI: Minimalista. Solo Chat e Upload File.
- Funzioni: Analisi PDF fiscali, estrazione dati, sintesi scadenze.
- Tech: No codice visibile. Output formattati in Markdown/Tabelle.
- Context: Workspace
/workspaces/contabilita(Manuali fiscali).
B. Profilo "Engineering" (Figlio - Ingegnere)
- UI: Chat + Visualizzatore Tecnico.
- Funzioni: Supporto calcoli, RAG su datasheet tecnici, Python assistito.
- Context: Workspace
/workspaces/engineering.
C. Profilo "Architecture" (Figlia - Studente)
- UI: Visuale. Focus su storia dell'arte, normative edilizie.
- Funzioni: RAG su manuali di architettura, generazione idee.
- Context: Workspace
/workspaces/architettura.
D. Profilo "Power User" (Tu - Dev/Admin)
- UI: Full "Chat + Canvas".
- Funzioni: Accesso terminale, SQL query su Postgres, Git versioning, gestione RAG.
- Output: Codice visibile ed eseguibile.
5. User Experience (UX): Chat + Canvas
L'interfaccia deve replicare il pattern "Artifacts":
- Colonna Sinistra (Chat): Flusso conversazionale con l'AI.
- Colonna Destra (Canvas): Area dinamica. Se l'AI genera codice, grafici o tabelle complesse, vengono renderizzati qui (non inline nella chat).
- Persistenza: Le chat vengono salvate su Postgres con tag del modello usato (es.
gemini-1.5-prooqwen2.5).
6. Sicurezza e Volumi
- I file degli utenti sono isolati in volumi Docker montati su
/ai-station/workspaces/%username%. - Le chiavi API (Google, Ollama) sono iniettate via
.enve non esposte nel frontend.