OhhO OS

The open engine for OmniBot. OhhO OS 1.1.2 is ohho-os on PyPI. Source: ohho-robotics/ohho-os. TypeScript client: ohho-robotics/ohho-sdk. It drives OmniBot in simulation. There is no hosted service.

The checked commands are in Install. This page does not repeat a test count. ohho-os CI logs are not fetched at build time.

OhhO OS feature map

Why OhhO OS is different

  • ROS optional — never required. Run a lightweight pure-Python runtime, or the full ROS 2 stack, and switch between them with a single argument. get_runtime("auto") detects ROS 2 automatically.
  • OmniBot today · other robots on roadmap. OmniBot is supported today; quadrupeds, humanoids, and other form factors are on the roadmap. Capability-typed commands gate actions — a robot that can't do something turns the call into a safe no-op.
  • The whole lifecycle, one engine. Not just control — agent, data collection, training, serving, and skills, all from the same pip install.
  • Agent-native by design. A continuous perceive → reason → act → reflect loop powered by agent_engine with an LLM tool-calling reasoner. Tools are built automatically from the robot's capabilities.
  • Training built in. Record demonstrations → fine-tune VLA policies (SmolVLA, ACT, diffusion, OpenVLA) → serve over REST → close the loop. All with device="auto" hardware detection.
  • Open source, zero lock-in. Apache-2.0 licensed. Bring your own models and data; move to the cloud only when you want to.

Checked install

pip install ohho-os
ohho doctor
ohho sim --robot omnibot --seconds 2

What the package documents

Area What ships
Control Robot Abstraction Layer, 6 adapters (sim, serial base, bus-servo arm, DDS-native, ROS 2, composite), 2 runtimes (native + ROS 2), capability-gated commands
Agent HarnessBrain → agent_engine (perceive→reason→act→reflect), ClaudeToolCallingReasoner, ToolRegistry from capabilities, ScriptedBrain fallback
Data Recorder (intercepts drive/move_joints → 9-D state+action), LeRobot v2.0 writer (Parquet + meta JSON), DatasetReader
Training finetune() delegates to lerobot_engine (smolvla/act/diffusion/openvla), mock mode for sim loops, device="auto"
Serving FastAPI server (/health, /load_model, /predict), ohho serve CLI, mock model for sim
Skills @skill decorator, ohho market list/run, 4 built-in skills (patrol, wave, stop, status)
Profiles 5 hardware profiles (pi_workstation, jetson_single, workstation_single, mac_dev, edge_cpu), ohho profile detect
CLI checked ohho doctor, ohho sim --robot omnibot --seconds 2, plus the commands in Install

Documentation

  • Setup Guide — start here — a complete walkthrough from install to your first moving robot, with illustrations.
  • Install — pip extras, requirements, verification.
  • Set up Ohho with your AI agent — preview, coming with ohho-os 1.2.0. One prompt, then the playbook.
  • Quickstart — connect, drive, and run an agent in minutes.
  • Runtimes: ROS vs no-ROS — choose the runtime that fits, and switch later with one argument.
  • Supported robots — categories, the capability model, and the protocol adapters in the public ohho-os tree.
  • Native navigation — occupancy-grid mapping, A* planning, frontier exploration — no ROS required.
  • Memory & perception — spatio-temporal memory (object permanence, temporal queries) + sim and vision perceptors.
  • Training pipelines — data collection, fine-tuning and serving.
  • Architecture — the abstraction layer that makes one API work across every robot and runtime.
  • Skills & Market — the skill registry, built-in skills, and how to write your own.

Where it fits

OhhO OS is built on the same open engines that power the platform — the agent harness, the learning engine, the inference server and the robot drivers — unified behind one installable package and one consistent API.