Catalog npm
PACKAGE EXPLORERView in registry

9router-backend

npm

9Router v2 — Express Backend (API, SSE, DB, Auth, MITM)

Versions collected2
Direct dependencies32From release 0.6.256
Last observed20 Oct, 21:41 UTC

README

Current package documentation

FSRouter

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.


Screenshots

Login PageQuota Tracker
Login PageQuota Tracker

Features

  • OpenAI-compatible API — works with any client that supports /v1/chat/completions, /v1/images/generations, /v1/audio/speech, /v1/embeddings, etc.
  • Multi-provider routing — Cloudflare Workers AI, OpenAI, Anthropic, Gemini, Groq, and many more
  • Cloudflare Workers AI Automation — automates account registration and API key extraction with Playwright + 2Captcha + FSMail temp mail
  • Dashboard UI — manage providers, connections, proxy pools, CLI tools, and automation from a modern dark-mode interface
  • OIDC / Password authentication — single sign-on or local credentials
  • Agent Skills — ready-to-use SKILL.md files for Claude, Gemini, Codex, and other AI coding agents
  • SQLite backend — zero-dependency local database, no external services required

Architecture

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

Quick Start

Requirements

  • Node.js 20+
  • Python 3.10+ (for automation features)
  • Chromium (for Playwright automation)

Install

git clone https://github.com/nexusrouters/fsrouter.git
cd FSRouter
npm install

Development

npm run dev          # Start both backend + frontend concurrently
npm run backend      # Backend only (port 3001)
npm run frontend     # Frontend only (port 5177)

Environment Variables

Copy and configure the backend environment:

cp backend/.env.template backend/.env

Key variables:

VariableDescription
PORTBackend server port (default: 3001)
REQUIRE_LOGINEnable authentication (true/false)
JWT_SECRETSecret for JWT signing
ADMIN_PASSWORDDashboard admin password

Production Deployment

1. Build Frontend

cd frontend && npm run build

2. Start Backend

cd backend && npm start

3. Nginx Reverse Proxy

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.


Cloudflare Workers AI Automation

The automation module automatically registers Cloudflare Workers AI accounts:

  1. Configure FSMail temp mail credentials in Dashboard → Automation → Settings
  2. Add a 2Captcha API key for Turnstile solving
  3. Add email accounts in the Automation tab and click Run
  4. API keys are extracted and added to FSRouter automatically

Agent Skills

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.


API Reference

EndpointDescription
GET /api/healthHealth check
GET /v1/modelsList available chat/LLM models
POST /v1/chat/completionsChat completions (streaming supported)
POST /v1/images/generationsImage generation
POST /v1/audio/speechText-to-speech
POST /v1/audio/transcriptionsSpeech-to-text
POST /v1/embeddingsText embeddings
GET /v1/searchWeb search

License

MIT — see LICENSE


Acknowledgements

🙏 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.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 2

Collected releases
VersionPublishedDirect dependenciesOpen version
0.6.256Registry latest27 Jul 202632
0.6.22724 Jul 202630

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 21:41 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:c51f6b86b807137ceb2a950c680889badade93fe4ab5fee4688926d411e88085