Endpoint & Key
Go Engine

Endpoint & Key

The base URL your clients talk to, and the keys that authorize them

api API Endpoint checking…
Local
Docker
Domain

Set a domain when the gateway is reached through a tunnel or proxy and the address in your browser is not the one clients should use. Leave empty to use the address this page was loaded from.

🔐 Security
Require API key On

Every request to /v1/* must carry a valid key. With this off, only this machine can reach the proxy.

Dashboard session Scoped

A login cookie only opens /api/dashboard/* and /api/oauth/*. It can never reach the model proxy.

🔑 API Keys

Keys for authorized clients connecting to 9Router

Loading…
Token & Cost Trend
Loading…
Loading provider…

Provider Connections

Upstream AI accounts organized strictly by functional category

Loading connections...

Model Combos

Multi-provider aliases and automated fallback cascades

Loading combos...

Settings

Dashboard credentials, backup and reverse-proxy configuration

🔐 Security
Change Password
Update the dashboard sign-in password.
Reset Password
Restore the built-in default. Loopback only.
💾 Backup & Restore
Download Backup
One JSON file with every connection, API key, combo and setting.
Restore From Backup
Full replace, not a merge. Usage history is kept.

🌐 Cloudflare / Reverse Proxy

alt_route Trust proxy headers

Reads X-Forwarded-For for the real client IP. Off, one attacker's wrong guesses lock out everyone.

⚠️ Enable only once the port is not reachable directly.

lock Secure session cookie

Adds the Secure flag so the login cookie is never sent over plain HTTP. Turn on when the public URL is HTTPS.

dns Listen address

Fixed at start — changing it needs a restart with HOST=127.0.0.1.

HOST
—
PORT
—

Proxy Pools

Egress pools your providers route through, and whether each one can actually reach the internet

Token Saver

Compress what goes in (RTK, Headroom) and what comes out (Caveman, Ponytail). Send X-9Router-Token-Saver: off to skip all of it for one request.

🦀 RTK (Rust Token Killer)

Compresses tool output (git diff, grep, ls, tree, log dumps) in place before the request leaves the proxy.

20-40% fewer input tokens

🦴 Caveman

Injects a terse-style system prompt: technical substance stays exact, filler goes.

✂️ Ponytail

Biases the model toward minimal code: YAGNI first, stdlib over dependencies, deletion over addition.

🛡️ Prompt Injection Guard

Flags adversarial system-prompt extraction attempts in the console log. Tag only — a flagged request is never blocked.

Hardened

🧠 Headroom

Checking…

Optional external proxy. Sends the conversation to /v1/compress before routing, so long histories shrink without changing the client.

Fail-open: an unreachable or slow proxy costs the request its compression, never its success.

monitor_heart Resources

● Connecting...
Loading resource metrics…
Models served by /v1/models: …

terminal Live Console Log

● Connecting... 0 lines
Waiting for log events...