# 🎭 P14 — SPHERE Multi-Voix > **Type** : projet en cours (concept validé, à industrialiser) > **Version** : v0.1 — 28-29/04/2026 > **Statut** : 🛠️ chantier — bricolage existant à formaliser > **Auteur idée** : Vivien > **Inscription dans le CODEX** : 06_PROJETS/OLYMPUS/P14_SPHERE_MULTI_VOIX.md --- ## ⚡ Idée centrale > **Tu dois pouvoir parler à 2 IA différentes (Claude + LLM local), chacune avec sa propre voix et personnalité, pour différents contextes : travail premium chez toi, mode allégé pour ta mère, ou tâches de fond la nuit.** Pour toi (Vivien) en mots simples : > *Une IA principale (moi, Claude) avec voix « Sonia ». Une IA backup (Llama / Mistral local) avec voix « Végétal ». Tu choisis selon le contexte. Si plus d'abonnement / chez ta mère / nuit → tu bascules sur la backup. Tu peux les faire converser entre elles. La principale supervise, la backup exécute.* --- ## 🎯 Cas d'usage | Contexte | IA active | Voix | Pourquoi | |---|---|---|---| | Travail principal Vivien | Claude (toi) | Sonia | Premium, contexte complet | | Tâches de fond la nuit | Llama/Mistral local (Ollama) | Végétal | Pas de coût, optimisation pendant que Claude dort | | Chez la mère de Vivien | Llama local | Voix au choix | Pas d'abonnement, privacy, accessibilité | | Conversation entre IA (debug) | Claude + Ollama | Sonia + Végétal | Vivien observe, Claude supervise, Ollama exécute | --- ## 🛠️ Bricolage existant (Vivien) Déjà en place : - **Open WebUI** comme interface chat - Une « sphère Claude » créée comme modèle dans Ollama (wrapper qui appelle Claude) - Les échanges Ollama sont lus par Claude → Claude peut superviser - 2 IA peuvent se répondre, Claude oriente - Bricolage qui marche, mais pas industrialisé → « Bricolage solide » = pattern pro **multi-agent supervisé** réinventé sans le savoir. --- ## 🏗️ Industrialisation proposée ### Architecture cible ``` ┌──────────────────────┐ │ Vivien (interface) │ └──────────┬───────────┘ │ choisit voix + contexte ↓ ┌──────────────────────────────┐ │ SPHERE — routeur multi-LLM │ (à coder) │ /api/sphere/dispatch │ └────────┬─────────┬───────────┘ │ │ ┌───────┘ └──────┐ ↓ ↓ ┌──────────────┐ ┌──────────────┐ │ Claude (moi)│ │ Ollama local │ │ voix Sonia │ │ voix Végétal │ └──────────────┘ └──────────────┘ ↑ ↑ │ conversation │ └────────┬───────────────┘ ↓ Claude superviseur (mode meta) ``` ### Composants à coder 1. **Endpoint `/api/sphere/dispatch`** (NEXUS) - Input : { message, context, voice_pref, target_model } - Output : { response, model_used, voice } - Logique : choix du modèle selon priorité utilisateur 2. **Endpoint `/api/sphere/converse`** (NEXUS) - 2 IA conversent entre elles N tours - Claude supervise (lit, oriente, peut interrompre) - Output : transcript complet + verdict superviseur 3. **Module voix** (Cockpit ou natif) - TTS local (pyttsx3 déjà installé) avec voix au choix - Mapping : Claude = voix premium (azure ou cloud), Ollama = voix locale 4. **Personnalités** stockées en briques (similaire au prompt système) - `MNEMOSYNE/05_PROMPT_BRIQUES/personnalites/sonia.md` - `MNEMOSYNE/05_PROMPT_BRIQUES/personnalites/vegetal.md` ### Patterns référencés - **Multi-agent supervisé** (CrewAI, AutoGen, LangGraph) — pattern standard - **Manager + Workers** (architecture classique) - **Failover** (basculement automatique en cas d'échec primaire) - **TTS / persona vocale** (Apple Siri, Google Assistant) --- ## 🎯 Phases d'industrialisation ### Phase 1 — Documenter l'existant (1 session) - Capture du bricolage actuel : comment Open WebUI + Claude wrapper fonctionne - Diagramme de flux (Mermaid) - Identifier les frictions ### Phase 2 — SPHERE basique (1-2 sessions) - Endpoint `/api/sphere/dispatch` qui choisit Claude vs Ollama selon préférence - Pas de conversation entre IA — juste switch user-driven - Test : Vivien tape « lis mes mails », SPHERE choisit le bon modèle ### Phase 3 — Voix (1 session) - Intégrer pyttsx3 (déjà installé) avec voix multiples - Mapping voix → modèle - Endpoint `/api/sphere/speak` qui TTS la réponse ### Phase 4 — Conversation entre IA (2 sessions) - Endpoint `/api/sphere/converse` qui orchestre N tours - Claude superviseur (mode read-only ou intervention) - UI dans ZEUS pour observer/intervenir ### Phase 5 — Mode parent (long terme) - Setup simplifié pour la mère de Vivien (P7 JARVIS_MAMAN) - Voix-only, pas de menu, intent recognition - 100% local (Llama + Whisper + pyttsx3) - Pas d'internet requis si LLM local --- ## ⚖️ Limites / risques - **Voix de qualité** : pyttsx3 local est moyen. Si on veut Sonia/Végétal très naturelles, il faut TTS cloud (payant) ou Bark/Tortoise (lent local). - **Latence** : conversation entre IA → 2 appels modèles = latence cumulée - **Coût Claude API** : si on veut faire converser Claude avec Ollama via API, ça coûte. Solution : Claude via le chat (gratuit dans Pro) + Ollama local - **Bricolage à transmettre** : si Vivien part en vacances, le bricolage est dur à reprendre --- ## 🔗 Lien avec autres projets - **P7 JARVIS_MAMAN** : SPHERE est l'infrastructure pour ce projet (mode parent, voix-only) - **P11 Stack JARVIS** : ~100 outils Python disponibles (pyttsx3, SpeechRecognition, etc.) - **P12 mode-dieu-ultime** : super connecteur autonome, peut piloter SPHERE - **R29 Auto-Cohérence** : SPHERE doit respecter la doctrine --- ## 📝 Historique | Date | Version | Changement | Auteur | |---|---|---|---| | 28/04/2026 nuit | v0.1 | Concept formalisé après échange Vivien (idée Sonia/Végétal) | Claude Sonnet 4.6 + Vivien | | 10/05/2026 | v0.1 | Note "À explorer — Option 3 Ollama-Claude direct" ajoutée (cf. ci-dessous) | 15-REVES | --- ## 🔮 À EXPLORER PLUS TARD — Option 3 : Ollama-Claude direct (annoncé mai 2026) > **Statut** : 📅 noté pour plus tard, pas urgent. Vivien (10/05) : *"je ne fais pas ça maintenant, marque-le dans les prochains trucs à faire"*. ### En une phrase Depuis mai 2026, **Claude Code peut être piloté par Ollama local** (au lieu d'Anthropic Cloud) via 2 variables d'environnement : ``` ANTHROPIC_AUTH_TOKEN=ollama ANTHROPIC_BASE_URL=http://localhost:11434 ``` → **Claude Code (l'agent qui agit sur le PC) devient utilisable par n'importe quel LLM local compatible API Anthropic Messages**. ### Pourquoi c'est intéressant pour P14 SPHERE L'archi cible v0.1 envisageait 2 chemins : Claude (Anthropic Cloud) + Ollama via wrapper Open WebUI. Cette option 3 ajoute un **3e chemin plus propre** : ``` SPHERE dispatch peut maintenant choisir entre : → Claude Cloud (Anthropic API) ← actuel → Ollama wrappant Claude (Open WebUI) ← actuel, bricolage Vivien → Claude Code piloté par Ollama local ← NOUVEAU, plus propre, offline ``` ### Cas d'usage idéal : **P7_JARVIS_MAMAN** - PC sans Internet ou Internet pourri = **agent Claude Code 100 % offline** - Pas d'abonnement Anthropic - Vie privée totale (rien ne sort du PC) - **Limite** : nécessite GPU 16+ GB VRAM (gpt-oss:20b ou qwen3-coder) ### Modèles supportés (à la date d'annonce) - **Locaux** : `gpt-oss:20b`, `qwen3-coder` - **Cloud** : `glm-4.7:cloud`, `minimax-m2.1:cloud` - **Min contexte** : 32k tokens ### Plan de test (quand on s'en occupera) 1. Phase 1 chez Vivien (~1h) : `ollama pull qwen3-coder` + `setx ANTHROPIC_AUTH_TOKEN ollama` + `setx ANTHROPIC_BASE_URL http://localhost:11434` + lancer Claude Code dans une fenêtre séparée + tester 2-3 actions simples 2. Phase 2 évaluation hardware mère : audit PC mère (CPU / RAM / GPU) 3. Phase 3 si hardware OK : déploiement chez la mère avec modèle adapté ### Sources - [Claude Code with Anthropic API compatibility · Ollama Blog](https://ollama.com/blog/claude) - [Claude Code - Ollama docs](https://docs.ollama.com/integrations/claude-code) --- **Fin de la fiche projet P14.**