Intelligence relationnelle
Imaginez un carnet de contacts, mais avec un assistant personnel qui se souvient des détails pour vous. Anniversaires, préférences, styles de communication, comment vous connaissez quelqu'un — aidaemon organise tout et vous le rappelle quand c'est important. Tout reste sur votre ordinateur ou serveur, jamais envoyé à des tiers.
manage_people avec l'action enable/disable. Aucun redémarrage nécessaire.Comment ça fonctionne
- Ajouter des contacts — ajoutez manuellement des personnes ou laissez aidaemon les découvrir à travers les conversations
- Mémoriser les détails — anniversaires, préférences, centres d'intérêt, informations professionnelles et plus encore
- Lier les identités — associez une personne à son identité Telegram, Slack ou Discord
- Rappels proactifs — aidaemon mentionne naturellement les anniversaires à venir et suggère des reprises de contact
- Adaptation du contexte — lorsqu'une personne connue envoie un message, aidaemon adapte son style de communication
Nom de l'outil
manage_people
Actions
| Action | Description | Paramètres requis |
|---|---|---|
enable | Activer l'intelligence relationnelle (persiste entre les redémarrages) | — |
disable | Désactiver l'intelligence relationnelle (les données sont préservées) | — |
status | Afficher l'état activé/désactivé et le nombre de contacts | — |
add | Ajouter une nouvelle personne | name |
list | Lister tous les contacts (filtrer par relation) | — |
view | Voir les détails d'une personne et tous ses faits | name ou id |
update | Mettre à jour les champs d'une personne (relation, notes, style) | name ou id |
remove | Supprimer une personne et tous ses faits | name ou id |
add_fact | Stocker un fait sur quelqu'un (anniversaire, préférence, etc.) | person_name, category, key, value |
remove_fact | Supprimer un fait spécifique par ID | fact_id |
link | Lier une identité de plateforme à une personne | person_name, platform_id |
export | Exporter toutes les données d'une personne en JSON | person_name |
purge | Suppression en cascade complète (personne + faits + liens) | person_name |
audit | Vérifier les faits auto-extraits (non vérifiés) | — (ou person_name) |
confirm | Valider un fait auto-extrait (confiance à 100%) | fact_id |
Paramètres
| Key | Type | Default | Description |
|---|---|---|---|
action | string | — | Action à effectuer (obligatoire) |
name | string | null | Nom de la personne (pour add, view, update, remove) |
id | integer | null | ID en base de données de la personne (pour update, remove) |
relationship | string | null | Type de relation : spouse, family, friend, coworker, acquaintance |
notes | string | null | Notes libres sur la personne |
communication_style | string | null | Style de communication : casual, formal, warm, etc. |
language | string | null | Langue préférée pour l'interaction |
person_name | string | null | Nom de la personne (pour add_fact, link, export, purge, audit) |
category | string | null | Catégorie du fait : birthday, preference, interest, work, family, important_date, personality, gift_idea |
key | string | null | Clé du fait (ex. : 'birthday', 'favorite_food') |
value | string | null | Valeur du fait |
platform_id | string | null | ID qualifié par plateforme (ex. : 'slack:U123', 'telegram:456') |
display_name | string | null | Nom d'affichage pour l'identité de plateforme |
fact_id | integer | null | ID du fait (pour remove_fact, confirm) |
Activation
Il existe deux façons d'activer l'intelligence relationnelle :
Option 1 : Via le chat (recommandé)
Dites simplement à votre bot de l'activer. Le paramètre est stocké en base de données et persiste entre les redémarrages.
You: "Enable people intelligence"
aidaemon: "People Intelligence enabled. I'll now remember contacts..."Option 2 : Via config.toml
Définissez l'état initial dans votre fichier de configuration. Cette valeur est utilisée pour initialiser la base de données au premier lancement ; ensuite, le paramètre à l'exécution prend le dessus.
[people]
enabled = trueApprentissage organique
Lorsque auto_extract est activé (par défaut), aidaemon apprend automatiquement des informations sur les personnes à partir des conversations lors de son cycle régulier de consolidation de la mémoire :
- Détecte les mentions de personnes, leurs préférences, anniversaires et relations
- Crée des enregistrements de personnes et stocke les faits avec une confiance de 70 % (auto-extraits)
- Le propriétaire peut vérifier et confirmer les faits via les actions
auditetconfirm
restricted_categories.Tâches en arrière-plan
Lorsqu'il est activé, aidaemon exécute des vérifications quotidiennes en arrière-plan :
- Élagage des faits obsolètes — supprime les faits auto-extraits non confirmés plus anciens que
fact_retention_days(par défaut 180) - Rappels de dates à venir — détecte les anniversaires et dates importantes dans les 14 prochains jours
- Suggestions de reprise de contact — signale les personnes non contactées depuis
reconnect_reminder_days(par défaut 30)
Modèle de confidentialité
| Contexte | Comportement |
|---|---|
| DMs du propriétaire | Graphe complet des personnes injecté dans le prompt système (noms, faits, relations) |
| Non-propriétaire (lié) | Adaptation du style de communication uniquement (pas d'injection de faits vers d'autres utilisateurs) |
| Canaux publics | Aucun fait personnel injecté |
Configuration
[people]
enabled = true
auto_extract = true
auto_extract_categories = ["birthday", "preference", "interest", "work", "family", "important_date"]
restricted_categories = ["health", "finance", "political", "religious"]
fact_retention_days = 180
reconnect_reminder_days = 30| Key | Type | Default | Description |
|---|---|---|---|
enabled | bool | false | État initial (peut être basculé à l'exécution via le chat) |
auto_extract | bool | true | Apprendre automatiquement des faits sur les personnes à partir des conversations |
auto_extract_categories | string[] | [...] | Catégories pouvant être auto-extraites |
restricted_categories | string[] | [...] | Catégories jamais auto-extraites |
fact_retention_days | integer | 180 | Jours avant l'élagage des faits non confirmés |
reconnect_reminder_days | integer | 30 | Jours d'inactivité avant de suggérer une reprise de contact |