/omni-version-manager
Install, start, stop, restart, and update embedded services (9Router, CLIProxyAPI). Monitor service status, retrieve logs, and configure auto-start for local-only service endpoints.
$ npx -y skills add diegosouzapw/OmniRoute --skill omni-version-manager --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/omni-version-manager
Context preview
The summary Claude sees to decide when to auto-load this skill.
Install, start, stop, restart, and update embedded services (9Router, CLIProxyAPI). Monitor service status, retrieve logs, and configure auto-start for local-only service endpoints.
SKILL.md
omni-version-manager.SKILL.mdname: omni-version-manager
description: Install, start, stop, restart, and update embedded services (9Router, CLIProxyAPI). Monitor service status, retrieve logs, and configure auto-start for local-only service endpoints.
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
Overview
Install, start, stop, restart, and update embedded services (9Router, CLIProxyAPI). Monitor service status, retrieve logs, and configure auto-start for local-only service endpoints.
Authentication
All requests require a valid Bearer token or session cookie. Obtain a token via `POST /api/auth/login` or configure `REQUIRE_API_KEY=false` for local development.
Endpoints
POST /api/services/9router/install
Install 9Router from npm
Installs the `9router` npm package under DATA_DIR/services/9router/. Uses execFile (no shell interpolation — hard rule #13). **LOCAL_ONLY** — loopback only.
curl -X POST https://localhost:20128/api/services/9router/install \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'POST /api/services/9router/start
Start 9Router
Spawns the 9Router process. Idempotent if already running. **LOCAL_ONLY** — loopback only.
curl -X POST https://localhost:20128/api/services/9router/start \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'POST /api/services/9router/stop
Stop 9Router
Gracefully stops 9Router (SIGTERM → 15 s → SIGKILL). Idempotent. **LOCAL_ONLY** — loopback only.
curl -X POST https://localhost:20128/api/services/9router/stop \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'POST /api/services/9router/restart
Restart 9Router
Equivalent to stop() then start() under the operation lock. **LOCAL_ONLY** — loopback only.
curl -X POST https://localhost:20128/api/services/9router/restart \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'POST /api/services/9router/update
Update 9Router to a newer npm version
Stops the service (if running), installs the newer npm version, then restarts. **LOCAL_ONLY** — loopback only.
curl -X POST https://localhost:20128/api/services/9router/update \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'POST /api/services/9router/rotate-key
Rotate the 9Router API key
Generates a new API key, encrypts it at-rest, and restarts the service to apply it. The plaintext key is never returned. **LOCAL_ONLY** — loopback only.
curl -X POST https://localhost:20128/api/services/9router/rotate-key \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'GET /api/services/9router/status
Get 9Router status
Returns combined live supervisor state and DB metadata. **LOCAL_ONLY** — loopback only.
curl https://localhost:20128/api/services/9router/status \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
POST /api/services/9router/auto-start
Toggle 9Router auto-start
When enabled, 9Router starts automatically on the next OmniRoute boot. **LOCAL_ONLY** — loopback only.
curl -X POST https://localhost:20128/api/services/9router/auto-start \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'POST /api/services/9router/auto-restart-adopted
Toggle 9Router auto-restart-when-adopted
When enabled, an externally-adopted (not OmniRoute-spawned) 9Router process is restarted under OmniRoute's own supervisor on the next health-check cycle instead of being left as adopted-only. **LOCAL_ONLY** — loopback only.
curl -X POST https://localhost:20128/api/services/9router/auto-restart-adopted \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'POST /api/services/cliproxy/install
Install CLIProxyAPI from npm
Installs the CLIProxyAPI package under DATA_DIR/services/cliproxy/. **LOCAL_ONLY** — loopback only.
curl -X POST https://localhost:20128/api/services/cliproxy/install \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'POST /api/services/cliproxy/start
Start CLIProxyAPI
Spawns the CLIProxyAPI process. Idempotent if already running. **LOCAL_ONLY** — loopback only.
curl -X POST https://localhost:20128/api/services/cliproxy/start \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'POST /api/services/cliproxy/stop
Stop CLIProxyAPI
Gracefully stops CLIProxyAPI. Idempotent. **LOCAL_ONLY** — loopback only.
curl -X POST https://localhost:20128/api/services/cliproxy/stop \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'POST /api/services/cliproxy/restart
Restart CLIProxyAPI
stop() then start() under the operation lock. **LOCAL_ONLY** — loopback only.
curl -X POST https://localhost:20128/api/services/cliproxy/restart \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'POST /api/services/cliproxy/update
Update CLIProxyAPI to a newer npm version
Stops, installs newer version, restarts. **LOCAL_ONLY** — loopback only.
curl -X POST https://localhost:20128/api/services/cliproxy/update \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'GET /api/services/cliproxy/status
Get CLIProxyAPI status
Returns live supervisor state and DB metadata (no apiKeyMasked — CLIProxyAPI does not use an injected API key). **LOCAL_ONLY** — loopback only.
curl https://localhost:20128/api/services/cliproxy/status \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
POST /api/services/cliproxy/auto-start
Toggle
Read more
name: omni-version-manager description: Install, start, stop, restart, and update embedded services (9Router, CLIProxyAPI). Monitor service status, retrieve logs, and configure auto-start for local-only service endpoints.
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
Overview
Install, start, stop, restart, and update embedded services (9Router, CLIProxyAPI). Monitor service status, retrieve logs, and configure auto-start for local-only service endpoints.
Authentication
All requests require a valid Bearer token or session cookie. Obtain a token via `POST /api/auth/login` or configure `REQUIRE_API_KEY=false` for local development.
Endpoints
POST /api/services/9router/install
Install 9Router from npm
Installs the `9router` npm package under DATA_DIR/services/9router/. Uses execFile (no shell interpolation — hard rule #13). **LOCAL_ONLY** — loopback only.
curl -X POST https://localhost:20128/api/services/9router/install \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'POST /api/services/9router/start
Start 9Router
Spawns the 9Router process. Idempotent if already running. **LOCAL_ONLY** — loopback only.
curl -X POST https://localhost:20128/api/services/9router/start \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'POST /api/services/9router/stop
Stop 9Router
Gracefully stops 9Router (SIGTERM → 15 s → SIGKILL). Idempotent. **LOCAL_ONLY** — loopback only.
curl -X POST https://localhost:20128/api/services/9router/stop \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'POST /api/services/9router/restart
Restart 9Router
Equivalent to stop() then start() under the operation lock. **LOCAL_ONLY** — loopback only.
curl -X POST https://localhost:20128/api/services/9router/restart \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'POST /api/services/9router/update
Update 9Router to a newer npm version
Stops the service (if running), installs the newer npm version, then restarts. **LOCAL_ONLY** — loopback only.
curl -X POST https://localhost:20128/api/services/9router/update \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'POST /api/services/9router/rotate-key
Rotate the 9Router API key
Generates a new API key, encrypts it at-rest, and restarts the service to apply it. The plaintext key is never returned. **LOCAL_ONLY** — loopback only.
curl -X POST https://localhost:20128/api/services/9router/rotate-key \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'GET /api/services/9router/status
Get 9Router status
Returns combined live supervisor state and DB metadata. **LOCAL_ONLY** — loopback only.
curl https://localhost:20128/api/services/9router/status \ -H "Authorization: Bearer $OMNIROUTE_TOKEN"
POST /api/services/9router/auto-start
Toggle 9Router auto-start
When enabled, 9Router starts automatically on the next OmniRoute boot. **LOCAL_ONLY** — loopback only.
curl -X POST https://localhost:20128/api/services/9router/auto-start \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'POST /api/services/9router/auto-restart-adopted
Toggle 9Router auto-restart-when-adopted
When enabled, an externally-adopted (not OmniRoute-spawned) 9Router process is restarted under OmniRoute's own supervisor on the next health-check cycle instead of being left as adopted-only. **LOCAL_ONLY** — loopback only.
curl -X POST https://localhost:20128/api/services/9router/auto-restart-adopted \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'POST /api/services/cliproxy/install
Install CLIProxyAPI from npm
Installs the CLIProxyAPI package under DATA_DIR/services/cliproxy/. **LOCAL_ONLY** — loopback only.
curl -X POST https://localhost:20128/api/services/cliproxy/install \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'POST /api/services/cliproxy/start
Start CLIProxyAPI
Spawns the CLIProxyAPI process. Idempotent if already running. **LOCAL_ONLY** — loopback only.
curl -X POST https://localhost:20128/api/services/cliproxy/start \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'POST /api/services/cliproxy/stop
Stop CLIProxyAPI
Gracefully stops CLIProxyAPI. Idempotent. **LOCAL_ONLY** — loopback only.
curl -X POST https://localhost:20128/api/services/cliproxy/stop \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'POST /api/services/cliproxy/restart
Restart CLIProxyAPI
stop() then start() under the operation lock. **LOCAL_ONLY** — loopback only.
curl -X POST https://localhost:20128/api/services/cliproxy/restart \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'POST /api/services/cliproxy/update
Update CLIProxyAPI to a newer npm version
Stops, installs newer version, restarts. **LOCAL_ONLY** — loopback only.
curl -X POST https://localhost:20128/api/services/cliproxy/update \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
-H "Content-Type: application/json" \
-d '{}'GET /api/services/cliproxy/status
Get CLIProxyAPI status
Returns live supervisor state and DB metadata (no apiKeyMasked — CLIProxyAPI does not use an injected API key). **LOCAL_ONLY** — loopback only.
curl https://localhost:20128/api/services/cliproxy/status \ -H "Authorization: Bearer $OMNIROUTE_TOKEN"
POST /api/services/cliproxy/auto-start
Toggle
Never stop coding. Free MIT AI gateway: one endpoint, 290+ providers (90+ free), 500+ models — Kimi, Claude, GPT, OpenAI, Gemini, GLM, DeepSeek, MiniMax. Works with Claude Code, Codex, Cursor, OpenCode, Cline & Copilot. Quota-aware auto-fallback, RTK+Caveman compression saves 15-95% tokens, MCP/A2A, Desktop/PWA. Built by 500+ contributors
Repo: diegosouzapw/OmniRoute
Other skills on omniroute.
- /cli-a2a
Interact with the OmniRoute A2A server from the CLI. Send tasks, inspect skill execution history, and test the JSON-RPC 2.0 agent-to-agent protocol interactively.
Open skill - /cli-backup-sync
Backup and restore OmniRoute data from the CLI. Trigger incremental snapshots, sync to cloud storage, manage backup schedules, and restore from archive files.
Open skill - /cli-batches
Submit and monitor batch inference jobs from the CLI. Upload and manage files for batch processing, retrieve results, and integrate batch pipelines with CI/CD workflows.
Open skill - /cli-chat
Send chat completions, stream responses, and start an interactive REPL session from the CLI. Supports all OmniRoute providers, combo routing, and system prompt configuration.
Open skill - /cli-compression
Configure and test prompt compression from the CLI. Manage RTK filters, Caveman rules, stacked compression modes, and preview compression output with real prompts.
Open skill - /cli-contexts
Manage context engineering configurations, RTK filter sets, and conversation sessions from the CLI. Apply context-relay settings and inspect active context pipelines.
Open skill

