LocalMind
Your AI, your data, your machine — piattaforma AI local-first
Piattaforma AI self-hosted per gestione documenti, ricerca semantica, chat multi-provider LLM e automazione. Stack Java/Angular enterprise con architettura esagonale, RAG, MCP integration (132+ tool).

Highlights
- Privacy by Design: dati locali, mai esposti senza configurazione esplicita
- Zero Vendor Lock-in: gateway multi-provider con fallback automatico
- 4 provider LLM: Ollama (locale), OpenAI, Anthropic Claude, Google Gemini
- Funzionamento offline (air-gapped) con Ollama
- Architettura esagonale (Hexagonal/Ports & Adapters) enforced a compile-time
- RAG completo: Tika → chunking → embedding → Qdrant → retrieval → SSE streaming
- MCP integration: 132+ tool nativi su 9 classi
- SDK ufficiali: Java (Maven), JavaScript/TypeScript (npm), Python (pip)
- Spring Batch per ingestion asincrona di grandi volumi documentali
- 500+ test unitari (≥80% coverage backend), 67 test E2E Playwright
Visione e obiettivi strategici
LocalMind nasce per offrire una piattaforma AI local-first, modulare e self-hosted che mette al primo posto:
- Privacy by Design — i dati non lasciano mai la macchina locale salvo configurazione esplicita
- Zero Vendor Lock-in — gateway multi-provider con fallback automatico
- Costi controllati — Ollama gratuito locale, cloud pay-per-use, cost tracking integrato
- Funzionamento offline — piena operatività in ambienti air-gapped
- Integrazione enterprise Java — compatibile con AD/LDAP/SSO, Docker, Kubernetes, Actuator/Micrometer/JMX
- Trasparenza totale — ogni operazione tracciabile e misurabile
Architettura esagonale (Ports & Adapters)
Le regole di dipendenza sono enforced a compile-time tramite la struttura multi-modulo Maven: il dominio non conosce né Spring né JPA.
localmind-backend/
├── localmind-domain/ Logica pura, zero dipendenze framework
│ ├── model/ Entità dominio
│ ├── port/in/ Use case
│ ├── port/out/ Interface adapter
│ └── service/ Implementazioni use case
├── localmind-infrastructure/ Adapter Spring (JPA, LLM, vector store)
├── localmind-api/ REST controllers /api/v1/*
├── localmind-batch/ Spring Batch jobs
└── localmind-app/ Boot entry, Flyway migrationsPipeline RAG
Ingestion → estrazione Tika → chunking → embedding (Ollama nomic-embed-text) → storage Qdrant → query semantica → context injection → LLM Gateway → risposta streaming SSE.
LLM Gateway — Strategy + Chain of Responsibility
- Routing: provider esplicito → default → primo disponibile nella chain
- Fallback chain: OLLAMA → OPENAI → ANTHROPIC → GOOGLE
- Retry: 3 tentativi, backoff esponenziale (1s → 2s → 4s), retryable su timeout/429/503
- Auto-config: provider con API key vuota disabilitati (
@ConditionalOnProperty) - EmbeddingModel: Ollama
@Primaryquando più provider attivi
MCP Integration — 132+ tool nativi
9 classi tool che coprono utility, code review, testing, DevOps, database, documentazione, project management Scrum, comunicazione, ops/infrastructure.
Funzionalità
- Chat AI Multi-Provider con SSE streaming, history, cost tracking
- Document Intelligence & RAG: PDF/DOCX/TXT/EML, chunking automatico
- AI Agents Specializzati: Tech, Business, Legal, Personal con tool calling
- MCP Integration: 132+ tool nativi su 9 classi
- Automazioni & Webhook: integrazione n8n per workflow no-code
- Batch Processing: scansione cartelle, ingestion asincrona
- Dashboard & Monitoring: health, costi, token usage, SLA
- Settings: CRUD provider LLM con chiavi cifrate
Stack tecnologico completo
| Layer | Tecnologia | Note |
|---|---|---|
| Backend Runtime | Java 17 LTS | — |
| Backend Framework | Spring Boot 3.4.2 | — |
| AI | Spring AI 1.0.0 | — |
| ORM | Spring Data JPA + Hibernate 6.x | — |
| Security | Spring Security 6.x | — |
| Batch | Spring Batch 5.x | — |
| Database | MySQL 8.0 | — |
| Vector store | Qdrant | embedding e ricerca semantica |
| OCR/Parsing | Apache Tika 2.9.2 | — |
| Migration | Flyway V1-V78 | — |
| Frontend | Angular 21.0.0 | Standalone, Signals |
| Testing E2E | Playwright (67 test) | — |
| Deploy | Docker + Compose + Nginx | — |
Tecnologie principali
Galleria del progetto
Clicca su un'immagine per ingrandirla.


