Skip to main content

Local-first, multi-model DevOps CLI agent

Project description

Orbit

Local-first, multi-model DevOps CLI agent.

PyPI version Python 3.11+ License

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

orbit_cli-0.1.0.tar.gz (234.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

orbit_cli-0.1.0-py3-none-any.whl (54.5 kB view details)

Uploaded Python 3

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

Hashes for orbit_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 cad89740a49b4d7382a351891d2db5165d91e99014b1955ae42fc66660adae47
MD5 df2a030546f389aec3d1b151fcf8a8cb
BLAKE2b-256 6b8c572c42d730f9aa899532296348d3f0faae353d4743c38433c6858caa6714

See more details on using hashes here.

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

Hashes for orbit_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b12c51832c6d61d48764287a3b9bc117a8b42e99244714999219b37f906fb621
MD5 a0b4f77c50605e452de5e6a2688aa092
BLAKE2b-256 efd1d3c7c03e0f62792a0865fec190c0db4ce2afa4a6943f700a1dba5dc57d0c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page