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.
By diegosouzapw · 410 installs
npx skills add diegosouzapw/omniroute --skill omni-version-manager
Source repository · Upstream listing
<! 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.
POST /api/services/9router/start
Start 9Router
Spawns the 9Router process. Idempotent if already running. LOCAL ONLY — loopback only.
POST /api/services/9router/stop
Stop 9Router
Gracefully stops 9Router (SIGTERM → 15 s → SIGKILL). Idempotent. LOCAL ONLY — loopback only.
POST /api/services/9router/restart
Restart 9Router
Equivalent to stop() then start() under the operation lock. LOCAL ONLY — loopback only.
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.
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.
GET /api/services/9router/status
Get 9Router status
Returns combined live supervisor state and DB metadata. LOCAL ONLY — loopback only.
POST /api/services/9router/auto start
Toggle 9Router auto start
When enabled, 9Router starts automatically on the next OmniRoute boot. LOCAL ONLY — loopback only.
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.
POST /api/services/cliproxy/install
Install CLIProxyAPI from npm
Installs the CLIProxyAPI package under DATA DIR/services/cliproxy/. LOCAL ONLY — loopback only.
POST /api/services/cliproxy/start
Start CLIProxyAPI
Spawns the CLIProxyAPI process. Idempotent if already running. LOCAL ONLY — loopback only.
POST /api/services/cliproxy/stop
Stop CLIProxyAPI
Gracefully stops CLIProxyAPI. Idempotent. LOCAL ONLY — loopback only.
POST /api/services/cliproxy/restart
Restart CLIProxyAPI
stop() then start() under the operation lock. LOCAL ONLY — loopback only.
POST /api/services/cliproxy/update
Update CLIProxyAPI to a newer npm version
Stops, installs newer version, restarts. LOCAL ONLY — loopback only.
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.
POST /api/services/cliproxy/auto start
Toggle CLIProxyAPI auto start
When enabled, CLIProxyAPI starts automatically on the next OmniRoute boot. LOCAL ONLY — loopback only.
POST /api/services/cliproxy/auto restart adopted
Toggle CLIProxyAPI auto restart when adopted
When enabled, an externally adopted (not OmniRoute spawned) CLIProxyAPI 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.
POST /api/services/mux/install
Install Mux from npm
Installs the mux npm package (coder/mux — local agent orchestration daemon) under DATA DIR/services/mux/. LOCAL ONLY — loopback only.
POST /api/services/mux/start
Start Mux
Spawns mux server host 127.0.0.1 port <port . Idempotent if already running. LOCAL ONLY — loopback only.
POST /api/services/mux/stop
Stop Mux
Gracefully stops Mux. Idempotent. LOCAL ONLY — loopback only.
POST /api/services/mux/restart
Restart Mux
stop() then start() under the operation lock. LOCAL ONLY — loopback only.
POST /api/services/mux/update
Update Mux to a newer npm version
Stops, installs newer version, restarts. LOCAL ONLY — loopback only.
GET /api/services/mux/status
Get Mux status
Returns live supervisor state and DB metadata. LOCAL ONLY — loopback only.
POST /api/services/mux/auto start
Toggle Mux auto start
When enabled, Mux starts automatically on the next OmniRoute boot. LOCAL ONLY — loopback only.
POST /api/services/mux/auto restart adopted
Toggle Mux auto restart when adopted
When enabled, an externally adopted (not OmniRoute spawned) Mux 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.
POST /api/services/bifrost/install
Install Bifrost
Installs the @maximhq/bifrost npm package under DATA DIR/services/bifrost/. The package downloads the Go binary on first run. Accepts an optional version field (semver or latest ). LOCAL ONLY — loopback only.
POST /api/services/bifrost/start
Start Bifrost
Starts the supervised Bifrost process. LOCAL ONLY — loopback only.
POST /api/services/bifrost/stop
Stop Bifrost
Stops the supervised Bifrost process. LOCAL ONLY — loopback only.
POST /api/services/bifrost/restart
Restart Bifrost
Restarts the supervised Bifrost process. LOCAL ONLY — loopback only.
POST /api/services/bifrost/update
Update Bifrost
Updates Bifrost to the latest npm version. Stops the running process, installs the new version, and restarts if it was previously running. LOCAL ONLY — loopback only.
GET /api/services/bifrost/status
Get Bifrost status
Returns live and DB status for the supervised Bifrost service. LOCAL ONLY — loopback only.
POST /api/services/bifrost/auto start
Toggle Bifrost auto start
When enabled, Bifrost starts automatically on the next OmniRoute boot. LOCAL ONLY — loopback only.
POST /api/services/bifrost/auto restart adopted
Toggle Bifrost auto restart when adopted
When enabled, an externally adopted (not OmniRoute spawned) Bifrost 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.
POST /api/services/dario/install
Install Dario from npm
Installs the @askalf/dario npm package (Claude account pool proxy) under DATA DIR/services/dario/. Uses execFile (no shell interpolation — hard rule 13). LOCAL ONLY — loopback only.
POST /api/services/dario/start
Start Dario
Spawns the Dario process. Idempotent if already running. LOCAL ONLY — loopback only.
POST /api/services/dario/stop
Stop Dario
Gracefully stops Dario. Idempotent — returns a stopped status even if no supervisor is currently tracking the process. LOCAL ONLY — loopback only.
POST /api/services/dario/restart
Restart Dario
Equivalent to stop() then start() under the operation lock. LOCAL ONLY — loopback only.
POST /api/services/dario/update
Update Dario to a newer npm version
Stops the service (if running), installs the newer npm version, then restarts it if it was running before the update. LOCAL ONLY — loopback only.
GET /api/services/dario/status
Get Dario status
Returns combined live supervisor state and DB metadata, including the auto start / auto restart adopted flags and whether an update is available. LOCAL ONLY — loopback only.
POST /api/services/dario/auto start
Toggle Dario auto start
When enabled, Dario starts automatically on the next OmniRoute boot. LOCAL ONLY — loopback only.
POST /api/services/dario/auto restart adopted
Toggle Dario auto restart when adopted
When enabled, an externally adopted (not OmniRoute spawned) Dario 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.
POST /api/services/dario/admin/login start
Start a Dario account pool login (device code style)
Forwards to the running Dario instance's POST /admin/login/start using the stored admin token. The operator opens the returned authorize url , approves in their own Claude account, then posts the displayed code to /admin/login complete . LOCAL ONLY — loopback only.
POST /api/services/dario/admin/login complete
Complete a Dario account pool login
Forwards to the running Dario instance's POST /admin/login/complete . On success the account becomes routable immediately (Dario hot reloads its pool). LOCAL ONLY — loopback only.
GET /api/services/dario/admin/accounts
List Dario account pool accounts
Forwards to the running Dario instance's GET /admin/accounts . LOCAL ONLY — loopback only.
DELETE /api/services/dario/admin/accounts
Remove a Dario account pool account
Forwards to the running Dario instance's DELETE /admin/accounts/<alias . The alias is taken from a ?alias= query param or a { alias } JSON body. LOCAL ONLY — loopback only.
GET /api/services/dario/admin/import from omniroute
List OmniRoute claude connections eligible for Dario import
Returns eligible OmniRoute claude OAuth provider connections (metadata only — id/name/email/org tier, never tokens) so the UI can offer a picker when more than one exists. LOCAL ONLY — loopback only.
POST /api/services/dario/admin/import from omniroute
Import an OmniRoute claude connection's OAuth tokens into Dario
Writes the source connection's access/refresh token pair directly into Dario's own account file store ( ~/.dario/accounts/<alias .json ), reusing the shared Claude Code OAuth client id, then restarts the Dario supervisor so it picks up the new account. LOCAL ONLY — loopback only.
GET /api/services/{name}/logs
Stream service logs via SSE
Returns a Server Sent Events stream from the service's in memory ring buffer (5 MB, circular). Sends a snapshot event with historical lines first, then live log events, plus a heartbeat every 15 s. LOCAL ONLY — loopback only.
Payloads
See the full OpenAPI specification at GET /api/openapi/spec or docs/openapi.yaml for detailed request/response schemas.