Vue d'ensemble
Lumena est un assistant IA personnel autonome conçu pour fonctionner 24/7. Elle raisonne, mémorise, agit, apprend et interagit dans le monde réel à travers 5 canaux simultanés, 466 outils natifs et une personnalité stable.
Positionnement
La plupart des assistants IA répondent à des questions puis oublient tout. Lumena vit : elle mémorise chaque conversation, prend des initiatives, programme ses propres tâches, surveille les systèmes, publie sur les réseaux sociaux, gère des serveurs, envoie des emails, écrit du code et corrige ses bugs — de manière autonome.
| Fonctionnalité | Lumena | ChatGPT / Claude | AutoGPT / CrewAI |
|---|---|---|---|
| Mémoire persistante vectorielle | ✓ ChromaDB | ✗ Session | Limitée |
| Autonomie 24/7 (daemon) | ✓ | ✗ | Partielle |
| Personnalité stable | ✓ | ✗ | ✗ |
| Multi-canal simultané | ✓ 5 canaux | ✗ | ✗ |
| 466 outils natifs | ✓ | Plugins limités | Partiel |
| Contrôle complet du PC | ✓ Souris + clavier | ✗ | ✗ |
| Développement autonome | ✓ CodeAgent | Limité | ✓ |
| Multi-LLM fallback auto | ✓ 8 providers | ✗ | Partiel |
| Skills créés à la volée | ✓ | ✗ | ✗ |
| Journal quotidien auto | ✓ | ✗ | ✗ |
| Documents pro (13 templates) | ✓ Factures, contrats, devis… | ✗ | ✗ |
| Fine-tuning local LoRA | ✓ Pipeline → GGUF → Ollama | ✗ | ✗ |
Installation
Suivez ces étapes pour installer Lumena sur votre machine. Les prérequis sont : Python 3.12 ou supérieur et pip.
Étape 1 : Téléchargement
Clonez le dépôt GitHub :
git clone https://github.com/lumena/lumena.git
cd lumena
Étape 2 : Installation des dépendances
Il est recommandé d'utiliser un environnement virtuel :
python -m venv venv
# Sur Windows : venv\Scripts\activate
# Sur Linux/Mac : source venv/bin/activate
pip install -r requirements.txt
Étape 3 : Configuration initiale
Copiez le fichier de configuration d'exemple et adaptez-le (fichier YAML, le format utilisé par Lumena) :
cp config.example.yaml config.yaml
Étape 4 : Lancement
Pour lancer Lumena :
python -m lumena
Architecture
Stack technique
| Composant | Technologie |
|---|---|
| Langage | Python 3.11+ |
| LLM par défaut | deepseek-v3 |
| LLM alternatifs | deepseek, openai, anthropic, google, moonshot, xai, nvidia, ollama (8 modèles) |
| Mémoire vectorielle | ChromaDB + Knowledge Graph + BM25 |
| Interface web | FastAPI + SPA (HTML/JS vanilla ES modules, Vite build) |
| Messagerie | Telegram Bot API, Discord.py 2.x, Tweepy 4.x |
| Voix | Whisper (STT) + Coqui XTTS / Piper (TTS) |
| Automatisation web | Playwright stealth v2 (10 techniques anti-détection) |
| Documents | WeasyPrint PDF + 13 templates Jinja2 |
| Vidéo | Remotion 4.x (React TSX → MP4) — rendu Node.js local ou Docker sandbox |
| Computer Use | Cascade native (Anthropic→OpenAI→Google) + pywinauto |
| Qualité code | ruff, pytest (6762 tests, 0 failure) |
| Sandbox | Docker (auto/always/off), command_sanitizer, file_guardrails |
Capacités
Lumena est capable d'effectuer une large gamme de tâches, regroupées en catégories :
Navigation & Recherche
- Recherche web (DuckDuckGo, Google, Brave) — résultats classés par pertinence
- Extraction de données structurées (listes, tableaux, articles)
- Remplissage de formulaires, clics, navigation multi‑onglets
- Surveillance de pages (diff detection, alertes)
Fichiers & Système
- Création, édition, suppression, renommage, déplacement
- Recherche full‑text (ripgrep) + recherche sémantique (vectorielle)
- Compression, extraction, conversion de format
- Surveillance de dossiers (file watcher) → actions automatiques
Code & Développement
- Édition de code avec validation syntaxique (ruff, py_compile)
- Exécution de scripts Python, Node.js, shell
- Gestion de projets Git (clone, commit, push, branches, PR)
- Déploiement web (FTP, SFTP, S3, Cloudflare Pages, Netlify, Vercel)
Emails & Calendrier
- Envoi d'emails (SMTP, pièces jointes, HTML)
- Lecture de boîtes mail (IMAP) — tri, classement, répondre
- Gestion de calendriers (Google Calendar, CalDAV) — événements, rappels
- Automatisation de sequences de follow‑up
Documents professionnels
- 36 handlers V2 : factures, devis, contrats, NDA, PO, CV, rapports…
- 13 templates Jinja2 (assets/templates/) → export PDF WeasyPrint
- Lecture et résumé de PDF, DOCX, images (OCR)
- Ingestion dans base de connaissances vectorielle
Sécurité & Réseau
- Scan de ports, reconnaissance de domaines
- SSRF guard Playwright (bloque IPs privées, DNS rebinding)
- Anti-injection shell (command_sanitizer.py)
- Path traversal guard (file_guardrails.py)
- Sandbox Docker, retry intra-provider, context overflow guard
- OSINT (domaines, emails, IPs, Shodan) — 13 outils
Autonomie & Planification
Daemon 24/7 — daemon.py (713L)
Lumena tourne en arrière-plan en permanence. Elle agit sans être sollicitée selon ses tâches CRON, ses objectifs actifs et les événements de ses canaux de communication.
Scheduler CRON — scheduler.py (1 458L)
Parallélisation des tâches non-critiques, setup_default_tasks(), clé d'idempotence handler:window:hash.
| Tâche | Fréquence | Description |
|---|---|---|
| Heartbeat système | 6h et 18h | Santé RAM, disque, providers LLM, pipeline training |
| Morning briefing Discord | 10h chaque jour | Résumé quotidien sur le serveur Discord |
| Polling Twitter mentions | Toutes les 90s | Vérification des mentions entrantes |
CodeAgent
CodeAgent est le sous-système de développement autonome de Lumena. Il peut modifier n'importe quel fichier du projet, exécuter des tests, et déployer des changements.
validate_python_syntax() — ruff + py_compile après chaque modification
pytest automatique après 3 modifications sans test (edits_since_last_test)
Si edit_file échoue ("non trouvé"), relit le fichier et réinjecte le contenu
>20 messages → résumé head + tail + summary pour garder le contexte
Même action 3× → arrêt, changement d'approche automatique
Canaux de communication
Interface Web
SPA complète avec 25+ panels : chat SSE streaming, mémoire, outils, tâches, configuration, logs, émotions, identité, console, éditeur de fichiers, live trace, apprentissage, fine-tuning, Stripe…
Telegram
Canal principal de communication. Multi-user via sender_info + tg_contexts.
Supporte conversations longues, voix, pièces jointes et toutes les réponses structurées.
telegram_channel.py (1 014L) — Telegram Bot API — run_telegram.pyDiscord
Serveur dédié avec administration complète : canaux, rôles, messages programmés,
morning briefing quotidien à 10h. 25 handlers V2 dans discord_admin.py.
discord_channel.py (726L) — Discord.py 2.xAPI & Webhooks
Lumena expose une API REST complète avec 77 endpoints. Voici les principaux :
| Endpoint | Méthode | Description |
|---|---|---|
/api/chat | POST | Envoi d'un message (stream SSE) |
/api/memory | GET / POST | Requêtes mémoire vectorielle |
/api/tools | GET | Liste des outils enregistrés |
/api/config | GET / PUT | Lecture/écriture fichiers de config |
/api/logs | GET | Logs daemon |
/api/health | GET | Health check (sans auth) |
/api/tasks | GET / POST | Gestion des tâches |