Local-first, multi-model DevOps CLI agent
Project description
Orbit
Local-first, multi-model DevOps CLI agent.
Orbit turns natural language into safe, observable DevOps actions. It decomposes goals into plans, picks the best local model for each step, and executes with a 4-tier safety system — all running against your own Ollama instance.
Features
- Multi-model routing — automatically selects the best locally-available model for each subtask (coding, ops, analysis)
- 4-tier safety system — every command is classified as safe, caution, destructive, or nuclear before execution
- Auto-replan — observes command output and adjusts the plan when things go wrong
- Context-aware — scans your git state, Docker containers, Kubernetes clusters, and system environment
- Command history — searchable SQLite-backed history of every action taken
- Runbook capture — record successful workflows as replayable YAML runbooks
- Streaming output — real-time LLM and subprocess output in a Rich terminal UI
Installation
pip install orbit-cli
Requirements
- Python 3.11+
- Ollama running locally with at least one model pulled (e.g.
ollama pull qwen2.5:7b)
Quick Start
Execute a goal
orbit do "find large files in this repo and show disk usage by directory"
Orbit will decompose the goal, build a plan, ask for confirmation on risky steps, execute, and replan if needed.
Scan your environment
orbit sense
Collects context from git, Docker, Kubernetes, and system — shows what Orbit sees before planning.
Debug the last failure
orbit wtf
Analyzes the most recent failed command with full context and suggests fixes.
Ask a question
orbit ask "what Kubernetes pods are in CrashLoopBackOff and why?"
One-shot question answering with environment context.
Check configuration
orbit config doctor
Verifies Ollama connectivity, available models, and configuration health.
Safety Tiers
| Tier | Behavior | Examples |
|---|---|---|
| safe | Execute silently | ls, cat, kubectl get, docker ps |
| caution | Single confirmation | git push, docker build, kubectl apply |
| destructive | Impact analysis + double confirm | rm, kubectl delete, git reset --hard |
| nuclear | Type confirmation + cooldown | Destructive in production context |
Production detection automatically escalates destructive commands to nuclear when it detects a production environment (main/master branch, prod namespace, etc.).
Configuration
Orbit stores its configuration at ~/.orbit/config.toml. Run orbit config doctor to check your setup.
Key settings:
[llm]
provider = "ollama" # ollama, openai, or anthropic
base_url = "http://localhost:11434"
[safety]
default_tier = "caution" # for unrecognized commands
[agent]
max_steps = 15 # hard budget per goal
max_replans = 3 # retries per step
max_llm_calls = 25 # total LLM calls per goal
Optional Extras
pip install orbit-cli[rag] # ChromaDB for semantic memory
pip install orbit-cli[openai] # OpenAI provider
pip install orbit-cli[anthropic] # Anthropic provider
pip install orbit-cli[all] # everything
Development
git clone https://github.com/abhimanyubhagwati/orbit-cli.git
cd orbit-cli
pip install -e ".[dev]"
pytest
ruff check orbit/ tests/
mypy orbit/
License
Apache 2.0 — see LICENSE 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 orbit_cli-0.1.0.tar.gz.
File metadata
- Download URL: orbit_cli-0.1.0.tar.gz
- Upload date:
- Size: 234.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cad89740a49b4d7382a351891d2db5165d91e99014b1955ae42fc66660adae47
|
|
| MD5 |
df2a030546f389aec3d1b151fcf8a8cb
|
|
| BLAKE2b-256 |
6b8c572c42d730f9aa899532296348d3f0faae353d4743c38433c6858caa6714
|
File details
Details for the file orbit_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: orbit_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 54.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b12c51832c6d61d48764287a3b9bc117a8b42e99244714999219b37f906fb621
|
|
| MD5 |
a0b4f77c50605e452de5e6a2688aa092
|
|
| BLAKE2b-256 |
efd1d3c7c03e0f62792a0865fec190c0db4ce2afa4a6943f700a1dba5dc57d0c
|