ai-station/Marimo_Multi-User_Hub.md

55 lines
3.0 KiB
Markdown

# 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:
1. **Auth Proxy (Oauth2-Proxy):** Gestisce l'autenticazione Google. Passa l'header `X-Email` a Marimo.
2. **App Core (Marimo):** Applicazione Python reattiva. Legge l'header utente e carica il layout specifico.
3. **Knowledge Base (Qdrant):** Vector DB per i manuali (RAG).
4. **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-pro` o `qwen2.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 `.env` e non esposte nel frontend.