Spatio-Temporal Memory & Perception
OhhO OS gives every robot a persistent, queryable memory of what it has
seen, where, and when (ohho.memory), fed by pluggable perception
(ohho.perception). Pure standard library; persists as JSON per robot at
~/.ohho/memory/<robot>.json, shared by the CLI and the agent.
- Object permanence — a sighting of the same label near a known position updates that entity instead of creating a duplicate
- Spatial queries — where is the cup? what's near (1, 2)?
- Temporal queries — event timeline, "last seen 42 s ago", free-form notes
- Perceptors — a deterministic sim perceptor (FOV + range over the sim world) and an optional Claude-vision perceptor for real camera frames
CLI
ohho look and ohho memory were not part of the checked PyPI run. The commands that did exit are in Install.
Python
from ohho import Robot
from ohho.memory import SpatialMemory, default_memory_path
from ohho.perception import SimPerceptor, remember_detections
bot = Robot.connect("omnibot")
memory = SpatialMemory(path=default_memory_path("omnibot"))
detections = SimPerceptor(bot).look() # sim world, FOV + range gated
remember_detections(memory, detections)
e = memory.where_is("cup") # Entity(x, y, last_seen, count…)
memory.near(1.0, 2.0, radius=1.5) # entities around a point
memory.timeline(label="cup") # every sighting, time-stamped
memory.note("picked up the cup") # free-form events
memory.save()
Claude-vision perception (real cameras)
With the [agent] extra and ANTHROPIC_API_KEY, VlmPerceptor turns camera
frames into detections:
from ohho.perception import VlmPerceptor
vlm = VlmPerceptor() # model="claude-sonnet-5" by default
detections = vlm.look(jpeg_bytes) # [Detection(label, confidence), …]
Agent integration
The agent's tool registry includes the memory suite automatically:
look_around() (perceive + remember + report), where_is(label),
objects_near(x, y, radius), and remember_note(text) — and the robot's
memory summary is injected into the agent's context at the start of every
goal, so "go back to where you saw the cup" works across sessions.