<< All versions

Skill v1.0.0

currentLLM-judged scan90/100
cheaper-inference/omniroute/cli-serve
──Details
PublishedOctober 22, 2026 at 03:43 PM
Content Hashsha256:f738c55805ea2ec2...
Git SHA0482755c5e4f
──Files
Files (1 file, 10.1 KB)
SKILL.md10.1 KBactive
SKILL.md · 322 lines · 10.1 KB

version: "1.0.0" name: cli-serve description: Start, stop, and restart the OmniRoute server from the CLI. Manage daemon mode, port configuration, auto-recovery, system tray integration, and the dashboard open shortcut.


<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->

Overview

Start, stop, and restart the OmniRoute server from the CLI. Manage daemon mode, port configuration, auto-recovery, system tray integration, and the dashboard open shortcut.

Quick install

bash
npm install -g omniroute # or: npx omniroute
omniroute --version

Subcommands

dashboard

Flags:

  • --url
  • --port <port>
  • --tui

Example:

bash
omniroute dashboard

restart

Flags:

  • --port <port>

Example:

bash
omniroute restart

serve

Flags:

  • --port <port>
  • --no-open
  • --daemon
  • --log
  • --no-recovery
  • --max-restarts <n>
  • --headless
  • --tray
  • --no-tray
  • --ready-timeout <ms>
  • --tls-cert <path>
  • --tls-key <path>

Example:

bash
omniroute serve

stop

Flags:

  • --port <port>

Example:

bash
omniroute stop

<!-- skill:custom-start --> <!-- Aggregated from: omniroute-cli (setup + index), omniroute-cli-admin (lifecycle/setup/backup/tunnel) -->

Setup

The omniroute binary ships with the OmniRoute server. It is both the server launcher and a full management CLI with 250+ commands across 39 groups.

Install

bash
npm install -g omniroute # npm registry
# or: use the binary bundled with the desktop app

Requires Node.js ≥22.22.2 or ≥24.

Verify:

bash
omniroute --version # prints installed version
omniroute --help # full command tree

Connection

Every CLI command that talks to the server reads two values:

SourceVariable / Flag
Base URLOMNIROUTE_BASE_URL or --base-url
API keyOMNIROUTE_API_KEY or --api-key

Default base URL: http://localhost:20128

bash
export OMNIROUTE_BASE_URL="http://localhost:20128"
export OMNIROUTE_API_KEY="sk-..." # from Dashboard → API Manager

For a remote server:

bash
export OMNIROUTE_BASE_URL="https://your-server.com"

Global flags

FlagDescription
--base-url <url>Override server URL for this invocation
--api-key <key>Override API key for this invocation
--output <format>Output format: table (default), json, jsonl, csv
--jsonShorthand for --output json
--non-interactiveDisable prompts — for CI / shell scripts
--no-openDon't auto-open the browser on start
--port <n>Override default port 20128
--help, -hShow help for the current command
--version, -vPrint the installed version

Output formats

All listing commands support --output:

bash
omniroute combo list # human-readable table
omniroute combo list --output json # JSON array
omniroute combo list --output jsonl # one JSON object per line
omniroute combo list --output csv # CSV with header row

Quick start: one-shot server + provider setup

bash
# 1. Start server
omniroute
# 2. (First run) interactive setup wizard
omniroute setup
# 3. Verify everything is healthy
omniroute doctor

CLI capability skills

CapabilitySkill
Backup & restorehttps://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/cli-backup-sync/SKILL.md
Provider & key managementhttps://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/cli-providers/SKILL.md
Cloud agents (omniroute cloud …)https://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/cli-backup-sync/SKILL.md
Evals & benchmarkinghttps://raw.githubusercontent.com/diegosouzapw/OmniRoute/main/skills/cli-eval/SKILL.md

Errors

  • Connection refused → server not running; run omniroute or omniroute serve
  • 401 Unauthorized → wrong or missing API key
  • command not found: omniroute → not in PATH; check npm root -g or re-install
  • doctor reports SQLite incompatible → npm rebuild better-sqlite3 in the app directory

Admin lifecycle

Requires the omniroute CLI. See the install and global-flags sections above.

Server lifecycle

bash
omniroute # Start server (default port 20128)
omniroute serve # Explicit alias
omniroute --port 3000 # Override port
omniroute --no-open # Don't auto-open browser
omniroute --mcp # Start as MCP server (stdio transport)
omniroute stop # Stop the running server
omniroute restart # Restart the server
omniroute dashboard # Open dashboard in browser
omniroute open # Alias for dashboard
omniroute status # Runtime status (uptime, requests, providers)

Setup & provisioning

Interactive wizard

bash
omniroute setup # Step-by-step interactive setup

Non-interactive (CI / Docker)

bash
omniroute setup --non-interactive \
--password 'admin-password' \
--add-provider \
--provider openai \
--api-key 'sk-...' \
--test-provider

Environment variables for non-interactive setup:

VariablePurpose
OMNIROUTE_SETUP_PASSWORDAdmin password (≥8 chars)
OMNIROUTE_PROVIDERProvider id (e.g. openai, anthropic)
OMNIROUTE_PROVIDER_NAMEDisplay name for the connection
OMNIROUTE_PROVIDER_BASE_URLOptional OpenAI-compatible base URL override
OMNIROUTE_API_KEYProvider API key
OMNIROUTE_DEFAULT_MODELOptional default model
DATA_DIROverride OmniRoute data directory

Diagnostics

bash
omniroute doctor # Full health check
omniroute doctor --json # Machine-readable JSON
omniroute doctor --no-liveness # Skip HTTP health probe
omniroute doctor --host 0.0.0.0 # Override liveness host
omniroute doctor --liveness-url <url> # Full URL override

Checks performed: Config, Database, Storage/encryption, Port, Node runtime, Native binary (better-sqlite3), Memory, Server liveness.

Exit code is non-zero if any check fails — useful in CI:

bash
omniroute doctor --json | jq '.checks[] | select(.status=="fail")'

Backup & restore

bash
omniroute backup # Snapshot config + SQLite DB to ~/.omniroute/backups/
omniroute restore # Restore from a previous snapshot (interactive picker)

Autostart (system tray / startup)

bash
omniroute autostart enable # Register OmniRoute as a system startup item
omniroute autostart disable # Remove startup registration
omniroute autostart status # Show current autostart state

On Linux: creates a systemd user service (~/.config/systemd/user/omniroute.service) and enables linger so the service can start after reboot without a graphical login; on desktop sessions it also adds an XDG autostart entry with --tray. On macOS: LaunchAgent plist. On Windows: registry startup entry.

Tunnels (public URL)

Expose a local OmniRoute instance via a secure tunnel:

bash
omniroute tunnel list # List active tunnels
omniroute tunnel create cloudflare # Start a Cloudflare Tunnel (free)
omniroute tunnel create tailscale # Start a Tailscale funnel
omniroute tunnel create ngrok # Start an ngrok tunnel
omniroute tunnel stop <id> # Stop a running tunnel

The tunnel URL is printed and can be used as OMNIROUTE_BASE_URL from remote machines.

Config & environment

bash
omniroute config show # Display current effective configuration
omniroute env show # List all OmniRoute environment variables
omniroute env get <KEY> # Get a single env var value
omniroute env set <KEY> <value> # Set an env var (temporary — until restart)

Recovery

bash
omniroute reset-password # Reset the admin password interactively
omniroute reset-encrypted-columns # Dry-run: show encrypted credential columns
omniroute reset-encrypted-columns --force # Null out encrypted credentials in SQLite

Use reset-encrypted-columns --force only if STORAGE_ENCRYPTION_KEY was lost and you need to re-enter all provider API keys.

Logs

bash
omniroute logs # Stream live request logs
omniroute logs --json # JSON log entries
omniroute logs --search <term> # Filter by term
omniroute logs --follow # Tail mode (keep streaming)

Update

bash
omniroute update # Check for a newer version and prompt to update

Errors

  • doctor shows STORAGE_ENCRYPTION_KEY missing → set the key in .env or run reset-encrypted-columns --force to wipe and re-enter credentials
  • doctor reports native binary fail → npm rebuild better-sqlite3 in the OmniRoute app directory
  • tunnel create cloudflare hangs → ensure cloudflared is installed: brew install cloudflare/cloudflare/cloudflared

<!-- skill:custom-end -->

All versions