Observed since 20 Oct, 21:41 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
9router-ray
9Router Ray CLI - Start and manage 9Router server
Never stop coding. Save 20-40% tokens with RTK + auto-fallback to FREE & cheap AI models.
Connect All AI Code Tools (Claude Code, Cursor, Antigravity, Copilot, Codex, Gemini, OpenCode, Cline, OpenClaw...) to 40+ AI Providers & 100+ Models.
Stop wasting money, tokens and hitting limits:
9Router solves this:
Option 1 — npm (recommended for desktop):
npm install -g 9router
9router
# Or run directly with npx
npx 9router
Option 2 — Docker (server/VPS):
docker run -d --name 9router -p 20128:20128 \
-v "$HOME/.9router:/app/data" -e DATA_DIR=/app/data \
decolua/9router:latest
Published images: Docker Hub • GHCR (multi-platform amd64/arm64).
🎉 Dashboard opens at http://localhost:20128
2. Connect a FREE provider (no signup needed):
Dashboard → Providers → Connect Kiro AI (free Claude unlimited) or OpenCode Free (no auth) → Done!
3. Use in your CLI tool:
Claude Code/Codex/OpenClaw/Cursor/Cline Settings:
Endpoint: http://localhost:20128/v1
API Key: [copy from dashboard]
Model: kr/claude-sonnet-4.5
That's it! Start coding with FREE AI models.
9router # Start with default settings
9router --port 8080 # Custom port
9router --no-browser # Don't open browser
9router --skip-update # Skip auto-update check
9router --help # Show all options
Dashboard: http://localhost:20128/dashboard
Claude-Code • OpenClaw • Codex • OpenCode • Cursor • Antigravity • Cline • Continue • Droid • Roo • Copilot • Kilo Code • Gemini CLI • Qwen Code • iFlow • Crush • Crusher • Aider
Any tool supporting OpenAI/Claude-compatible API works.
~/.9router/db/data.sqlite%APPDATA%/9router/db/data.sqlite/app/data/db/data.sqlite (mount $HOME/.9router to persist)Full docs, advanced setup, video tutorials & development guide:
MIT License - see LICENSE for details.
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
reactEnvironment{
"local_name": "react",
"alias": false,
"peer_metadata": null
} | 19.2.1 | runtime |
enquirerEnvironment{
"local_name": "enquirer",
"alias": false,
"peer_metadata": null
} | ^2.4.1 | runtime |
react-domEnvironment{
"local_name": "react-dom",
"alias": false,
"peer_metadata": null
} | 19.2.1 | runtime |
node-forgeEnvironment{
"local_name": "node-forge",
"alias": false,
"peer_metadata": null
} | ^1.3.3 | runtime |
node-machine-idEnvironment{
"local_name": "node-machine-id",
"alias": false,
"peer_metadata": null
} | ^1.1.12 | runtime |
esbuildEnvironment{
"local_name": "esbuild",
"alias": false,
"peer_metadata": null
} | ^0.25.12 | development |
nodemonEnvironment{
"local_name": "nodemon",
"alias": false,
"peer_metadata": null
} | ^3.1.14 | development |
Source distribution
{
"shasum": "6f0ff4242d8f75c77a6dce746f9aac30d7e52d9b",
"tarball": "https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.22.tgz",
"fileCount": 3126,
"integrity": "sha512-pC1jexQ3VastPiUZAnNIXZTHpnpUiNYg+ippes5BxiEN5eSi+oxprMlQPaSEwRviinLVEQSG5LLm6vyJ5zku/w==",
"signatures": [
{
"sig": "MEYCIQC28DQv8KFHYjBGTjCDoV3B1/aVdwcOzoqyxw0AaHbdDAIhAMOSE3hu1oO1BiyOKtLLMYerrKki045gdkhHOz3zYTh5",
"keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"
}
],
"unpackedSize": 47604864
}Observed since 20 Oct, 21:41 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:84b180e7c6697707b52c5ae6d3d48cbbb080a79abaad48cb2d7bdbd06fd8ffdf