Omni builds open source software for everyone
Omni Logo
Armory

⏣ Omni CLI

Your conduit to the universe

CLI
TUI
HTTP API
Rust

Overview

Your conduit to the universe.

Omni CLI is an agentic CLI for the Omni ecosystem. It provides three interfaces:

  • CLI: Traditional command-line interface for scripting and automation
  • TUI: Interactive terminal user interface for visual workflows
  • HTTP API: RESTful API for remote access and integrations

Installation

# From source
git clone https://github.com/omnidotdev/cli
cd cli
cargo build --release

# Binary will be at target/release/omni

Quick Start

TUI Mode (Default)

Launch the interactive terminal interface:

omni
# or explicitly
omni tui

Shell Mode

Convert natural language to shell commands:

omni "list files by size"
# → Command: ls -lhS
# Execute? [y/N]

Safe commands auto-execute; others require confirmation. Use -y to skip confirmation or -n for dry-run:

omni -y "show disk usage"     # Auto-execute
omni -n "delete temp files"   # Show command only

Agent Mode

Execute agentic tasks directly:

omni agent "summarize the README in this directory"
omni a "what files are in src/"  # 'a' is an alias for 'agent'

HTTP API Mode

Start the API server for remote access:

omni serve
# Starts on http://127.0.0.1:7890

# Bind to all interfaces (for LAN/phone access)
omni serve --host 0.0.0.0 --port 7890

Modes

Omni CLI supports two operating modes that control what actions the agent can take:

ModeDescriptionPermissions
BuildFull access for implementationRead, write, edit files; run commands
PlanRead-only exploration for planningRead files; run read-only commands

Switch modes in the TUI with Tab or slash commands:

/plan   # Switch to plan mode
/build  # Switch to build mode

TUI Interface

The TUI provides a rich interactive experience with:

Slash Commands

CommandDescription
/clearClear conversation history
/exit, /quitExit the application
/modelShow available models
/model <name>Switch to a specific model
/planSwitch to plan mode
/buildSwitch to build mode
/sessionsOpen session browser

Keyboard Shortcuts

ShortcutAction
EnterSend message
Shift+Enter or Alt+EnterInsert newline
TabToggle mode (Build/Plan)
Ctrl+CCancel streaming / Clear input / Exit
Ctrl+LClear conversation
Ctrl+SOpen session list
Ctrl+AMove cursor to start
Ctrl+EMove cursor to end
Ctrl+UDelete to start of line
Ctrl+KDelete to end of line
Ctrl+WDelete word
PageUp/DownScroll messages
EscDismiss dropdown / Clear input

Permission Dialogs

When the agent needs to perform sensitive operations (file writes, shell commands), a permission dialog appears:

  • [a] Allow once
  • [s] Always allow (for session)
  • [d] Deny
  • Esc Cancel (deny)

Architecture

┌─────────────┐  ┌─────────────┐  ┌─────────────┐
│     CLI     │  │     TUI     │  │   HTTP API  │
└──────┬──────┘  └──────┬──────┘  └──────┬──────┘
       │                │                │
       └────────────────┼────────────────┘

                 ┌──────┴──────┐
                 │    Core     │
                 └─────────────┘

All interfaces share the core module for business logic, ensuring consistent behavior across CLI, TUI, and API.

Command Reference

omni [OPTIONS] [PROMPT] [COMMAND]

Commands:
  agent   Execute an agentic task (alias: a)
  tui     Start the TUI interface
  serve   Start the HTTP API server
  config  Manage configuration
  session Manage sessions

Options:
  -y, --yes       Skip confirmation for all commands
  -n, --dry-run   Show command only, don't execute
  -v, --verbose   Increase logging verbosity
  -h, --help      Print help
  -V, --version   Print version

On this page