Retriever
Retriever runtime
Build robot agents whose perception, reasoning, and control run at their own clocks.
Retriever is a programming model and runtime for closed-loop, asynchronous robot agents. Compose typed Flows on explicit clocks, and let each edge declare how it samples its inputs. The same timestamped inputs produce the same outputs no matter how the runtime schedules them — so you can step, record, and replay the whole agent.
Mental model: PyTorch composes nn.Modules that run immediately; Retriever composes typed Flows that run in explicit time. Each Flow owns local state, wakes on its own clock, consumes one synchronized input record, and can be stepped locally before it runs on a backend.
Quick Start
Section titled “Quick Start”Run the source-checkout demo first. It proves the runtime graph without camera permission, GUI windows, Rerun, or robot hardware.
What does this do?
pixi install creates the reproducible repository environment. pixi run demo-webcam-detection-mock runs a small graph: synthetic camera frames feed a color detector, then detections are printed to stdout. Use the webcam/Rerun path only after this smoke works.
Use the source checkout for demos today: it includes examples, tutorial assets, graph rendering, and optional visualization. The runtime-only distribution name is retriever-core, and the Python import remains retriever; see Install for the package/source split.
Why Retriever For Robotics
Section titled “Why Retriever For Robotics”Compositional Flow contracts. Perception, memory, planning, skills, monitors, and controllers stay as reusable typed modules instead of callback glue.
Explicit multi-rate time. Cameras, model calls, skills, and controllers do not need to pretend they share one global timestep.
Deterministic input handoff. Each edge declares how upstream event history becomes the one input record consumed by step(…).
Debuggable before deployment. Render the graph, step locally, use stdout/Rerun, record consumed inputs, and replay the same run.
Backend mapping when ready. Keep the graph semantics stable while moving from in-process stepping to multiprocessing or Dora-backed execution.

How Retriever Compares
Section titled “How Retriever Compares”The full positioning matrix lives on Why Retriever. Keep the homepage short: Retriever is for closed-loop robot agents where typed modules, explicit time, local debugging, and replay matter together.
Guides
Section titled “Guides”Common Patterns
Section titled “Common Patterns”| Need | Start with |
|---|---|
| First reliable smoke | pixi run demo-webcam-detection-mock |
| Live visual path | pixi run demo-webcam-detection |
| Smallest Flow mental model | pixi run demo-basic-flow |
| Graph inspection | pixi run docs-tutorial-perception-html |
| Record and replay | pixi run demo-webcam-record then pixi run demo-webcam-replay-rrd |
| Applied robot examples | GoldenRetriever first proof, then the example catalog |
The Four Objects
Section titled “The Four Objects”step(…) method.ClockEach Flow declares when it runs; there is no global robot timestep.Sync policyEach edge declares how upstream event history becomes one aligned input.PipelineThe graph that validates, visualizes, steps, replays, and runs.For AI Agents
Section titled “For AI Agents”Agents should start from llms.txt, then follow the Visual Quickstart before changing code. Use Examples and Results for expected outputs and Debug and Visualize for graph/render/replay commands.
