Observed since 20 Oct, 21:41 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
9Router v2 — Express Backend (API, SSE, DB, Auth, MITM)
A self-hosted AI gateway — one endpoint, many providers, auto-fallback.
FSRouter is a decoupled rewrite of 9Router with a clean separation between a dedicated Express backend and a Vite + React frontend. It exposes an OpenAI-compatible REST API that proxies requests across dozens of AI providers with automatic load balancing, fallback, and key rotation.
| Login Page | Quota Tracker |
|---|---|
/v1/chat/completions, /v1/images/generations, /v1/audio/speech, /v1/embeddings, etc.FSRouter/
├── backend/ # Express server (port 3001)
│ └── src/
│ ├── routes/ # Auto-routed endpoints (/v1, /api, /auth, ...)
│ ├── db/ # SQLite via better-sqlite3
│ └── automation/ # Playwright automation scripts
├── frontend/ # Vite + React SPA (port 5177)
│ └── src/
│ ├── pages/ # Dashboard pages
│ └── shared/ # Components, hooks, constants
└── skills/ # Agent SKILL.md files
git clone https://github.com/nexusrouters/fsrouter.git
cd FSRouter
npm install
npm run dev # Start both backend + frontend concurrently
npm run backend # Backend only (port 3001)
npm run frontend # Frontend only (port 5177)
Copy and configure the backend environment:
cp backend/.env.template backend/.env
Key variables:
| Variable | Description |
|---|---|
PORT | Backend server port (default: 3001) |
REQUIRE_LOGIN | Enable authentication (true/false) |
JWT_SECRET | Secret for JWT signing |
ADMIN_PASSWORD | Dashboard admin password |
cd frontend && npm run build
cd backend && npm start
Use the included nginx.conf to proxy /api and /v1 to the backend while serving the built frontend statically. See docs/deployment-linux.md for a full Linux deployment guide.
The automation module automatically registers Cloudflare Workers AI accounts:
Skills are SKILL.md files for AI coding agents. Paste the entry skill URL into your AI:
Read this skill and use it:
https://raw.githubusercontent.com/nexusrouters/fsrouter/refs/heads/main/skills/fsrouter/SKILL.md
Browse all skills in the Dashboard → Skills page or in the skills/ directory.
| Endpoint | Description |
|---|---|
GET /api/health | Health check |
GET /v1/models | List available chat/LLM models |
POST /v1/chat/completions | Chat completions (streaming supported) |
POST /v1/images/generations | Image generation |
POST /v1/audio/speech | Text-to-speech |
POST /v1/audio/transcriptions | Speech-to-text |
POST /v1/embeddings | Text embeddings |
GET /v1/search | Web search |
MIT — see LICENSE
🙏 Thanks to FSRouter — this project is a fork and architectural rewrite of the original FSRouter monolith. The core routing logic, provider integrations, and many features were inspired by and built upon the excellent work of the FSRouter project.
Download counts and popularity will appear here as the collector receives them.
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 21:41 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:c51f6b86b807137ceb2a950c680889badade93fe4ab5fee4688926d411e88085