Back to plugins
9Router Control
v0.1.0 weinguyen

About

9Router Control

Manage your 9Router combos right from the Noctalia bar β€” no web dashboard needed.

  • List combos β€” see every combo with its model chain and routing kind.
  • Reorder models β€” open a combo and move models up/down to change fallback order.
  • Create / rename / delete combos β€” full CRUD from the panel.
  • Change routing kind β€” fallback, round-robin, or fusion.
  • Search β€” filter combos by name or model chain.

Plugin

Field Value
ID weinguyen/9router-control
Widget widget (bar)
Panel panel
Service service

Toggle the panel from the bar widget, or with:

noctalia msg panel-toggle weinguyen/9router-control:panel

Requirements

  • Noctalia v5.0.0 or higher.

  • A running 9Router instance (dashboard) whose REST API the plugin talks to via server_host:server_port.

  • The following external commands, used by the service backend:

    • curl β€” password login posts to /api/auth/login and reads the Set-Cookie header (Noctalia's HTTP binding does not expose response headers).
    • sha256sum, cat, cut, printf β€” compute the CLI authentication token from the machine-id and auth/cli-secret files when the dashboard has login enabled.
    • sleep β€” back-off polling while a CLI token computation is in flight.

    Ordinary (login-disabled) usage needs only curl; the remaining commands are required when dashboard login is enabled.

Usage

Click the 9Router widget on the bar to open the panel.

  • The combo list shows every combo; the search box filters by name or model chain.
  • Select a combo to reorder its models (move up/down) and change its routing kind.
  • Use create / rename / delete to manage combos without touching the web dashboard.

If the dashboard has login enabled and no CLI token is available, the panel shows a login screen where you enter the dashboard password; the plugin then reuses the session cookie for subsequent requests.

Settings

Setting Default Description
Server Host 127.0.0.1 Hostname of the 9Router dashboard.
Server Port 20128 Port of the 9Router dashboard.
Data Directory ~/.9router 9Router data dir, used to compute the CLI token when login is required.
Language auto UI language (auto / English / TiαΊΏng Việt).
Debug Logging off Print debug messages to the Noctalia log.

Notes

  • The plugin talks to the local 9Router REST API (/api/combos). By default the dashboard login is disabled, so plain requests work.
  • When login is enabled, the plugin first tries the 9Router CLI token (computed from the machine-id and auth/cli-secret files, sent as an x-9r-cli-token header). If that isn't available, it falls back to a password login and reuses the session cookie.
  • Reordering writes the new models array via PUT /api/combos/:id.

Development

  • widget.luau β€” bar widget entry.
  • panel.luau β€” chat-style panel surface.
  • service.luau β€” headless API / state backend.
  • translations/ β€” user-facing strings.

Versions

VersionPlugin APIUpdated
v0.1.0 latest3Aug 8, 2026

Older versions stay installable on a Noctalia release whose plugin API is below the latest version's.