What it does
robotmem is an experience storage and retrieval system for robotic AI. It stores episode memories—including task parameters, trajectories, outcomes, and sensory data—and retrieves the most contextually relevant ones to guide future decisions. Rather than starting each experiment from scratch, a robot can query past successes to inform strategy. The system combines BM25 full-text search, vector embeddings (FastEmbed, CPU-only), structured JSON filtering, and spatial nearest-neighbor sorting in a local SQLite database. Seven APIs cover the full lifecycle: starting and ending sessions, learning experiences, recalling filtered memories, saving perception data, and forgetting or updating incorrect entries. A web UI and Python SDK are both available; the npm package is a thin wrapper around the underlying Python CLI.
Who it's for
Roboticists and embodied AI engineers who want robots to learn from experience rather than repeat failed experiments. Developers building systems where robot performance improves over episodes by retrieving and applying lessons from past attempts—gripper force calibration, trajectory planning, grasp strategies—without requiring human intervention or retraining on each task variant.
Common use cases
- Improve task success rates by retrieving past successful parameters (grip force, target positions) for similar scenarios
- Query spatially-indexed memories to find nearest-neighbor gripper strategies when approaching new object positions
- Consolidate similar memories across episodes to build compressed intuition without manual annotation
- Retrieve proactively relevant memories at the start of a new episode based on historical patterns
- Store and recall perception data (trajectories, force profiles, visual inputs) alongside structured parameters for multi-modal learning
Setup pitfalls
- Requires Python 3.10+; the npm wrapper installs the Python package on first run if not present in the selected interpreter
- Classified high-risk (reads and writes filesystem, makes network calls)—requires careful permission boundaries if used in restricted environments
- Project has minimal maintenance (2 GitHub stars, last commit 51 days ago) with no passing CI—community support and stability are limited
- Database is a single local file at
~/.robotmem/memory.db; no built-in backup or multi-process locking for concurrent writes from multiple robot instances