# 📘 JARVIS Local — Guide d'installation pas à pas
Ce guide permet de réinstaller JARVIS de zéro sur un PC Windows, à partir de cette sauvegarde.
## 1. Configuration testée (fonctionnelle au 03/10/2026)
| Élément | Version |
|---|---|
| OS | Windows 11 Pro |
| GPU | NVIDIA GeForce RTX 5090 (32 Go), pilote 616.64 |
| Python (venv) | 3.12.15 (créé par `uv`) |
| Ollama | 0.35.0 |
| Modèle LLM | `qwen3:30b-a3b-instruct-2507-q4_K_M` |
| Node.js | v24.19.0 |
| Claude Code | 2.1.288 |
Avec 24 Go de VRAM : baisser le contexte (`OLLAMA_CONTEXT_LENGTH` / `JARVIS_NUM_CTX` = 24576) ou prendre un modèle plus petit.
## 2. Prérequis à installer
1. **Pilote NVIDIA** récent (CUDA 12/13 pris en charge).
2. **Python** (n'importe quelle version récente) : — cocher « Add to PATH ».
3. **Ollama** :
4. *(Optionnel, pour les tâches)* **Node.js** : , puis :
```powershell
npm install -g @anthropic-ai/claude-code
```
Pas besoin de compte en mode `ollama`. Pour les tâches complexes envoyées à Claude (`JARVIS_COMPLEX_BACKEND=anthropic`), lancer `claude` une fois et se connecter avec son abonnement.
## 3. Récupérer le code
```powershell
# Option A : avec git (git lfs non nécessaire, aucun gros fichier dans le dépôt)
git clone https://huggingface.co/PascalF53/jarvis-local D:\jarvis
# Option B : avec la CLI Hugging Face
pip install -U huggingface_hub
hf download PascalF53/jarvis-local --local-dir D:\jarvis
```
Le dossier `models/`, l'environnement `.venv`, le fichier `.env`, `memory.json` et `logs/` **ne sont pas sauvegardés** : ils sont recréés par l'installation (ou contiennent des données personnelles).
## 4. Lancer l'installeur
```powershell
cd D:\jarvis
powershell -ExecutionPolicy Bypass -File install.ps1
```
Ce que fait `install.ps1` :
1. installe `uv`, crée `.venv` en Python 3.12 et y installe `requirements.txt` (FastAPI, faster-whisper, kokoro-onnx, onnxruntime-gpu, bibliothèques CUDA…) ;
2. télécharge dans `models/` :
- `kokoro-v1.0.onnx` et `voices-v1.0.bin` (voix, ~350 Mo) ;
- `silero_vad.onnx` (détection de parole) ;
3. `ollama pull qwen3:30b-a3b-instruct-2507-q4_K_M` (~18 Go) ;
4. copie `.env.example` en `.env` s'il n'existe pas.
Whisper `large-v3-turbo` se télécharge tout seul au premier démarrage.
## 5. Régler Ollama (fortement recommandé)
Sans ça, JARVIS ne peut plus répondre pendant qu'une tâche tourne :
```powershell
setx OLLAMA_NUM_PARALLEL 2
setx OLLAMA_FLASH_ATTENTION 1
setx OLLAMA_KV_CACHE_TYPE q8_0
setx OLLAMA_CONTEXT_LENGTH 32768
```
Puis **quitter et relancer Ollama** (icône dans la barre des tâches).
## 6. Configurer `.env`
Ouvrir `.env` et adapter au minimum :
```ini
JARVIS_USER_NAME=Tony # comment JARVIS t'appelle
JARVIS_WORKDIR=D:/jarvis-workspace # dossier dédié où l'agent a le droit de travailler
JARVIS_HOTWORDS=Mediawan # noms propres à bien reconnaître
```
Créer le dossier de travail : `mkdir D:\jarvis-workspace`.
Toutes les autres options sont décrites dans `.env.example` et dans le README.
Fichiers personnels optionnels :
- `corrections.json` (fourni) : mots mal transcrits → mot correct ;
- `memory.json` : créé automatiquement quand on dit « Souviens-toi que… ».
## 7. Premier lancement et vérifications
```powershell
ollama ps # Ollama doit répondre
.\start.bat # ou .venv\Scripts\python.exe server.py
```
1. Le navigateur s'ouvre sur (le premier démarrage prend ~30 s : compilation CUDA de Whisper).
2. Cliquer sur l'orbe, autoriser le micro, choisir le bon micro dans la liste si besoin.
3. Dire « Bonjour JARVIS, présente-toi. » → la console affiche la transcription et « 1er son … » (~0,8 s attendu).
4. Dire « Lance une tâche : liste les fichiers de mon dossier de travail. » pour vérifier l'agent Claude Code.
5. `ollama ps` doit indiquer **100% GPU** ; sinon la VRAM est saturée (voir README › Problèmes fréquents).
## 8. Contenu de la sauvegarde
| Fichier | Rôle |
|---|---|
| `server.py` | Serveur FastAPI : VAD, Whisper, LLM + outils, Kokoro, agent de tâches |
| `index.html` | Interface (orbe) servie sur le port 8788 |
| `designs/` | Variantes d'interface |
| `install.ps1` | Installeur Windows |
| `start.bat` | Lanceur |
| `requirements.txt` | Dépendances Python |
| `.env.example` | Modèle de configuration commenté |
| `corrections.json` | Corrections de transcription |
| `README.md` / `INSTALL.md` | Documentation |