Mentre il dibattito europeo sulla sovranità dei dati e sulla conformità al GDPR si fa sempre più serrato, cresce l'esigenza di soluzioni di intelligenza artificiale che non sacrifichino la privacy sull'altare dell'efficienza. In questo scenario si inserisce Odysseus, un workspace AI autogestito (self-hosted) progettato per replicare l'esperienza d'uso fluida di piattaforme proprietarie come ChatGPT e Claude, ma eseguito interamente sul proprio hardware locale, garantendo il controllo assoluto sui dati e l'assenza totale di telemetria.

10.485.760
Byte Limite Chat
Dimensione massima per gli allegati nei messaggi di chat
104.857.600
Byte Limite Galleria
Capacità massima per il caricamento di immagini nella galleria

L'alternativa locale e sovrana ai giganti del cloud

Nel panorama tecnologico italiano, l'adozione dell'intelligenza artificiale generativa deve scontrarsi con rigidi vincoli di riservatezza, segreto professionale e conformità normativa. Esternalizzare dati aziendali o personali verso server d'oltreoceano espone a rischi legali e di sicurezza non trascurabili. Odysseus nasce per risolvere questo paradosso: offre un'interfaccia utente moderna e reattiva, ma funziona interamente in locale (local-first).

Interfaccia principale del workspace Odysseus
Odysseus offre un'esperienza visiva raffinata e priva di distrazioni, ottimizzata per l'uso locale.

A differenza di altre interfacce di chat locali, Odysseus non si limita a inviare prompt a un modello linguistico di grandi dimensioni (LLM - Large Language Model). Si propone come un vero e proprio ambiente di lavoro integrato che unisce chat, agenti autonomi, elaborazione di documenti, gestione della posta elettronica e agende sincronizzate.

Le funzionalità principali di Odysseus

L'ecosistema di Odysseus è composto da diversi moduli integrati, pensati per coprire le esigenze quotidiane di professionisti e sviluppatori:

  • Chat Multimodello: Consente di dialogare con qualsiasi modello locale o tramite API esterne. Supporta motori di esecuzione e servizi come vLLM, llama.cpp, Ollama, OpenRouter, OpenAI e GitHub Copilot.
  • Agenti Autonomi (Agent): Sfruttando la libreria di esecuzione opencode e il protocollo standard MCP (Model Context Protocol), l'agente può utilizzare strumenti esterni, accedere al web, leggere e scrivere file, eseguire comandi nella shell e memorizzare informazioni.
  • Deep Research: Un modulo derivato da Tongyi DeepResearch di Alibaba, in grado di effettuare ricerche multi-step sul web, analizzare e sintetizzare diverse fonti e produrre un rapporto finale strutturato.
  • Cookbook Hardware-Aware: Una sezione che esamina la configurazione del computer in uso (analizzando la memoria video disponibile o VRAM), consiglia i modelli ideali da scaricare nei formati GGUF, FP8 o AWQ e si occupa del download e della messa in funzione.
  • Confronto Cieco (Compare): Uno strumento per testare due o più modelli contemporaneamente e in modo anonimo, eliminando i pregiudizi sui brand e valutando l'effettiva qualità delle risposte.
  • Gestione Documenti e Note: Un editor di testo a schede con supporto per Markdown, HTML, CSV ed evidenziazione della sintassi, assistito dall'AI per modifiche e suggerimenti in tempo reale.
Dimostrazione della chat e degli agenti in Odysseus
Gli agenti integrati in Odysseus possono eseguire operazioni complesse sul file system e sul web.

Integrazione avanzata con Email e Calendario

Un aspetto unico di Odysseus è la sua capacità di agire come client di produttività personale. Integra una casella di posta IMAP/SMTP in grado di effettuare un triage intelligente delle email tramite l'AI locale: riassunti automatici, bozze di risposta pronte, catalogazione dello spam e avvisi di urgenza. Dispone inoltre di un calendario locale sincronizzabile via CalDAV con servizi diffusi quali Nextcloud, Apple, Radicale o Fastmail.

Processo di Deep Research in esecuzione
Il modulo di Deep Research esegue ricerche web approfondite per produrre report dettagliati.
Pro
  • Controllo totale dei dati grazie all'approccio locale e privacy-first
  • Integrazione nativa di agenti complessi, email (IMAP/SMTP) e calendari (CalDAV)
  • Cookbook intelligente per consigliare e servire i modelli in base alla VRAM reale
  • Supporto multimodale e interfaccia PWA fluida anche su dispositivi mobili
Contro
  • Richiede competenze tecniche per l'installazione e la configurazione delle GPU
  • L'autenticazione delle email con Outlook/Office 365 richiede configurazioni manuali complesse (mancanza temporanea di OAuth nativo)
  • L'esecuzione locale di modelli avanzati richiede schede video performanti

Guida all'installazione rapida

Odysseus è stato strutturato per funzionare fin da subito senza configurazioni complesse. Di default, crea un account amministratore con nome utente admin (modificabile tramite la variabile ODYSSEUS_ADMIN_USER nel file di configurazione) e stampa una password temporanea direttamente nel terminale al primo avvio. Si raccomanda di modificare questa password nelle impostazioni subito dopo il primo accesso.

Guida passo-passo

Come avviare Odysseus con Docker (Metodo Consigliato)

  1. 1
    Clonazione del repositoryApri il terminale ed esegui la clonazione del codice sorgente di Odysseus dal repository ufficiale GitHub.
  2. 2
    Preparazione dell'ambienteCrea una copia del file delle variabili d'ambiente eseguendo "cp .env.example .env" per definire i parametri fondamentali di rete e sicurezza.
  3. 3
    Avvio dei containerEsegui il comando "docker compose up -d --build" per scaricare le immagini, compilare il workspace e avviare Odysseus in background.
  4. 4
    Accesso all'interfacciaUna volta completata l'inizializzazione, apri il browser e collegati all'indirizzo http://localhost:7000. Usa la password temporanea stampata nei log del container per accedere.

Installazione nativa su Linux e macOS

Se preferisci evitare la virtualizzazione di Docker o vuoi sfruttare direttamente l'accelerazione hardware Metal sui processori Apple Silicon (Mac M-series), puoi procedere con l'installazione nativa tramite Python. Assicurati di avere installato Python 3.11 o versioni successive.

bash
git clone https://github.com/pewdiepie-archdaemon/odysseus.git cd odysseus python3 -m venv venv source venv/bin/activate pip install -r requirements.txt python setup.py python -m uvicorn app:app --host 127.0.0.1 --port 7000

Per gli utenti macOS, gli sviluppatori hanno predisposto uno script automatizzato che installa le dipendenze Homebrew necessarie, crea l'ambiente virtuale e avvia l'applicazione sulla porta 7860 (per evitare conflitti con AirPlay, che solitamente occupa la porta 7000):

bash
./start-macos.sh

Se desideri pacchettizzare l'applicazione in un'icona cliccabile all'interno della cartella Applicazioni del tuo Mac, puoi lanciare lo script di build dedicato:

bash
./build-macos-app.sh

Gestione dell'hardware e accelerazione GPU

La fluidità dei modelli locali dipende fortemente dalla capacità dell'applicazione di dialogare con la scheda video. Quando si esegue Odysseus all'interno di Docker, è fondamentale configurare correttamente il passthrough della GPU affinché il modulo Cookbook possa rilevare l'hardware.

Strumento di confronto cieco dei modelli
La funzione Compare ti permette di valutare oggettivamente le risposte di modelli diversi in modalità cieca.

Abilitazione GPU NVIDIA

Per i sistemi dotati di schede grafiche NVIDIA, viene fornito uno script di diagnostica in grado di verificare la corretta installazione dell'NVIDIA Container Toolkit e di aggiornare il file di configurazione:

bash
# Diagnostica in sola lettura (non installa nulla) scripts/check-docker-gpu.sh # Installazione guidata del toolkit su sistemi Ubuntu/Debian ed attivazione del profilo GPU scripts/check-docker-gpu.sh --install-nvidia-toolkit --enable-nvidia-overlay

L'abilitazione manuale può essere effettuata aggiungendo questa istruzione all'interno del file .env:

COMPOSE_FILE=docker-compose.yml:docker/gpu.nvidia.yml

Supporto AMD ROCm

Gli utenti con schede grafiche AMD possono eseguire lo script di verifica dedicato:

bash
scripts/check-docker-amd-gpu.sh

Successivamente, sarà necessario modificare manualmente il file .env inserendo il gruppo di rendering corretto rilevato dal sistema (ad esempio 989):

COMPOSE_FILE=docker-compose.yml:docker/gpu.amd.yml RENDER_GID=989
Editor di documenti integrato
L'editor di documenti supporta schede multiple ed è potenziato dall'intelligenza artificiale per l'editing contestuale.

Tabella comparativa: Odysseus vs Open WebUI vs ChatGPT

Per comprendere meglio dove si posiziona Odysseus all'interno dell'offerta attuale, abbiamo strutturato un confronto diretto basato sui requisiti operativi, l'integrazione di strumenti e il controllo dei dati:

CaratteristicaOdysseus (Self-Hosted)Open WebUI (Self-Hosted)ChatGPT Plus (Cloud)
Esecuzione e PrivacyLocale, zero telemetria, dati su database SQLite localeLocale o server condiviso, orientato alla collaborazione multiutenteProprietario in cloud (USA), i dati possono essere usati per l'addestramento
Rilevamento hardware localeSì (modulo Cookbook intelligente integrato)No (richiede la pre-configurazione manuale di Ollama/vLLM esterni)Non applicabile (gestito interamente dal cloud OpenAI)
Client email e calendarioSì, lettura IMAP, invio SMTP ed integrazione CalDAV per agenda localeNoSì, tramite integrazioni cloud di terze parti (es. Microsoft 365, Google)
Deep Research AutonomoSì, esecuzione locale multi-step con SearXNG internoSì, ma richiede configurazioni manuali di agenti esterniSì (funzionalità proprietaria OpenAI Pro/Search)
Editor di documenti integratoSì, editor multi-scheda per Markdown, HTML e CSV assistito da AISì, tramite integrazione parziale con sistemi di annotazioneSì (interfaccia "Canvas")
Note ed attività di Odysseus
La gestione di note ed attività consente di pianificare task automatizzati che l'agente AI può eseguire in autonomia.

Sicurezza e architettura per ambienti professionali

Dal momento che Odysseus integra funzionalità molto potenti (come l'accesso al terminale di sistema, l'esecuzione di script Python e la lettura di cartelle locali), gli amministratori di sistema devono considerarlo con lo stesso livello di attenzione riservato a una console di amministrazione aziendale.

Le buone norme per una messa in produzione sicura includono:

  • Mantenere sempre attiva la direttiva AUTH_ENABLED=true nel file .env.
  • Disabilitare la registrazione libera di nuovi utenti (open signup) all'interno del file data/auth.json subito dopo l'inizializzazione del primo account amministratore.
  • Se l'applicazione viene esposta su una rete aziendale o tramite VPN (come Tailscale), forzare l'uso di certificati HTTPS sicuri. È possibile generare certificati attendibili localmente con utility come mkcert e avviare l'applicazione passando i file a Uvicorn:
    bash
    python -m uvicorn app:app --host 0.0.0.0 --port 7000 --ssl-certfile=cert.pem --ssl-keyfile=key.pem
  • Isolare le porte dei servizi di supporto (come la porta 8080 di SearXNG, la porta 8100 di ChromaDB o la porta 11434 di Ollama), lasciandole accessibili solo internamente a Docker ed esponendo al pubblico unicamente l'interfaccia protetta di Odysseus.
Il nostro verdetto
4.7/ 5

Un ecosistema AI locale completo e maturo

Odysseus supera brillantemente il concetto di "semplice interfaccia grafica per modelli locali". Riunendo email, note, documenti e gestione intelligente dell'hardware in un unico applicativo, colma il divario tra la flessibilità del software libero e l'usabilità dei prodotti SaaS più blasonati. Consigliato caldamente a sviluppatori, professionisti legali, medici e a chiunque debba gestire informazioni strettamente confidenziali.

Posso installare Odysseus su Windows senza usare Docker?
Sì, Odysseus supporta l'esecuzione nativa su Windows tramite Python 3.11+. È disponibile uno script automatico denominato "launch-windows.ps1". Per abilitare tutte le funzioni del Cookbook e gli agenti, è raccomandata l'installazione di Git for Windows per poter disporre dell'eseguibile bash.exe.
Come posso collegare un'istanza Ollama già presente sul mio PC all'interno di Docker?
Se utilizzi Docker per Odysseus ma Ollama è in esecuzione direttamente sulla tua macchina host, apri la pagina Impostazioni di Odysseus e aggiungi l'endpoint "http://host.docker.internal:11434/v1". Ricorda che Ollama deve essere avviato in modo da accettare connessioni esterne al localhost (impostando la variabile d'ambiente OLLAMA_HOST=0.0.0.0:11434).
Quali formati di documenti sono supportati per l'importazione e l'analisi?
Installando le dipendenze facoltative incluse in "requirements-optional.txt" (in particolare PyMuPDF e markitdown), Odysseus è in grado di elaborare ed estrarre testo formattato da file PDF, documenti Word (.docx), fogli Excel (.xlsx), presentazioni PowerPoint (.pptx) ed eBook in formato EPUB, convertendoli automaticamente in Markdown per il modello linguistico.

Fonti e riferimenti

  1. Repository GitHub Ufficiale di Odysseus