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.
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_enginewith 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.