How rlinf/rpent works
RPent is an agent framework for embodied manipulation: an operator starts a run, a robot-specific setup supplies task context and tools, and a planner reasons and dispatches actions through those tools to a simulated or real environment. Memory, dashboard interaction, VLA primitives, and evaluation or episode capture extend that core loop. The README documents multiple planner, simulator, and real-robot options; several of their implementation details were not sampled, so those branches are represented at their existing directories rather than with inferred internal connections.
Main entry points: main.py Run CLI · env_client_base.py Environment clients · toolkit.py Tool dispatch · base.py Planner backends
Components 24
Run orchestration
- Run CLI
rpent/cli/main.py - Robot specification
rpent/robots/robot_spec.py - Robot prompts
rpent/robots/prompt_bundle.py
Planning and tools
- Planner backends
rpent/planner/base.py - Codex planner
rpent/planner/codex.py - Claude Code planner
rpent/planner/claude_code.py - Tool dispatch
rpent/tools/toolkit.py - Common tools
rpent/tools/common.py
Robot runtimes
- Robot runtime
rpent/robots/runtime.py - Environment clients
rpent/robots/components/env_client_base.py - Simulators
robots/libero - Franka extensions
robots/franka - Dual Franka
robots/dual_franka - RoboCasa
robots/robocasa - RoboTwin
robots/robotwin - VLA clients
rpent/robots/components/vla_client_base.py
Memory and oversight
- Memory manager
rpent/memory/manager.py - Memory tools
rpent/memory/tools.py - Dashboard
rpent/dashboard/server.py - Dashboard state
rpent/dashboard/state.py - Run session
rpent/session/base.py - Evaluation results
rpent/evaluation/result.py - Episode capture
rpent/flywheel/episode.py
Other components
- Operator
Connections 24
- Operator → Run CLI: starts run
README.md - Run CLI → Robot specification: selects robot
rpent/cli/main.py - Run CLI → Planner backends: creates planner
rpent/cli/main.py - Run CLI → Tool dispatch: passes toolkit
rpent/cli/main.py - Run CLI → Robot prompts: renders prompts
rpent/cli/main.py - Planner backends → Codex planner: selects backend
rpent/planner/base.py - Planner backends → Claude Code planner: selects backend
rpent/planner/base.py - Planner backends → Tool dispatch: dispatches tools
rpent/planner/base.py - Tool dispatch → Common tools: registers handlers
rpent/tools/toolkit.py - Tool dispatch → Memory tools: registers handlers
rpent/memory/tools.py - Memory tools → Memory manager: accesses memory
rpent/memory/tools.py - Robot specification → Robot runtime: configures runtime
- Robot runtime → Environment clients: uses clients
- Environment clients → Simulators: connects to
robots/libero/env_client.py - Environment clients → Franka extensions: connects to
robots/franka/env_client.py - Environment clients → Dual Franka: connects to
- Environment clients → RoboCasa: connects to
robots/robocasa/env_client.py - Environment clients → RoboTwin: connects to
robots/robotwin/env_client.py - Tool dispatch → VLA clients: uses primitives
- Run CLI → Dashboard: starts optionally
rpent/cli/dashboard.py - Dashboard → Dashboard state: serves state
rpent/dashboard/server.py - Dashboard state → Run session: projects session
rpent/dashboard/state.py - Run CLI → Evaluation results: finalizes result
rpent/cli/main.py - Run CLI → Episode capture: captures episodes