Repository navigation
v1.0.0
release workflow's notes extraction and the dashboard changelog both expect;
the pending-fragment splice now lands under this Unreleased heading instead
of above the file title.
Forked from 9router-go (luqman-v1), upstream decolua/9router — attribution and thanks.
Added
- Per-key governance — daily cost limit, request limit, IP whitelist, per-key system prompt, endpoint permissions, and policy templates applied across multiple keys (serenhope columns).
- Token saver suite — RTK input compression plus anti-slop injector, context squeezer, tool-call fallback, JSON guard, and Responses compact verification.
- Output styles — Caveman and Ponytail directive modes for compressed output.
- Security event log — per-event security log with alerting, TLS stealth hardening, and audit log v2.
- Notifications — notification feed, Telegram release notifications, and multi-target webhooks.
- i18n — Indonesian/English dashboard localization.
- Free-tier catalog — free-tier provider catalog entries with usage/cost tracking, plus custom credits tracking.
- Routing strategies — cache-optimized, auto, quota-weighted, and reset-aware combo routing strategies.
- 3-tier circuit breaker — strike-breaker quota handling across subscription, cheap, and free tiers.
- GCF compression — pre-compressed
.br/.gzdashboard asset serving. - Teams billing — multi-seat/team billing support.
- MCP server and A2A — MCP (Model Context Protocol) server endpoint and agent-to-agent endpoints.
- Config bundle — import/export of configuration bundles.
- Web executors — ChatGPT web executor and browser-based provider executors.
- Dashboard phase 4 — API key metrics, search/filter, bulk create, success rate and loop detection.
- 9RouterX rebranding — full rebrand across README, wiki, skills, and docs; binary
9routerx(9routerx-trayfor the tray companion); module path9routerx/proxy; repositorygithub.com/yanstd888/9routerx; wikiyanstd888.github.io/9routerx.
Changed
- BREAKING: environment variables are renamed from
NINEROUTER_*/9ROUTER_*to the9ROUTERX_*prefix (e.g.9ROUTERX_URL,9ROUTERX_KEY). Migration: rename the variables in your.env, shell profile, and deployment manifests; legacy spellings are still accepted for one release via theinternal/envcompatfallback with a deprecation warning, and are dropped afterwards. - BREAKING: product name
9router-gobecomes 9RouterX — repository links now point atgithub.com/yanstd888/9routerx, the binary and CLI commands are9routerx, the module path is9routerx/proxy, and installers are fetched fromraw.githubusercontent.com/yanstd888/9routerx. - BREAKING: default gateway port
20130→888. Migration: setPORT=20130in your.envto keep the old port.