couple-repo/anki_tingting/README.md
StillHammer fc0d320cd3 Add Daily Check System + Lead Conflicts + 6 Anki cards
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>
2025-11-13 19:43:48 +08:00

415 lines
8.9 KiB
Markdown

# 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** :
1. **Claude = Anki vivant** - Quiz quotidien via conversation
2. **TTS Service Windows** - T'interpelle vocalement plusieurs fois par jour
3. **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
```bash
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
```bash
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
```bash
python tingting_guardian_service.py
```
Ou mieux : **Installer comme service Windows** (voir [Installation Service](#installation-service) ci-dessous)
---
## 💡 Comment Ça Marche
### Daily Flow
**7h00, 14h00, 16h00** :
1. 🔍 Service check si tu es devant le PC (idle < 5min)
2. 🔊 TTS te parle : "Yo Alexis, daily check..."
3. 🪟 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"** :
1. Ouvre Claude.ai (ou Claude Code terminal)
2. Tu dis "daily check"
3. Je te quiz avec 3 questions depuis `card_database.md`
4. 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 :
```markdown
### 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é)
1. **Download NSSM** : https://nssm.cc/download
2. **Install service** :
```cmd
nssm install TingtingGuardian
```
3. **Configure** :
- Path: `C:\Python3X\python.exe`
- Startup directory: `[chemin vers couple_matters]`
- Arguments: `anki_tingting\tingting_guardian_service.py`
- Startup type: **Automatic**
4. **Start** :
```cmd
nssm start TingtingGuardian
```
### Option B : Task Scheduler
1. Ouvrir **Task Scheduler**
2. **Create Task** :
- Name: `Tingting Guardian`
- Trigger: **At startup**
- Action: **Start program**
- Program: `python.exe`
- Arguments: `[full path to script]`
- Conditions: Uncheck "Start only if on AC power"
### Option C : Pyinstaller (Executable)
```bash
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` :
```python
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 :
```python
CHECK_TIMES = ["07:00", "14:00", "16:00"] # Modifie comme tu veux
```
### Désactiver le Weekend
```python
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)
```bash
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
```bash
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 :
```markdown
🎯 **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 :
1. Get API key : https://console.anthropic.com/
2. Créer `.env` :
```
ANTHROPIC_API_KEY=sk-ant-...
```
3. Uncomment dans le script la partie API integration
### Notification Tingting (Nuclear Option)
Si skip 5+ jours, envoyer screenshot à Tingting :
```python
def send_to_tingting():
# Option 1: Email
# Option 2: WeChat API (si disponible)
# Option 3: Screenshot + clipboard (manuel)
pass
```
---
## 🐛 Troubleshooting
### "Module not found: pyttsx3"
```bash
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 `pywin32` est 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
1. [ ] Setup le service (test mode d'abord)
2. [ ] Run pendant 1 semaine
3. [ ] Analyser les stats (success rate, cards difficiles)
4. [ ] Ajuster les prompts/heures si nécessaire
5. [ ] 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.