Agent Tracker — service Docker
Statut : prototype personnel déjà expérimenté — publication du code à préparer. Agent Tracker est le cœur du système. Telegram et l’ancienne relance Twilio sont deux interfaces n8n séparées qui viennent l’interroger.
Son rôle
Le service reçoit un message court, extrait uniquement les informations explicitement présentes, calcule un repère temporel et ajoute une ligne structurée au journal personnel. Une seconde route expose un état minimal afin qu’un workflow puisse décider s’il faut rester silencieux ou proposer une relance.
flowchart LR TG[Workflow Telegram] -->|écriture| A[Agent Tracker] A --> J[Journal personnel] J --> A A -->|état minimal| RM[Workflow de relance]
Le conteneur, les montages de fichiers et les adresses réseau restent privés. La future publication documentera les contrats d’entrée et de sortie sans révéler les chemins, identifiants ou secrets du déploiement réel.
Les trois fiches du système
| Couche | Responsabilité | Fiche |
|---|---|---|
| Docker / FastAPI | Enregistrer, lire le journal et produire un état. | Cette page |
| n8n / Telegram | Recevoir un message et retourner la réponse du Tracker. | Entrée Telegram |
| n8n / relance | Vérifier périodiquement l’état et choisir un canal de rappel. | Relances programmées |
Contrats publics à stabiliser
Écriture
{
"chat_id": "identifiant_exemple",
"message": "texte saisi par l'utilisateur"
}Réponse attendue :
{
"reply": "confirmation ou question courte"
}État pour les relances
La version actuelle produit essentiellement un booléen : relancer ou rester silencieux. C’est insuffisant pour piloter proprement une campagne de rappels.
La prochaine version devrait retourner un état explicite :
{
"status": "due | acknowledged | completed | snoozed | disabled",
"reminder_allowed": false,
"next_check_after": "date ISO ou null",
"reason": "raison courte et explicable"
}Limite confirmée dans le prototype
L’API considère actuellement qu’une relance est nécessaire dès qu’elle ne trouve pas le repère attendu dans le journal du jour. Elle ne mémorise ni relance antérieure, ni acquittement, ni expiration. L’identifiant transmis à la route d’état n’est pas encore utilisé pour isoler les états.
Cette limite explique pourquoi un planificateur exécuté plusieurs fois par jour peut déclencher autant de rappels.
Future publication du code
Le dépôt du service devra contenir au minimum :
agent-tracker/
├─ agent_tracker.py
├─ requirements.txt
├─ constraints.txt
├─ Dockerfile
├─ tests/
├─ .env.example
├─ .gitignore
└─ README.mdAvant publication : retirer les valeurs de secours ressemblant à des secrets, rendre les chemins configurables, tester les écritures concurrentes et ajouter des tests sur les changements de jour, la remise à zéro et les états de relance.
Agent Tracker est un outil personnel d’organisation et de journalisation. Il ne remplace ni un suivi médical, ni un dispositif d’urgence.