Skip to content

versila22/hotline-darons

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ€– Hotline Darons

Python 3.12 Gemini 2.5 Flash Telegram Bot Docker Tests License

Bot Telegram IA multimodal pour le support technique parental β€” propulsΓ© par Gemini 2.5 Flash.

Fini les appels paniquΓ©s Γ  22h pour "la tΓ©lΓ© qui s'allume plus". Hotline Darons rΓ©pond en quelques secondes, en franΓ§ais simple, avec une patience infinie. Il analyse les photos d'Γ©cran, comprend les messages vocaux, et escalade vers vous seulement quand c'est vraiment nΓ©cessaire.


🎯 Compétences démontrées

Domaine ImplΓ©mentation
LLM / Multimodal Gemini 2.5 Flash β€” texte, image, audio natif
RAG familial Embedding Google + cosine search sur knowledge base .md
Bot Telegram Handlers async, gestion de session, file d'attente photo→question
SΓ©curitΓ© IA Filtre PII (IBAN, CB, mots de passe) sur texte et images
Escalade intelligente DΓ©tection de niveau de complexitΓ© β†’ transfert Γ  l'humain
Tests 38/38 tests pytest β€” session store, PII filter, escalade
DevOps Docker Compose, variables d'environnement, SQLite persistant

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                   Telegram (parents)                     β”‚
β”‚              πŸ“Έ Photo  🎀 Vocal  ✍️ Texte               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                        β”‚
                        β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    bot/main.py                           β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚session_storeβ”‚  β”‚  pii_filter  β”‚  β”‚  escalation   β”‚  β”‚
β”‚  β”‚  (SQLite)   β”‚  β”‚  (sΓ©curitΓ©)  β”‚  β”‚  (β†’ Jerome)   β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                        β”‚
             β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
             β”‚                     β”‚
             β–Ό                     β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚    bot/rag.py      β”‚   β”‚  bot/ai_engine.py  β”‚
β”‚  Knowledge Base    │──▢│  Gemini 2.5 Flash  β”‚
β”‚  text-embedding    β”‚   β”‚  Multimodal        β”‚
β”‚  004 (Google)      β”‚   β”‚  JSON structurΓ©    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Quick Start

PrΓ©requis

DΓ©ploiement en 3 commandes

# 1. Cloner et configurer
cp .env.example .env
nano .env  # Remplir TELEGRAM_BOT_TOKEN, GEMINI_API_KEY, ESCALATION_CHAT_ID

# 2. Personnaliser la base de connaissances (optionnel mais recommandΓ©)
nano knowledge/famille_jacq.md

# 3. Lancer
docker-compose up -d

Le bot est actif ! Envoyez /start depuis Telegram.


Configuration

Variables d'environnement (.env)

Variable Description Obligatoire
TELEGRAM_BOT_TOKEN Token du bot Telegram (via @BotFather) βœ…
GEMINI_API_KEY ClΓ© API Google AI Studio βœ…
ESCALATION_CHAT_ID Votre Telegram user ID (pour recevoir les alertes) βœ…
KNOWLEDGE_DIR Chemin vers le dossier knowledge Non (dΓ©faut: /app/knowledge)
DB_PATH Chemin vers la base SQLite Non (dΓ©faut: /app/data/hotline_darons.db)

Obtenir votre Telegram ID

Envoyez /start Γ  @userinfobot sur Telegram β€” il vous donne votre ID numΓ©rique.


Personnalisation de la Knowledge Base

Γ‰ditez knowledge/famille_jacq.md pour adapter le bot Γ  votre famille :

## TΓ©lΓ©vision
- Modèle : Samsung UE55TU7125
- Box IPTV : Freebox Player
...

Le bot recharge automatiquement la base au dΓ©marrage. Voir knowledge/README.md pour le guide complet.


FonctionnalitΓ©s

FonctionnalitΓ© Description
πŸ“Έ Photo d'Γ©cran Analyse l'image + attend votre description vocale/texte
🎀 Message vocal Transcrit et analyse l'audio directement (Gemini natif)
✍️ Texte Répond aux questions écrites
πŸ”’ Filtre PII Bloque automatiquement les donnΓ©es bancaires / mots de passe
πŸ“š RAG familial Utilise la config de votre famille pour des rΓ©ponses prΓ©cises
🚨 Escalade Vous alerte sur Telegram si le problème dépasse le niveau 1
πŸ’Ύ Contexte SQLite Lie une photo Γ  la question qui suit (jusqu'Γ  5 min)

DΓ©veloppement

Lancer en local (sans Docker)

# Installer les dΓ©pendances
pip install -r requirements.txt

# Configurer
cp .env.example .env && nano .env

# Lancer
python -m bot.main

Tests

pytest tests/ -v

SΓ©curitΓ©

  • βœ… ZΓ©ro rΓ©tention : les photos sont supprimΓ©es aprΓ¨s utilisation (5 min max)
  • βœ… Filtre PII : dΓ©tection d'IBAN, numΓ©ros de CB, mots de passe sur les images et dans le texte
  • βœ… Pas de conseils bancaires : escalade systΓ©matique pour tout ce qui touche aux finances
  • βœ… Secrets en env vars : aucun secret dans le code ou les fichiers versionnΓ©s

Roadmap

  • Support WhatsApp (Twilio / Meta API)
  • Interface d'administration web pour mettre Γ  jour la knowledge base
  • RΓ©sumΓ© hebdomadaire des problΓ¨mes rΓ©solus
  • Support multi-familles (configuration par utilisateur autorisΓ©)
  • IntΓ©gration Mem0 pour une mΓ©moire long-terme par utilisateur
  • Monitoring / alertes (Uptime Robot, Sentry)

Licence

Projet personnel β€” utilisation libre dans un contexte familial.

About

πŸ€– AI parental support Telegram bot β€” RAG + Gemini LLM + PII detection + async architecture

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors