Cross-embodiment robot OS: natural language controls everything.
No training. No fine-tuning. Just say what you want.
The agent decomposes any NL goal into a verified plan and executes long-chain tasks end-to-end.
Being developed at CMU Robotics Institute.
Click to watch full demo video
Install (requires Python 3.10+ and uv):
git clone https://github.com/VectorRobotics/vector-os-nano.git
cd vector-os-nano
uv venv .venv
source .venv/bin/activate
uv pip install -e ".[all]"Configure API key — copy the example and add your key:
cp .env.example .env
# then open .env and fill in one provider key:
# DEEPSEEK_API_KEY=sk-... # default (deepseek-v4-flash)
# OPENROUTER_API_KEY=sk-or-... # multi-model fallback
# ANTHROPIC_API_KEY=sk-ant-... # direct Anthropic.env is git-ignored. One provider key is enough. DeepSeek deepseek-v4-flash is the default; OpenRouter is the multi-model fallback.
Run:
vector-cli # interactive AI agent REPL
vector-cli --sim # SO-101 arm in MuJoCo (natural language: "wave", "pick up the mug")
vector-cli --sim-go2 # Go2 quadruped in MuJoCoAI-powered terminal: control robots, edit code, and diagnose issues from one prompt. Powered by the VGG (Verified Goal Graph) cognitive layer — complex goals are decomposed into verified sub-plans; simple commands skip LLM and execute in <1 ms.
vector> explore the house
> [1/1] explore_goal done 62.3s
vector> the dog hits walls at corners
file_read("scripts/go2_vnav_bridge.py") ... ok
file_edit(old="_MAX_SPEED = 0.6", new="_MAX_SPEED = 0.4") ... ok
skill_reload("walk") ... ok
vector> go to the kitchen
> [1/1] navigate_goal done 11.3s
Slash commands: /help /model /tools /status /login /compact /clear /copy /export
vector-cli controlling Go2 in MuJoCo: natural language conversation with V (right), live simulation (left).
Drive the SO-101 arm by natural language — no hardware required:
vector-cli --sim
# "wave", "go home", "pick up the mug"
MuJoCo simulation: SO-101 arm with graspable objects, CLI conversation with V.
Manipulation (scan → detect → top-down pick) is validated in MuJoCo. Enable with VECTOR_ENABLE_MANIPULATION=1.
Let Claude Code control the robot via Model Context Protocol:
vector-os-mcp --sim --stdio # MuJoCo sim, stdio transport (add to Claude Code MCP config)
vector-os-mcp --hardware --stdio # real hardware
vector-os-mcp --sim # SSE on :8100Exposes all skills as MCP tools plus camera and world-state resources (world://state, world://objects, camera://live, …).
Claude Code operating the robot via MCP: terminal (top) + live camera RGB + depth (bottom).
Claude Agent autonomously designing, implementing, and executing new robot skills.
PRs welcome. By submitting a pull request you agree your contribution is licensed under Apache 2.0 (Section 5). Include the SPDX header on new files:
# SPDX-License-Identifier: Apache-2.0
# Copyright (c) 2024-2026 Vector RoboticsCopyright 2024-2026 Vector Robotics.
Licensed under the Apache License, Version 2.0; you may not use this file except in compliance with the License. You may obtain a copy at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the LICENSE and NOTICE files for the full terms, including attribution and patent-grant terms, and a list of bundled third-party components.
"Vector Robotics" and "Vector OS Nano" are trademarks of Vector Robotics. The Apache License does not grant permission to use these names except as required for describing the origin of the Work and reproducing the contents of the NOTICE file.
CMU Robotics Institute. Star this repo and stay tuned.
