# πŸ€– Effi - Assistant IA Personnel Self-Hosted Effi est un assistant IA personnel **100% auto-hΓ©bergΓ©**, avec mΓ©moire persistante entre sessions, discussion vocale (STT + TTS), et intΓ©gration avec les outils de productivitΓ©. ## 🎯 Objectifs - **Assistant conversationnel** avec personnalitΓ© joyeuse et mΓ©canismes de mΓ©moire - **Discussion vocale complΓ¨te** : Speech-to-Text (Whisper) + Text-to-Speech (Piper/XTTS) - **MΓ©moire persistante** entre les sessions via filtres OpenWebUI - **IntΓ©gration Obsidian** pour la prise de notes et la synchronisation - **Automatisation** via n8n et protocole MCP - **Infrastructure entiΓ¨rement locale** - aucun appel API externe --- ## πŸ—οΈ Architecture ### Infrastructure Multi-Machines | Machine | IP | RΓ΄le | SpΓ©cifications | |---------|-----|------|----------------| | **effi-server** | `192.168.1.27` | Serveur Docker principal | Intel J5040 / 7.6 GB RAM | | **folzo-Corp** | `192.168.1.11` | LLM + STT + TTS | AMD Ryzen 5800X3D / RX 7800 XT 16GB VRAM | ### SchΓ©ma Global ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ EFFI SERVER (192.168.1.27) β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ Open WebUI β”‚ β”‚ Qdrant β”‚ β”‚ n8n β”‚ β”‚ CouchDB β”‚ β”‚ β”‚ β”‚ Port 3000 β”‚ β”‚ Port 6333 β”‚ β”‚ Port 5678 β”‚ β”‚ Port 5984 β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ mcpo β”‚ β”‚ wol-proxy β”‚ β”‚ pipelines β”‚ β”‚ β”‚ β”‚ Port 8000 β”‚ β”‚ Port 3011 β”‚ β”‚ Port 9099 β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ Wake-on-LAN + Proxy β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ FOLZO-CORP (192.168.1.11) β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ RX 7800 XT (ROCm) β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ β”‚ β”‚ Ollama β”‚ β”‚ speaches β”‚ β”‚ openedai β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ qwen2.5:14b β”‚ β”‚ Whisper STT β”‚ β”‚ speech TTS β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ Port 11434 β”‚ β”‚ Port 8200 β”‚ β”‚ Port 8100 β”‚ β”‚ β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` --- ## 🐳 Stack Services | Service | HΓ΄te | Port | Image | RΓ΄le | |---------|------|------|-------|------| | Open WebUI | effi-server | 3000 | `ghcr.io/open-webui/open-webui:main` | Interface IA principale | | Qdrant | effi-server | 6333 | `qdrant/qdrant:latest` | Base vectorielle RAG | | CouchDB | effi-server | 5984 | `couchdb:3.3` | Sync Obsidian LiveSync | | n8n | effi-server | 5678 | `docker.n8n.io/n8nio/n8n:latest` | Automatisation workflows | | mcpo | effi-server | 8000 | `ghcr.io/open-webui/mcpo:main` | Proxy MCP outils | | wol-proxy | effi-server | 3011 | Build local | Wake-on-LAN + Proxy Ollama | | pipelines | effi-server | 9099 | `ghcr.io/open-webui/pipelines:main` | Middleware mem0 | | speaches | folzo-Corp | 8200 | `speaches:rocm-ct2` (build local) | STT Whisper ROCm | | openedai-speech | folzo-Corp | 8100 | `ghcr.io/matatonic/openedai-speech` | TTS Piper/XTTS ROCm | | Ollama | folzo-Corp | 11434 | Installation native | LLM qwen2.5:14b, bge-m3 | --- ## πŸ“š Documentation - [πŸ“ Architecture](./docs/01-architecture/) - Infrastructure et rΓ©seau - [βš™οΈ Configuration](./docs/02-configuration/) - Docker, audio, mΓ©moire - [πŸ“– Guides](./docs/03-guides/) - Installation et configuration initiale - [πŸ”§ DΓ©pannage](./docs/04-depannage/) - Erreurs courantes et solutions - [πŸ““ Journal](./docs/05-journal/) - Historique des Γ©volutions --- ## πŸš€ DΓ©marrage Rapide ### PrΓ©requis - **Serveur** : Ubuntu 22.04+ avec Docker et Docker Compose - **PC Gaming** : Ollama installΓ© avec modΓ¨les `qwen2.5:14b` et `bge-m3` - **RΓ©seau** : Les deux machines sur le mΓͺme LAN ### Installation ```bash # 1. Cloner le dΓ©pΓ΄t git clone https://gitea.folzocorp.fr/Folzo/effi.git cd effi # 2. Configurer les variables d'environnement cp .env.example .env # Γ‰diter .env avec tes valeurs # 3. DΓ©marrer les services docker compose up -d ``` ### Configuration OpenWebUI 1. AccΓ©der Γ  `http://192.168.1.27:3000` 2. CrΓ©er un compte admin 3. Configurer les connexions (Ollama, Audio, etc.) 4. Voir le [guide de premiΓ¨re configuration](./docs/03-guides/premiere-config.md) --- ## πŸ”‘ CaractΓ©ristiques ClΓ©s ### 🎀 Pipeline Vocal - **STT** : Whisper large-v3 avec ROCm sur RX 7800 XT - **TTS** : Piper franΓ§ais (`fr_FR-upmc-medium`) ou XTTS - **Latence** : ~500ms pour le TTS, ~10s pour STT (CPU, GPU en cours) ### 🧠 MΓ©moire Persistante - **Auto Memory** : Extraction automatique des faits importants - **Memory Injection** : Injection des souvenirs dans le contexte - **Stockage** : SQLite dans le conteneur OpenWebUI ### πŸ”— IntΓ©grations - **Obsidian** : LiveSync via CouchDB + outils MCP - **n8n** : Workflows d'automatisation - **mcpo** : Protocole MCP pour outils externes --- ## πŸ› οΈ Technologies | Domaine | Technologies | |---------|-------------| | **LLM** | Ollama, Qwen 2.5 14B | | **Interface** | Open WebUI | | **STT** | Faster Whisper (ROCm) | | **TTS** | Piper, XTTS, OpenedAI-Speech | | **Vector DB** | Qdrant | | **Automatisation** | n8n | | **Sync Notes** | CouchDB | | **GPU** | AMD ROCm (RX 7800 XT gfx1100) | --- ## πŸ“„ Licence Ce projet est personnel et documentΓ© Γ  des fins d'apprentissage. --- ## πŸ™‹ Auteur **Folzo** - [gitea.folzocorp.fr/Folzo](https://gitea.folzocorp.fr/Folzo) --- *DerniΓ¨re mise Γ  jour : Avril 2026*