Passionné d'intelligence artificielle locale et de cybersécurité, j'ai construit JARVIS avec une conviction simple : un assistant IA personnel doit rester sous ton contrôle, sur ta machine, sans aucun cloud.
Inspiré de l'univers Iron Man, JARVIS est un assistant opérationnel 24/7 — voix naturelle, écoute continue, interface holographique — qui tourne entièrement en local grâce à Ollama sur un GPU NVIDIA RTX 5080. Il surveille mon infrastructure SOC en temps réel, répond à mes questions vocalement, analyse des logs de sécurité, et peut bannir une IP malveillante sur simple commande naturelle.
Avec 17 400+ lignes de code, 10 onglets, un pipeline audio complet (TTS Neural · STT Whisper · DeepFilterNet), et une intégration SOC avec actions proactives automatiques — ce n'est pas un proof-of-concept. C'est un système en production, mis à jour hebdomadairement.
Ce projet a été conçu et développé en collaboration avec Claude AI (Anthropic) — Claude Code. L'ironie n'est pas perdue : un assistant IA local construit avec l'aide d'une IA. Mais c'est exactement là la force de cette approche — utiliser Claude Code pour architécter, déboguer et itérer rapidement sur un projet ambitieux. De la gestion du pipeline audio au système de ban automatique SOC, Claude AI a été un véritable co-développeur tout au long du projet.
Le contenu est structuré pour répondre aux besoins de :
- 🤖 Passionnés d'IA locale — déployer un assistant LLM sans cloud, 100% privé
- 🛡️ Professionnels IT & SOC — automatiser les réponses aux incidents de sécurité
- 🎓 Étudiants & développeurs — comprendre Flask, SSE, Whisper, edge-tts en pratique
- 🚀 Explorateurs GPU — exploiter CUDA pour l'inférence LLM + DSP audio en temps réel
| Vue d'ensemble | Architecture | Screenshots | Installation |
| Guide complet | Modèles LLM | Stack technique | Intégration SOC |
J.A.R.V.I.S est un assistant IA personnel complet, opérationnel en production 24/7.
| Capacité | Détail |
|---|---|
| Conversation | LLM Ollama local — streaming token par token, contexte persistant |
| Voix | TTS Neural (edge-tts) + STT Whisper + réduction de bruit DeepFilterNet |
| Monitoring | Suivi CPU / RAM / GPU / disques / réseau en temps réel |
| SOC | Ban-IP automatique, restart services, alertes vocales sur menaces |
| Multi-modèles | Changement de LLM à chaud sans redémarrage |
| Interface | 10 onglets — thème holographique sombre — 17 400+ lignes |
flowchart TD
A["🌐 Interface Web — localhost:5000\nThème holographique · 10 onglets · SSE streaming"]
B["⚙️ Flask Backend — jarvis.py\n~3 600 lignes · 55 routes · 124 fonctions"]
C["🤖 LLM\n/chat → Ollama streaming"]
D["🔊 Audio\n/tts → edge-tts · /stt → Whisper"]
E["🛡️ SOC\n/soc/ban · /soc/restart · /status"]
F["Serveur SOC — optionnel\nCrowdSec · fail2ban · nginx · Suricata"]
A -->|HTTP / Server-Sent Events| B
B --> C
B --> D
B --> E
E -->|paramiko SSH| F
Onglet JARVIS IA — conversation en temps réel, streaming SSE, sidebar système |
Onglet MONITOR — CPU, RAM, GPU, disques, sparklines 24h |
Onglet SETTINGS — GPU RTX Health, profils CUDA, sliders LLM |
Onglet JARVIS IA — profils prédéfinis (SOC, Code, Conversation, Raisonnement...) |
Onglet DSP AUDIO — égaliseur multi-bandes, compresseur, filtres, visualisation temps réel |
Onglet VOICE LAB — source vocale, paramètres fins, bibliothèque de voix, comparateur A/B |
Onglet SOC — compteurs de bans/alertes, graphique d'activité 24h, journal horodaté des actions proactives
| Étape | Description | Guide |
|---|---|---|
| 01 | Python 3.11, Ollama, CUDA, dépendances | → Prérequis |
| 02 | LLM local, API Ollama, streaming SSE, gestion modèles | → LLM Ollama |
| 03 | TTS edge-tts, file d'attente, STT Whisper VAD, DeepFilterNet NR | → Pipeline Audio |
| 04 | Serveur Flask, routes, Server-Sent Events, modèles à chaud | → Backend Flask |
| 05 | Intégration SOC, ban/unban IP via SSH, alertes proactives auto | → Intégration SOC |
# 1. Cloner le dépôt
git clone https://github.com/0xCyberLiTech/JARVIS.git
cd JARVIS
# 2. Installer les dépendances Python
pip install -r scripts/requirements.txt
# 3. Installer Ollama + un modèle
# → https://ollama.com
ollama pull phi4
# 4. Configurer (copier les templates)
cp config/jarvis_model.json.example scripts/jarvis_model.json
cp config/jarvis_llm_params.json.example scripts/jarvis_llm_params.json
# 5. Lancer JARVIS
cd scripts && python jarvis.py✔ JARVIS disponible sur → http://localhost:5000
| Modèle | RAM | Points forts |
|---|---|---|
phi4 |
8 Go | ⭐ Recommandé — polyvalent, rapide |
mistral:7b |
6 Go | Léger — idéal faible RAM |
phi4-reasoning |
12 Go | Analyse complexe, SOC |
deepseek-r1:14b |
14 Go | Raisonnement avancé |
qwen2.5:14b |
14 Go | Code et analyse |
| Couche | Technologie | Rôle |
|---|---|---|
| LLM | Ollama (local) | Génération de texte — aucun cloud |
| TTS | edge-tts Neural | Synthèse vocale naturelle (fr-CA-AntoineNeural) |
| STT | faster-whisper | Transcription vocale — modèle small FR, CUDA |
| NR | DeepFilterNet | Réduction de bruit micro temps réel |
| Backend | Flask + CORS | API REST + SSE streaming |
| SSH | paramiko | Actions SOC à distance (ban, restart) |
| GPU | CUDA 12 | Accélération STT + NR + inférence LLM |
JARVIS se connecte au dashboard SOC pour :
- Surveiller les métriques de sécurité (CrowdSec, fail2ban, Suricata) toutes les 30s
- Bannir automatiquement les IPs en cas de pic d'attaque (via CrowdSec SSH)
- Redémarrer les services critiques si détectés DOWN
- Alerter vocalement si le score de menace dépasse les seuils configurés
- Journaliser chaque action dans l'onglet SOC avec horodatage
✔ Bind 127.0.0.1 — non exposé sur le réseau
✔ Liste blanche des services autorisés (SSH)
✔ Validation des IPs avant toute action
✔ Aucun credential dans le code source
✔ Aucune donnée envoyée vers des services tiers
| 🖥️ Infrastructure & Sécurité | 💻 Développement & Web | 🤖 Intelligence Artificielle |
|
|
|
|
🔒 Un projet proposé par 0xCyberLiTech • Développé en collaboration avec Claude AI (Anthropic) 🔒






