Daily Check System avec TTS Windows configuré
Lead Conflicts documentation avec 7 stratégies
6 nouvelles cartes Anki (LEAD-001, LEAD-002, ACTION-003/004/005)
Shipping strategy + food recipes + topics
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
8.9 KiB
Tingting Guardian - Daily Check System
Créé : 07/11/2025 Raison : Pattern d'oubli systémique identifié (3ème système oublié) Objectif : Maintenir l'attention quotidienne sur Tingting via spaced repetition + TTS reminders
🎯 Concept
Problème : Alexis diagnostique, crée des plans, puis oublie que les plans existent.
Solution :
- Claude = Anki vivant - Quiz quotidien via conversation
- TTS Service Windows - T'interpelle vocalement plusieurs fois par jour
- Tracking rigoureux - Impossible d'oublier sans que ce soit visible
📁 Structure
anki_tingting/
├── README.md # Ce fichier
├── card_database.md # Base de cartes Anki (questions/réponses)
├── daily_sessions.md # Log de toutes les sessions
├── prompts_database.md # Phrases TTS contextualisées
├── tingting_guardian_service.py # Service Windows TTS
└── .state.json # État du système (streak, skip, etc.)
🚀 Quick Start
1. Setup Python Dependencies
pip install pyttsx3 pywin32 schedule anthropic python-dotenv
2. Configuration (Optionnel)
Créer .env dans le repo root si tu veux l'intégration Claude API :
ANTHROPIC_API_KEY=your_key_here
Note : Sans API key, le système ouvre juste le browser Claude.ai
3. Test Immédiat
cd anki_tingting
python tingting_guardian_service.py test
Ça va :
- Afficher un popup avec TTS
- Te demander de faire le check
- Logger la session
4. Run en Background
python tingting_guardian_service.py
Ou mieux : Installer comme service Windows (voir Installation Service ci-dessous)
💡 Comment Ça Marche
Daily Flow
7h00, 14h00, 16h00 :
- 🔍 Service check si tu es devant le PC (idle < 5min)
- 🔊 TTS te parle : "Yo Alexis, daily check..."
- 🪟 Popup apparaît avec 3 boutons :
- ✅ Faire le Check → Ouvre Claude
- ⏰ Snooze 10min → Retry
- ❌ Skip → Logged comme absence
Si tu ignores : Retry toutes les 10min (max 6x = 1 heure)
Si tu cliques "Faire le Check" :
- Ouvre Claude.ai (ou Claude Code terminal)
- Tu dis "daily check"
- Je te quiz avec 3 questions depuis
card_database.md - Je donne feedback + log dans
daily_sessions.md
🎴 Card System
Types de Cartes
Voir card_database.md pour la liste complète. Exemples :
CORE-001 : Pourquoi Tingting dit que tu "think" pas ?
- Difficulté : Hard
- Fréquence : Daily (jusqu'à maîtrisé)
ACTION-001 : Towel de Tingting
- Difficulté : Medium
- Fréquence : Every 2-3 days
ACTION-002 : Feedback honnête quand elle fait des trucs wrong
- Difficulté : Hard (CRITICAL)
- Fréquence : Daily
Ajouter Une Carte
Edit card_database.md et ajoute :
### Card #X - [Nom]
**ID** : CATEGORY-XXX
**Question** : [Question]
**Answer** : [Réponse complète]
**Tags** : tags, séparés, par, virgule
**Difficulty** : Easy / Medium / Hard
**Frequency** : Daily / Every 2-3 days / Weekly
**Created** : [Date]
**Last Review** : Never
**Success Rate** : N/A
**Times Failed** : 0
**Notes** : [Pourquoi c'est important]
📊 Tracking & Stats
Daily Reality Check
Chaque soir à 22h00, alarm pour ouvrir DAILY_REALITY_CHECK.md et logger :
- Anki fait ? Oui/Non
- Alarm checkée ? Oui/Non
- Action concrète pour Tingting ?
- Streak actuelle
Fichiers de Log
daily_sessions.md :
- Log de chaque session
- Score (X/3)
- Streak
- Notes
.state.json :
- Streak actuelle
- Last check date
- Days skipped
Stats Hebdomadaires
Calculées automatiquement dans daily_sessions.md :
- Total sessions
- Average score
- Longest streak
- Most failed card
🔧 Installation Service
Option A : NSSM (Recommandé)
- Download NSSM : https://nssm.cc/download
- Install service :
nssm install TingtingGuardian - Configure :
- Path:
C:\Python3X\python.exe - Startup directory:
[chemin vers couple_matters] - Arguments:
anki_tingting\tingting_guardian_service.py - Startup type: Automatic
- Path:
- Start :
nssm start TingtingGuardian
Option B : Task Scheduler
- Ouvrir Task Scheduler
- Create Task :
- Name:
Tingting Guardian - Trigger: At startup
- Action: Start program
- Program:
python.exe - Arguments:
[full path to script]
- Program:
- Conditions: Uncheck "Start only if on AC power"
- Name:
Option C : Pyinstaller (Executable)
pip install pyinstaller
pyinstaller --onefile --noconsole tingting_guardian_service.py
Puis use NSSM avec le .exe
🎙️ TTS Customization
Changer la Voix
Edit dans tingting_guardian_service.py :
engine = pyttsx3.init()
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[0].id) # 0 = Male, 1 = Female
Changer les Heures de Check
Edit CHECK_TIMES dans le script :
CHECK_TIMES = ["07:00", "14:00", "16:00"] # Modifie comme tu veux
Désactiver le Weekend
import datetime
def should_run_today():
return datetime.datetime.now().weekday() < 5 # Lundi-Vendredi only
# Dans main():
if should_run_today():
schedule_checks()
🧪 Testing
Test Immédiat (sans attendre l'heure)
python tingting_guardian_service.py test
Test d'une Carte Spécifique
Ouvre Claude et dis :
Test card CORE-001
Je vais te poser juste cette question.
Vérifier l'État Actuel
python -c "from tingting_guardian_service import state; print(f'Streak: {state.streak}, Skipped: {state.days_skipped}')"
🔴 Red Flags & Alerts
Le système track automatiquement :
🚩 Skip 2 jours → Prompt de rappel gentle 🚩 Skip 3+ jours → Confrontation socratique 🚩 Skip 5+ jours → Nuclear option (screenshot à Tingting ?) 🚩 Même carte ratée 3x → Flagged pour attention spéciale 🚩 Score déclinant → Confrontation sur le pattern
📝 Daily Check Protocol
Quand Tu Dis "daily check"
Je réponds immédiatement avec :
🎯 **Daily Tingting Check - [DATE]**
**Question 1/3** : [Question from card database]
→ [Attend ta réponse]
**Question 2/3** : [Question contextualisée]
→ [Attend ta réponse]
**Question 3/3** : [Question sur action concrète]
→ [Attend ta réponse]
---
**Feedback** :
- Q1 : ✅/⚠️/❌ + Explication
- Q2 : ✅/⚠️/❌ + Explication
- Q3 : ✅/⚠️/❌ + Explication
**Score aujourd'hui** : X/3
**Streak** : X jours
**Observation** : [Pattern / Encouragement / Confrontation]
Spaced Repetition
Si réponse correcte :
- Easy card : +7 jours
- Medium card : +3 jours
- Hard card : +1 jour
Si réponse incorrecte :
- Review demain (reset)
⚙️ Configuration Avancée
Intégration Claude API (Optionnel)
Pour avoir le quiz directement dans le popup au lieu d'ouvrir le browser :
- Get API key : https://console.anthropic.com/
- Créer
.env:ANTHROPIC_API_KEY=sk-ant-... - Uncomment dans le script la partie API integration
Notification Tingting (Nuclear Option)
Si skip 5+ jours, envoyer screenshot à Tingting :
def send_to_tingting():
# Option 1: Email
# Option 2: WeChat API (si disponible)
# Option 3: Screenshot + clipboard (manuel)
pass
🐛 Troubleshooting
"Module not found: pyttsx3"
pip install pyttsx3
TTS ne parle pas
- Vérifie que les speakers sont pas muted
- Test :
python -c "import pyttsx3; e = pyttsx3.init(); e.say('test'); e.runAndWait()"
Popup n'apparaît pas
- Vérifie que Python a les permissions
- Run en admin si nécessaire
Service ne démarre pas au boot
- Vérifie le Task Scheduler / NSSM config
- Check les logs Windows Event Viewer
"Can't detect user presence"
- Vérifie que
pywin32est installé - Teste :
python -c "import win32api; print(win32api.GetLastInputInfo())"
📚 Resources
- CLAUDE.md : Protocol complet pour Claude
- couple_backlog/07_novembre_2025.md : Origine de ce système
- DAILY_REALITY_CHECK.md : Tracking manuel backup
⚠️ CRITIQUE
Ce système est un test de la capacité d'Alexis à tenir ses engagements.
Si ce système ne tient pas :
- ❌ C'est un red flag majeur pour la relation
- ❌ Ça prouve que le pattern d'oubli est structurel
- ❌ Ça questionne la viabilité long-terme du couple
Donc : Prends ce système au sérieux. C'est pas juste un gadget.
🎯 Next Steps
- Setup le service (test mode d'abord)
- Run pendant 1 semaine
- Analyser les stats (success rate, cards difficiles)
- Ajuster les prompts/heures si nécessaire
- Montrer les logs à Tingting (transparency)
Prochaine session prévue : 08/11/2025 à 07:00
"On sait tous les deux ce qui va arriver."
Prouve que cette fois c'est différent.