⏣ Omni CLI
Your conduit to the universe
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/omniQuick Start
TUI Mode (Default)
Launch the interactive terminal interface:
omni
# or explicitly
omni tuiShell 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 onlyAgent 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 7890Modes
Omni CLI supports two operating modes that control what actions the agent can take:
| Mode | Description | Permissions |
|---|---|---|
| Build | Full access for implementation | Read, write, edit files; run commands |
| Plan | Read-only exploration for planning | Read files; run read-only commands |
Switch modes in the TUI with Tab or slash commands:
/plan # Switch to plan mode
/build # Switch to build modeTUI Interface
The TUI provides a rich interactive experience with:
Slash Commands
| Command | Description |
|---|---|
/clear | Clear conversation history |
/exit, /quit | Exit the application |
/model | Show available models |
/model <name> | Switch to a specific model |
/plan | Switch to plan mode |
/build | Switch to build mode |
/sessions | Open session browser |
Keyboard Shortcuts
| Shortcut | Action |
|---|---|
Enter | Send message |
Shift+Enter or Alt+Enter | Insert newline |
Tab | Toggle mode (Build/Plan) |
Ctrl+C | Cancel streaming / Clear input / Exit |
Ctrl+L | Clear conversation |
Ctrl+S | Open session list |
Ctrl+A | Move cursor to start |
Ctrl+E | Move cursor to end |
Ctrl+U | Delete to start of line |
Ctrl+K | Delete to end of line |
Ctrl+W | Delete word |
PageUp/Down | Scroll messages |
Esc | Dismiss 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]DenyEscCancel (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