diegosouzapw/omniroute

cli-serve

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.

Trending #4833 First seen Jun 10, 2026

Installation

$ npx skills add diegosouzapw/omniroute --skill cli-serve

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from diegosouzapw/omniroute · top by installs.

npx skills add diegosouzapw/omniroute

Browse all from diegosouzapw/omniroute

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 63.0K
License LICENSE
Default branch release/v3.8.51
Open issues 279
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 10,436 B
  • docs SUMMARY.md 1,496 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 404 installs

SKILL.md

<!-- 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

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

Subcommands

dashboard

Flags:

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

Example:

omniroute dashboard

restart

Flags:

  • --port <port>

Example:

omniroute restart

serve

Flags:

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

Example:

omniroute serve

stop

Example:

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

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

Requires Node.js ≥22.22.2 or ≥24.

Verify:

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

Connection

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

Source Variable / Flag
Base URL OMNIROUTEBASEURL or --base-url
API key OMNIROUTEAPIKEY or --api-key

Default base URL: http://localhost:20128

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

For a remote server:

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

Global flags

Flag Description
--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
--json Shorthand for --output json
--non-interactive Disable prompts — for CI / shell scripts
--no-open Don't auto-open the browser on start
--port <n> Override default port 20128
--help, -h Show help for the current command
--version, -v Print the installed version

Output formats

All listing commands support --output:

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

# 1. Start server
omniroute

# 2. (First run) interactive setup wizard
omniroute setup

# 3. Verify everything is healthy
omniroute doctor

CLI capability skills

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 CLI entry-point skill for install + global flags.

Server lifecycle

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

omniroute setup                        # Step-by-step interactive setup

Non-interactive (CI / Docker)

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

Environment variables for non-interactive setup:

Variable Purpose
OMNIROUTESETUPPASSWORD Admin password (≥8 chars)
OMNIROUTE_PROVIDER Provider id (e.g. openai, anthropic)
OMNIROUTEPROVIDERNAME Display name for the connection
OMNIROUTEPROVIDERBASE_URL Optional OpenAI-compatible base URL override
OMNIROUTEAPIKEY Provider API key
OMNIROUTEDEFAULTMODEL Optional default model
DATA_DIR Override OmniRoute data directory

Diagnostics

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:

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

Backup & restore

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

Autostart (system tray / startup)

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:

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 OMNIROUTEBASEURL from remote machines.

Config & environment

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

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 STORAGEENCRYPTIONKEY was lost and you need to re-enter all provider API keys.

Logs

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

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

Errors

  • doctor shows STORAGEENCRYPTIONKEY 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 -->