[M2] AgentDetector : détection des bots Matrix (m.bot, patterns, liste manuelle) #192

Closed
opened 2026-04-06 08:52:48 +00:00 by charles · 0 comments
Owner

Contexte

M2 — Intégration agents IA. Première brique : identifier automatiquement quels utilisateurs Matrix sont des agents/bots, pour activer les fonctionnalités IA-first sur leurs conversations.

Critères d'acceptation

  • Struct AgentDetector avec : known_agents: HashSet<OwnedUserId> (liste explicite config), patterns: Vec<Regex> (patterns configurables, ex: *-bot, *-agent), cache: DashMap<OwnedUserId, AgentInfo>
  • Détection via flag m.bot dans le profil Matrix (requête au homeserver)
  • Détection via patterns regex configurables dans config.toml section [ai]
  • Struct AgentInfo { user_id, agent_type, display_name, capabilities, model }
  • Enum AgentType : OpenClaw, Generic, Custom
  • Cache invalidé quand le profil est mis à jour
  • Détection spécifique OpenClaw (via user agent ou champ de profil)

Notes techniques

  • Crate : crates/fractal-ai/
  • Voir specs §4.2 (SF-M2-01) et §4.3 (ST-M2-02)
  • DashMap pour la concurrence sans Mutex
## Contexte M2 — Intégration agents IA. Première brique : identifier automatiquement quels utilisateurs Matrix sont des agents/bots, pour activer les fonctionnalités IA-first sur leurs conversations. ## Critères d'acceptation - [ ] Struct `AgentDetector` avec : `known_agents: HashSet<OwnedUserId>` (liste explicite config), `patterns: Vec<Regex>` (patterns configurables, ex: `*-bot`, `*-agent`), `cache: DashMap<OwnedUserId, AgentInfo>` - [ ] Détection via flag `m.bot` dans le profil Matrix (requête au homeserver) - [ ] Détection via patterns regex configurables dans `config.toml` section `[ai]` - [ ] Struct `AgentInfo { user_id, agent_type, display_name, capabilities, model }` - [ ] Enum `AgentType` : `OpenClaw`, `Generic`, `Custom` - [ ] Cache invalidé quand le profil est mis à jour - [ ] Détection spécifique OpenClaw (via user agent ou champ de profil) ## Notes techniques - Crate : `crates/fractal-ai/` - Voir specs §4.2 (SF-M2-01) et §4.3 (ST-M2-02) - `DashMap` pour la concurrence sans `Mutex`
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/my-fractal#192
No description provided.