Skip to content

MarcoFr83/gaston

Repository files navigation

🎩 Gaston — Votre Majordome Personnel Intelligent

Gaston est un assistant personnel en ligne de commande, propulsé par l'IA, qui gère votre vie quotidienne à travers un dialogue naturel. Il stocke tout localement dans une base SQLite, comprend le langage naturel, et s'adapte à vos besoins en créant de nouvelles tables à la demande.

💡 Principe BYOK (Bring Your Own Key) : chaque utilisateur utilise sa propre clé API. Vos données ne transitent que temporairement vers l'API de votre choix — rien n'est stocké côté fournisseur (mode Zero Data Retention).

🎩 Gaston: Bonjour ! Je suis Gaston, votre assistant personnel.
           Comment puis-je vous aider aujourd'hui ?

Vous: rappelle-moi d'appeler Bruno demain matin

🎩 Gaston: ✅ Rappel créé pour demain à 9h00 — "Appeler Bruno"

Vous: j'ai dépensé 45€ au restaurant hier

🎩 Gaston: ✅ Dépense enregistrée : 45,00€ (Restaurant, 11/03/2026)

✨ Fonctionnalités

  • 100% conversationnel — parlez comme à un humain, Gaston comprend
  • Stockage local — vos données restent chez vous (SQLite, jamais dans le cloud)
  • Schéma dynamique — Gaston crée de nouvelles tables selon vos besoins
  • Multi-LLM — Anthropic Claude, Google Gemini (gratuit), Groq
  • Architecture double modèle — modèle SMART pour la conversation, FAST pour les analyses internes (coûts réduits)
  • Boucle ReAct — raisonnement en plusieurs étapes pour les actions complexes
  • Export CSV — exportez toutes vos données en un coup
  • Dockerisé — démarrage en une commande, fonctionne partout

🚀 Démarrage rapide

Prérequis

  • Docker + Docker Compose (installer Docker)
  • Une clé API (Gemini est gratuit, voir tableau ci-dessous)

Installation automatique

git clone https://github.com/MarcoFr83/gaston.git
cd gaston
./install.sh   # installe Docker si besoin, configure .env, construit l'image
./run.sh       # lance Gaston 🎩

Installation manuelle (si vous préférez contrôler chaque étape)

# 1. Cloner
git clone https://github.com/MarcoFr83/gaston.git
cd gaston

# 2. Configurer
cp .env.example .env
nano .env   # ajoutez votre clé API et choisissez votre fournisseur

# 3. Construire et lancer
docker compose build
docker compose run --rm gaston

Sans Docker (environnement virtuel Python)

python3 -m venv venv
source venv/bin/activate      # Windows : venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env
nano .env                     # ajoutez votre clé API
python main.py

🔑 Choisir votre fournisseur IA

Gaston supporte trois fournisseurs. Configurez LLM_PROVIDER dans votre .env :

Fournisseur Tier gratuit Qualité Vitesse Lien
Google Gemini ✅ Oui ⭐⭐⭐⭐ ⚡⚡⚡ aistudio.google.com
Groq ✅ Oui ⭐⭐⭐ ⚡⚡⚡⚡ console.groq.com
Anthropic Claude ❌ Pay-as-you-go ⭐⭐⭐⭐⭐ ⚡⚡ console.anthropic.com

Conseil : commencez avec Gemini (LLM_PROVIDER=gemini) — gratuit et performant.
LLM_PROVIDER=auto sélectionne automatiquement selon les clés présentes dans votre .env.


💬 Exemples d'utilisation

Rendez-vous

Vous: Ajoute un rendez-vous chez le dentiste jeudi à 15h
Vous: Qu'est-ce que j'ai prévu cette semaine ?
Vous: Annule le rendez-vous du dentiste

Dépenses

Vous: J'ai dépensé 45€ au restaurant hier
Vous: Combien j'ai dépensé ce mois-ci ?
Vous: Montre-moi mes dépenses en transport

Tables personnalisées (Gaston crée ce dont vous avez besoin)

Vous: je veux suivre ma cave à vin
→ Gaston propose un schéma adapté et crée la table "wines"

Vous: ajoute un Mouton Rothschild 2018, acheté 120€
Vous: quelle est la valeur totale de ma cave ?

Commandes spéciales

Commande Description
aide Affiche l'aide
tables Liste toutes les tables et leur contenu
export csv Exporte toutes les données en CSV
stats Statistiques de la base de données
clear Efface l'historique de conversation
quit / exit Quitter

⚙️ Configuration .env

# Fournisseur IA : gemini | anthropic | groq | auto
LLM_PROVIDER=auto

# Google Gemini
GEMINI_API_KEY=your_key_here
GEMINI_MODEL=gemini-2.5-flash
GEMINI_MODEL_FAST=gemini-2.5-flash-lite

# Anthropic Claude
ANTHROPIC_API_KEY=your_key_here
ANTHROPIC_MODEL=claude-sonnet-4-20250514
ANTHROPIC_MODEL_FAST=claude-haiku-4-5-20251001

# Groq
GROQ_API_KEY=your_key_here
GROQ_MODEL=llama-3.3-70b-versatile
GROQ_MODEL_FAST=llama-3.1-8b-instant

# Historique conservé (10 = 5 échanges)
CONVERSATION_HISTORY_LIMIT=10

Voir .env.example pour toutes les options commentées.


🏗️ Architecture

gaston/
├── core/
│   ├── ai_engine.py        # Interface multi-LLM (Anthropic, Gemini, Groq)
│   ├── database.py         # Gestion SQLite + schéma dynamique
│   ├── executor.py         # Exécution des actions JSON
│   ├── conversation.py     # Boucle ReAct + dialogue utilisateur
│   └── schema_manager.py   # Analyse et création de schémas
├── data/                   # Base SQLite (créé automatiquement)
├── storage/                # Fichiers exportés
├── main.py                 # Point d'entrée
├── config.py               # Configuration centralisée
├── requirements.txt
├── Dockerfile
├── docker-compose.yml
├── install.sh              # Installation automatique
├── run.sh                  # Lancement rapide
└── .env                    # Votre configuration locale (non versionné)

💰 Coût estimé

Usage Gemini Anthropic
Session simple (2-3 échanges) Gratuit ~0,02$
Session riche (10+ échanges) Gratuit ~0,09$
Usage quotidien intensif Gratuit ~5-15$/mois

🐳 Commandes Docker utiles

./run.sh                        # Lancer Gaston
docker compose run --rm gaston  # Équivalent manuel
docker compose build            # Reconstruire après modif du Dockerfile
docker compose logs             # Voir les logs
docker compose down             # Arrêter

🛠️ Problèmes courants

"Permission denied" avec Docker

sudo usermod -aG docker $USER
newgrp docker

"API_KEY manquante"

nano .env   # Vérifiez que la clé est bien renseignée

L'IA ne comprend pas ma demande

  • Soyez plus précis, utilisez des phrases complètes
  • Utilisez des dates explicites si possible (lundi 15 mars plutôt que lundi)
  • Tapez aide pour voir des exemples

🛣️ Roadmap

✅ v0.2 (actuelle)

  • Interface conversationnelle CLI
  • Multi-LLM avec sélection automatique
  • Double modèle SMART/FAST (optimisation coûts)
  • Prompt caching Anthropic
  • Schéma dynamique + tables personnalisées
  • Export CSV
  • Commande tables

🚧 À venir

  • Mémoire inter-sessions (préférences persistantes)
  • Interface web locale
  • Intégration Google Calendar / Gmail
  • Notifications SMS
  • LLM local via Ollama
  • Support vocal (TTS/STT)
  • Chiffrement optionnel de la base

🤝 Contribution

Suggestions et contributions bienvenues ! Ouvrez une issue ou une PR.


📄 Licence

MIT — faites-en ce que vous voulez.


🎩 Gaston — Conçu avec ❤️‍🩹 et ☕

Releases

No releases published

Packages

 
 
 

Contributors