Skip to content

OpenRetriever runtime docs

Build robot agents with explicit time.

Retriever is a Python framework for closed-loop robot systems whose perception, reasoning, and control run together at different rates.

Robots do not usually fit into one clean loop. Cameras stream, robot state updates faster than policies, VLM/VLA calls have variable latency, planners can block, operators intervene, and logs must be replayable. Retriever makes those timing and handoff decisions part of the program instead of hiding them in callbacks, queues, and sleeps.

Learn Retriever In Order

The Core Model

First Commands

pixi run demo-webcam-detection
pixi run demo-webcam-stepper
pixi run demo-webcam-record
pixi run demo-basic-flow
pixi run demo-adapter-connection
pixi run demo-rt-execution
pixi run demo-stepper
pixi run demo-data-multistream-join
pixi run demo-language-grounding
# Then continue in GoldenRetriever for perception, memory, language, and robotics examples.

Why This Matters

A robot stack becomes hard to maintain when timing is implicit. A callback grabs the latest camera frame, a thread caches a model output, a controller silently holds an old command, and a replay no longer matches the original run. Retriever puts those decisions in the graph so the same system can be inspected, stepped, replayed, and moved across execution backends.

Documentation Map