Skip to content

feat: add episodic memory plugin#2451

Open
Wanbogang wants to merge 5 commits intoOpenMind:mainfrom
Wanbogang:feature/episodic-memory
Open

feat: add episodic memory plugin#2451
Wanbogang wants to merge 5 commits intoOpenMind:mainfrom
Wanbogang:feature/episodic-memory

Conversation

@Wanbogang
Copy link
Collaborator

Summary

Adds an episodic memory system that allows the robot to store past interactions and recall them via semantic similarity, injecting relevant context into the LLM prompt.

Changes

  • src/providers/episodic_memory_provider.py — Core singleton provider. Stores episodes in memory, generates embeddings via OpenAI text-embedding-3-small, retrieves similar episodes using cosine similarity, and persists to JSON flat file at config/memory/.{mode}.episodes.json
  • src/backgrounds/plugins/episodic_memory_writer.py — Background plugin that flushes episodes to disk every 30 seconds
  • src/inputs/plugins/episodic_memory_input.py — Fuser input plugin that recalls relevant past episodes and injects them into the LLM prompt
  • src/hooks/episodic_hook.py — Mode lifecycle hooks that load/flush episodes on mode entry/exit with optional TTS announcement
  • src/runtime/cortex.py — Calls write_episode() after each LLM tick
  • config/simulation.json5 — Registers EpisodicMemoryInput, EpisodicMemoryWriter, and episodic hooks across all 4 modes (slam, navigation, conversation, guard)

@Wanbogang Wanbogang requested review from a team as code owners March 9, 2026 06:55
@github-actions github-actions bot added robotics Robotics code changes python Python code tests Test files config Configuration files labels Mar 9, 2026
@OpenMind OpenMind deleted a comment from codecov bot Mar 9, 2026
@codecov
Copy link

codecov bot commented Mar 9, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

📢 Thoughts on this report? Let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

config Configuration files python Python code robotics Robotics code changes tests Test files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant