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)
- 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
- Docker + Docker Compose (installer Docker)
- Une clé API (Gemini est gratuit, voir tableau ci-dessous)
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 🎩# 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 gastonpython3 -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.pyGaston 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.
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
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
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 ?
| 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 |
# 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=10Voir .env.example pour toutes les options commentées.
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é)
| 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 |
./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"Permission denied" avec Docker
sudo usermod -aG docker $USER
newgrp docker"API_KEY manquante"
nano .env # Vérifiez que la clé est bien renseignéeL'IA ne comprend pas ma demande
- Soyez plus précis, utilisez des phrases complètes
- Utilisez des dates explicites si possible (
lundi 15 marsplutôt quelundi) - Tapez
aidepour voir des exemples
- 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
- 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
Suggestions et contributions bienvenues ! Ouvrez une issue ou une PR.
MIT — faites-en ce que vous voulez.
🎩 Gaston — Conçu avec ❤️🩹 et ☕