Flux de données de Lyra : ce qui est capté, ce qui est gardé, ce qui sort¶
English version: DATA_FLOWS.en.md.
Lyra est locale par défaut : le traitement de la voix, le LLM, la recherche et l'exécution des outils tournent sur votre machine. Ce document répond aux questions qu'un responsable informatique pose avant d'installer un assistant qui écoute et agit.
Ce que Lyra capte et où ça va¶
| Donnée | Capté par | Stocké où | Combien de temps | Purger |
|---|---|---|---|---|
| Voix (micro) | sounddevice, en mode vocal seulement |
jamais écrite sur disque : transcrite en mémoire par faster-whisper puis jetée | 0 | rien à faire |
| Texte des requêtes et réponses | le démon | data/session_history.db (SQLite, en clair) |
fenêtre glissante des 15 derniers échanges | rm data/session_history.db |
| Retours utilisateur (« c'était bien / pas bien ») | RAG enhanced | data/feedback.json |
jusqu'à suppression | rm data/feedback.json |
| Index des spécifications d'outils | indexeur RAG | .chromadb/ (embeddings locaux) |
jusqu'à réindexation | rm -rf .chromadb && make index |
| Réglages (voix, modèles) | menu /setting |
~/.lyra/settings.json |
jusqu'à modification | supprimer le fichier |
| Historique des échanges | le démon | ~/.lyra/history.jsonl (0600 ; phrase, canal, outil, réussite ; sans son ni arguments) |
rotation à 2 Mo, un seul ancien fichier | lyra --purge ou supprimer le fichier |
| Erreurs | journal d'erreurs | ~/.lyra/logs/errors/ |
rotation par le démon | supprimer le dossier |
| Socket du démon | démon | ~/.lyra/lyra.sock (UNIX, droits 0600) |
durée d'exécution | automatique |
| Journal des actions MCP | mcp-tracking | ~/.local/state/tracking/ (via l'API locale 127.0.0.1:8765) |
purge automatique (7 jours après la fin) | API tracking |
Tout purger d'un coup, avec vérification : lyra --purge --dry-run liste ce qui serait effacé (historique, retours, journaux d'erreurs MCP), lyra --purge efface puis recompte et doit tout donner à zéro. En option, privacy.purge_on_stop: true dans config.yaml purge à chaque arrêt du démon, pour une fin de mission (désactivé par défaut). Le journal systemd du démon n'est pas concerné : il suit la rétention de journald.
Aucun de ces fichiers n'est envoyé ailleurs. Les secrets (jetons, mots de passe d'équipements) sont dans secrets.yaml, jamais dans les journaux.
Les sorties réseau, toutes optionnelles¶
| Sortie | Vers | Activée par | Ce qui part |
|---|---|---|---|
| Ollama distant | la machine indiquée par --ollama-host ou llm.base_url |
vous, à l'installation | le texte des requêtes, en HTTP sur votre réseau ; par défaut localhost:11434 |
| mcp-tracking | 127.0.0.1:8765 (local) |
tracking.enabled |
nom et progression des actions longues |
| n8n | n8n.base_url (par défaut localhost:5678) |
n8n.enabled |
déclenchement des tâches asynchrones (clone de VM, sauvegarde) |
| Discord | discord.webhook_url |
discord.enabled et un webhook renseigné dans secrets.yaml |
notifications de fin de tâche et d'erreur (titre, état) |
| Home Assistant | homeassistant.url |
homeassistant.enabled et un jeton |
commandes domotiques |
| Notion | API Notion | notion.enabled (désactivé par défaut) et un jeton |
journal des workflows |
| Installeur | ollama.com, huggingface.co, pypi.org, github.com (dépôts des serveurs MCP cochés), registre npm (dépendances de fedora-agents) |
à l'installation seulement | téléchargement des modèles, de Piper, des serveurs MCP et des dépendances |
| Modèles Hugging Face au démarrage | huggingface.co (ou HF_ENDPOINT) |
seulement si MiniLM ou Whisper manque du cache local ; jamais avec LYRA_OFFLINE=1 ou HF_HUB_OFFLINE=1 |
le nom du modèle demandé |
| Alerte du test quotidien des MCP | le serveur ntfy de NTFY_URL |
NTFY_URL dans ~/.lyra/alert.env (timer lyra-mcp-smoke-alert) |
le nom des serveurs MCP en échec et leur message d'erreur |
Sans configuration explicite (jeton, URL), chacune de ces sorties est inactive : enabled: true seul ne suffit pas. Pour un usage strictement hors ligne, mettre enabled: false sur n8n, Discord, Home Assistant et Notion, et pointer Ollama sur la machine locale.
Ce que Lyra ne fait jamais¶
- Aucun appel à un fournisseur de LLM en ligne (OpenAI, Google, Anthropic…) : il n'y a pas de client pour cela dans le code.
- Aucune télémétrie, aucun compteur d'usage envoyé à l'auteur.
- Aucune exécution d'action sensible sans confirmation humaine : voir la section Sécurité du README.
Vérifier par vous-même¶
grep -rn "https\?://" lyra modules | grep -v "127.0.0.1\|localhost" # les seules URL externes sont celles ci-dessus
ss -tnp | grep python # connexions ouvertes par le démon