ai-station/bck/Marimo_Multi-User_Hub.md

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:

  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.