{"_id":"9router-cldb","name":"9router-cldb","dist-tags":{"latest":"0.5.8"},"versions":{"0.5.8":{"name":"9router-cldb","version":"0.5.8","description":"9Router CLI - Start and manage 9Router server","bin":{"9router-cldb":"cli.js"},"scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","publish:cli":"npm run build && npm publish","postinstall":"node hooks/postinstall.js","prepublishOnly":"npm run build"},"dependencies":{"enquirer":"^2.4.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12","react":"19.2.1","react-dom":"19.2.1"},"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","engines":{"node":">=18.0.0"},"keywords":["9router","cli","proxy","ai","api"],"license":"MIT","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_id":"9router-cldb@0.5.8","_nodeVersion":"22.17.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-KZ0LFvnqDf/2JcpfIdc6TZoeyQ5H8dEVEDuOAVXlrCNg01P8CDsyVsJR4ixOieXGFfWRGfH+efA7+1XaSfU7xA==","shasum":"e685dcc94170616f75f24f6998e0365a99d6fdcf","tarball":"https://registry.npmjs.org/9router-cldb/-/9router-cldb-0.5.8.tgz","fileCount":3077,"unpackedSize":47225635,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCxfNCQP2G7JHtPBsY5D4Qw+hIPlclxveJ29dO2cLd/ZgIhALnd6pZgCi1+ECWtblh9K9kvTL0G022Ncrp5penRVxMl"}]},"_npmUser":{"name":"ddung.531","email":"dungld.531@gmail.com"},"directories":{},"maintainers":[{"name":"ddung.531","email":"dungld.531@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/9router-cldb_0.5.8_1782192168077_0.49413825617075546"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-23T05:22:48.026Z","0.5.8":"2026-06-23T05:22:48.459Z","modified":"2026-06-23T05:22:48.737Z"},"maintainers":[{"name":"ddung.531","email":"dungld.531@gmail.com"}],"description":"9Router CLI - Start and manage 9Router server","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","readme":"# 9Router - FREE AI Router & Token Saver\n\n**Never stop coding. Save 20-40% tokens with RTK + auto-fallback to FREE & cheap AI models.**\n\n**Connect All AI Code Tools (Claude Code, Cursor, Antigravity, Copilot, Codex, Gemini, OpenCode, Cline, OpenClaw...) to 40+ AI Providers & 100+ Models.**\n\n[![npm](https://img.shields.io/npm/v/9router.svg)](https://www.npmjs.com/package/9router)\n[![Downloads](https://img.shields.io/npm/dm/9router.svg)](https://www.npmjs.com/package/9router)\n[![Docker Pulls](https://img.shields.io/docker/pulls/decolua/9router.svg?logo=docker&label=Docker%20pulls)](https://hub.docker.com/r/decolua/9router)\n[![GHCR](https://img.shields.io/badge/GHCR-decolua%2F9router-blue?logo=github)](https://github.com/decolua/9router/pkgs/container/9router)\n[![License](https://img.shields.io/npm/l/9router.svg)](https://github.com/decolua/9router/blob/main/LICENSE)\n\n<a href=\"https://trendshift.io/repositories/22628\" target=\"_blank\"><img src=\"https://trendshift.io/api/badge/repositories/22628\" alt=\"decolua%2F9router | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"/></a>\n\n[🌐 Website](https://9router.com) • [📖 Full Docs](https://github.com/decolua/9router)\n\n---\n\n## 🤔 Why 9Router?\n\n**Stop wasting money, tokens and hitting limits:**\n\n- ❌ Subscription quota expires unused every month\n- ❌ Rate limits stop you mid-coding\n- ❌ Tool outputs (git diff, grep, ls...) burn tokens fast\n- ❌ Expensive APIs ($20-50/month per provider)\n\n**9Router solves this:**\n\n- ✅ **RTK Token Saver** - Auto-compress tool_result, save 20-40% tokens\n- ✅ **Maximize subscriptions** - Track quota, use every bit before reset\n- ✅ **Auto fallback** - Subscription → Cheap → Free, zero downtime\n- ✅ **Multi-account** - Round-robin between accounts per provider\n- ✅ **Universal** - Works with any OpenAI/Claude-compatible CLI\n\n---\n\n## ⚡ Quick Start\n\n**Option 1 — npm (recommended for desktop):**\n\n```bash\nnpm install -g 9router\n9router\n\n# Or run directly with npx\nnpx 9router\n```\n\n**Option 2 — Docker (server/VPS):**\n\n```bash\ndocker run -d --name 9router -p 20128:20128 \\\n  -v \"$HOME/.9router:/app/data\" -e DATA_DIR=/app/data \\\n  decolua/9router:latest\n```\n\nPublished images: [Docker Hub](https://hub.docker.com/r/decolua/9router) • [GHCR](https://github.com/decolua/9router/pkgs/container/9router) (multi-platform amd64/arm64).\n\n🎉 Dashboard opens at `http://localhost:20128`\n\n**2. Connect a FREE provider (no signup needed):**\n\nDashboard → Providers → Connect **Kiro AI** (free Claude unlimited) or **OpenCode Free** (no auth) → Done!\n\n**3. Use in your CLI tool:**\n\n```\nClaude Code/Codex/OpenClaw/Cursor/Cline Settings:\n  Endpoint: http://localhost:20128/v1\n  API Key:  [copy from dashboard]\n  Model:    kr/claude-sonnet-4.5\n```\n\nThat's it! Start coding with FREE AI models.\n\n---\n\n## 🚀 CLI Options\n\n```bash\n9router                    # Start with default settings\n9router --port 8080        # Custom port\n9router --no-browser       # Don't open browser\n9router --skip-update      # Skip auto-update check\n9router --help             # Show all options\n```\n\n**Dashboard**: `http://localhost:20128/dashboard`\n\n---\n\n## 🛠️ Supported CLI Tools\n\nClaude-Code • OpenClaw • Codex • OpenCode • Cursor • Antigravity • Cline • Continue • Droid • Roo • Copilot • Kilo Code • Gemini CLI • Qwen Code • iFlow • Crush • Crusher • Aider\n\nAny tool supporting OpenAI/Claude-compatible API works.\n\n---\n\n## 💾 Data Location\n\n- **macOS/Linux**: `~/.9router/db/data.sqlite`\n- **Windows**: `%APPDATA%/9router/db/data.sqlite`\n- **Docker**: `/app/data/db/data.sqlite` (mount `$HOME/.9router` to persist)\n\n---\n\n## 📚 Documentation\n\nFull docs, advanced setup, video tutorials & development guide:\n\n- **GitHub**: https://github.com/decolua/9router\n- **Full README**: https://github.com/decolua/9router/blob/main/app/README.md\n- **Website**: https://9router.com\n\n---\n\n## 🙏 Acknowledgments\n\n- **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** - Original Go implementation\n\n## 📄 License\n\nMIT License - see [LICENSE](LICENSE) for details.\n","readmeFilename":"README.md","_rev":"1-719ddb7bf06439dc34069c744b60dd82"}