EN·ES·DE·PT·FR
⌘K

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.

Activation à la volée
L'intelligence relationnelle peut être activée ou désactivée à tout moment via le chat. Dites simplement "enable people intelligence" ou utilisez l'outil manage_people avec l'action enable/disable. Aucun redémarrage nécessaire.

Comment ça fonctionne

  1. Ajouter des contacts — ajoutez manuellement des personnes ou laissez aidaemon les découvrir à travers les conversations
  2. Mémoriser les détails — anniversaires, préférences, centres d'intérêt, informations professionnelles et plus encore
  3. Lier les identités — associez une personne à son identité Telegram, Slack ou Discord
  4. Rappels proactifs — aidaemon mentionne naturellement les anniversaires à venir et suggère des reprises de contact
  5. Adaptation du contexte — lorsqu'une personne connue envoie un message, aidaemon adapte son style de communication

Nom de l'outil

manage_people

Actions

ActionDescriptionParamètres requis
enableActiver l'intelligence relationnelle (persiste entre les redémarrages)
disableDésactiver l'intelligence relationnelle (les données sont préservées)
statusAfficher l'état activé/désactivé et le nombre de contacts
addAjouter une nouvelle personnename
listLister tous les contacts (filtrer par relation)
viewVoir les détails d'une personne et tous ses faitsname ou id
updateMettre à jour les champs d'une personne (relation, notes, style)name ou id
removeSupprimer une personne et tous ses faitsname ou id
add_factStocker un fait sur quelqu'un (anniversaire, préférence, etc.)person_name, category, key, value
remove_factSupprimer un fait spécifique par IDfact_id
linkLier une identité de plateforme à une personneperson_name, platform_id
exportExporter toutes les données d'une personne en JSONperson_name
purgeSuppression en cascade complète (personne + faits + liens)person_name
auditVérifier les faits auto-extraits (non vérifiés)— (ou person_name)
confirmValider un fait auto-extrait (confiance à 100%)fact_id

Paramètres

KeyTypeDefaultDescription
actionstringAction à effectuer (obligatoire)
namestringnullNom de la personne (pour add, view, update, remove)
idintegernullID en base de données de la personne (pour update, remove)
relationshipstringnullType de relation : spouse, family, friend, coworker, acquaintance
notesstringnullNotes libres sur la personne
communication_stylestringnullStyle de communication : casual, formal, warm, etc.
languagestringnullLangue préférée pour l'interaction
person_namestringnullNom de la personne (pour add_fact, link, export, purge, audit)
categorystringnullCatégorie du fait : birthday, preference, interest, work, family, important_date, personality, gift_idea
keystringnullClé du fait (ex. : 'birthday', 'favorite_food')
valuestringnullValeur du fait
platform_idstringnullID qualifié par plateforme (ex. : 'slack:U123', 'telegram:456')
display_namestringnullNom d'affichage pour l'identité de plateforme
fact_idintegernullID 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.

chat
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.

config.toml
[people]
enabled = true

Apprentissage 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 audit et confirm
Catégories restreintes
Les informations de santé, les détails financiers, les opinions politiques et les croyances religieuses ne sont jamais auto-extraits, même s'ils sont mentionnés en conversation. Ceci est imposé par 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é

ContexteComportement
DMs du propriétaireGraphe 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 publicsAucun fait personnel injecté

Configuration

config.toml
[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
KeyTypeDefaultDescription
enabledboolfalseÉtat initial (peut être basculé à l'exécution via le chat)
auto_extractbooltrueApprendre automatiquement des faits sur les personnes à partir des conversations
auto_extract_categoriesstring[][...]Catégories pouvant être auto-extraites
restricted_categoriesstring[][...]Catégories jamais auto-extraites
fact_retention_daysinteger180Jours avant l'élagage des faits non confirmés
reconnect_reminder_daysinteger30Jours d'inactivité avant de suggérer une reprise de contact