How inside-734/astrbot_plugin_memora works
Memora is an AstrBot long-term memory plugin: conversation material is turned into quality-gated canonical memory, retrieved under session, identity, and privacy constraints, then selectively injected into requests. The graph also covers documented derived knowledge, notes, profiles, reflection, and operational capabilities. The tree and README establish these capability boundaries; sampled source excerpts are partial, so internal wiring not directly evidenced is left out.
Main entry points: atom_store.py Canonical Memory · memory_engine.py Memory Engine · recall_handler.py Recall Handler · event_handler.py Event Handler
Components 19
Conversation
- Event Handler
core/event_handler.py - Conversation Manager
core/features/conversation/application/conversation_manager.py - Identity Resolution
core/features/identity/application/service.py - Reflection Handler
core/features/reflection/application/reflection_handler.py
Memory Lifecycle
- Memory Quality Gate
core/features/quality/application/memory_quality_gate.py - Memory Engine
core/features/memory/application/memory_engine.py - Canonical Memory
core/features/memory/infrastructure/atom_store.py - Memory Evolution
core/features/evolution/application/memory_evolution_manager.py
Recall and Injection
- Hybrid Retrieval
core/features/retrieval/hybrid_retriever.py - Recall Handler
core/features/recall/application/recall_handler.py - Request Injection
core/features/injection/application/executor.py
Derived Knowledge
- User Profiles
core/features/profiles/application/profile_proposal_pipeline.py - Knowledge Proposals
core/features/knowledge/application/knowledge_proposal_pipeline.py - Note Proposals
core/features/notes/application/note_proposal_pipeline.py - Feedback Learning
core/features/learning/application/auto_learning.py
Operations
- Backup and Restore
core/features/backup/application/manager.py - Retrieval Evaluation
core/features/evaluation/infrastructure/evaluation_service.py - Diagnostics
core/features/diagnostics/application/health_scorer.py
Other components
- AstrBot / User
Connections 17
- AstrBot / User → Event Handler: delivers events
- Event Handler → Conversation Manager: handles conversations
- Conversation Manager → Identity Resolution: resolves identity
- Reflection Handler → Memory Quality Gate: screens candidates
- Memory Quality Gate → Memory Engine: gates writes
- Memory Engine → Canonical Memory: writes canonical
- Canonical Memory → Memory Engine: reads canonical
- Memory Engine → Memory Evolution: supports evolution
- Recall Handler → Hybrid Retrieval: requests retrieval
- Hybrid Retrieval → Canonical Memory: reads memories
- Recall Handler → Request Injection: dispatches injection
- Canonical Memory → User Profiles: provides sources
- Canonical Memory → Knowledge Proposals: provides sources
- Canonical Memory → Note Proposals: provides sources
- Retrieval Evaluation → Feedback Learning: publishes evidence
- Backup and Restore → Canonical Memory: backs up data
- Diagnostics → Canonical Memory: checks health