Intelligent CLI assistant for ROS and ROS2 questions
Project description
OORB CLI – Robotics coding Assistant
OORB (Open Organic Robotics Benchmark) is an open-source initiative focused on advancing robotics through AI-powered tools and benchmarks.
OORB CLI is a command-line assistant designed to answer questions and assist with tasks related to ROS2 (Robot Operating System 2). Powered by modern language models and enhanced with vector search and retrieval-augmented generation, it serves as an intelligent tool for roboticists and developers working with ROS2.
Features
- Focused exclusively on ROS2
- Interactive and one-shot Q&A modes
- Backend support for OpenAI, Azure OpenAI, and Ollama
- Local inference support with Ollama
- Retrieval-augmented answers with Milvus vector store
- Configurable model, temperature, and backend preferences
- Tool calling capabilities with access to:
read_file- Read and analyze fileswrite_file- Create and modify filessearch_in_files- Search across file contentsrun_command- Execute system commandslist_directory- Browse directory structuresedit_file_lines- Make precise file edits
Installation
Option 1: Install from PyPI (Recommended)
pip install oorb-cli
The CLI is available on PyPI and can be installed directly via pip.
Option 2: Development Installation
1. Clone the repository
git clone https://github.com/OORB-Open-Organic-Robotics/oorb-cli
cd oorb-cli
2. Create virtual environment and install dependencies using uv
uv venv
source .venv/bin/activate
uv pip install -e .
This installs the CLI in editable mode, allowing you to make changes to the source code without reinstalling.
Note:
uv pip install -e .is functionally equivalent topip install -e ., but usesuvfor faster dependency resolution and isolated builds.
Configuration
Set the appropriate API key depending on the backend you intend to use.
OpenAI
export OPENAI_API_KEY="your-key"
Azure OpenAI
export AZURE_OPENAI_API_KEY="your-key"
export AZURE_OPENAI_ENDPOINT="your-endpoint"
Usage
Once installed, the CLI becomes available via the oorb command (or python oorb_cli.py if unlinked).
Main Commands
chat - Interactive ROS2 Assistant
Start an interactive chat session or ask a single question with full customization options.
Basic Usage:
# Interactive mode
oorb chat
# Single question mode
oorb chat -p "How do I create a custom message type in ROS2?"
Available Options:
-b, --backend- Choose LLM backend:azure,openai, orollama-m, --model- Specify model name (e.g.,gpt-4o-mini,gpt-3.5-turbo)-t, --temperature- Set response creativity (0.0-1.0, default: 0.3)-p, --prompt- Single prompt for non-interactive mode--use-tools/--no-tools- Enable/disable tool calling (default: auto-detect)
Examples:
# Use specific backend and model
oorb chat -b openai -m gpt-4o-mini -t 0.7
# Quick question with custom settings
oorb chat -b azure -m gpt-3.5-turbo -p "Create a ROS2 launch file for navigation"
# Disable tools for faster responses
oorb chat --no-tools -p "What is a ROS2 node?"
list-models - View Available Models
Display all available models for different backends.
Basic Usage:
oorb list-models
Available Options:
-b, --backend- Filter by specific backend:azure,openai, orollama
Examples:
# List all models
oorb list-models
# List only OpenAI models
oorb list-models -b openai
# List only local Ollama models
oorb list-models -b ollama
status - System Health Check
Check system configuration, API keys, and service availability.
Basic Usage:
oorb status
What it shows:
- API key configuration status
- Ollama service status and available models
- Retrieval API connectivity
- Available backends
- Configuration warnings and errors
- Quick setup recommendations
Contributing
We welcome contributions to the OORB CLI project! Please see our CONTRIBUTING.md file for detailed guidelines on how to contribute to the project.
License
This project is open-source and available under the appropriate license. Please check the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file oorb_cli-1.0.7.tar.gz.
File metadata
- Download URL: oorb_cli-1.0.7.tar.gz
- Upload date:
- Size: 36.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2cb57853b5c708d2089602a08000c9e844356fabfa77426ca15d64f774304c72
|
|
| MD5 |
becb4315ff266b26e601d17eef68a755
|
|
| BLAKE2b-256 |
550f11fb6540f9dd3c4049ad7fcbd90f26905f7069dc5f47778990e4fad32a20
|
File details
Details for the file oorb_cli-1.0.7-py3-none-any.whl.
File metadata
- Download URL: oorb_cli-1.0.7-py3-none-any.whl
- Upload date:
- Size: 32.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0597b9b4546ad4a55ab2022f2970f71bb1bf3689df08202911ba7304c2a7a126
|
|
| MD5 |
d24ca8ecb16c7965dde5e4bc065582c5
|
|
| BLAKE2b-256 |
10f50536043a088a7523cc16e06d9c699de526e0ca91277e54cd0bcf18c7ee86
|