{"_id":"10router","name":"10router","dist-tags":{"latest":"0.6.0"},"versions":{"0.6.0":{"name":"10router","version":"0.6.0","description":"10router CLI - Start and manage 10router server","bin":{"10router":"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.","comment_datadir":"The on-disk data directory stays `~/.9router` (and `%APPDATA%/9router` on Windows) after the 10router rebrand — retained for compatibility with existing installs, not a missed rename.","repository":{"type":"git","url":"git+https://github.com/some-du6e/10router.git"},"engines":{"node":">=18.0.0"},"keywords":["10router","cli","proxy","ai","api"],"license":"MIT","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"allowScripts":{"esbuild@0.25.12":true},"gitHead":"15223724c3e1ad898e84ef6e0cc1686cbafc8290","_id":"10router@0.6.0","bugs":{"url":"https://github.com/some-du6e/10router/issues"},"homepage":"https://github.com/some-du6e/10router#readme","_nodeVersion":"26.4.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-/6vHoUf6m7vi1U11/9OdHC8yUmrxNBAdw+wm2dBWNpt7gTmeX1+nB0BW1pedIKoO8vitbMuHHZHCZnwpkQu5nA==","shasum":"6ff0ae46de1e832c7e3b2b145c21aee931356e81","tarball":"https://registry.npmjs.org/10router/-/10router-0.6.0.tgz","fileCount":3191,"unpackedSize":49183060,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFdw+iFj8DaSs3BM7Fni26bzmZviroWOlERusUIsnN/qAiBLYDOYdjV/uuDBbgygd3v3EbGSeMSTEk7M+Gtj1YjuUw=="}]},"_npmUser":{"name":"some-du6e","email":"me@karimeltaib.com"},"directories":{},"maintainers":[{"name":"some-du6e","email":"me@karimeltaib.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/10router_0.6.0_1786506274945_0.4501257596809527"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-12T03:44:34.876Z","0.6.0":"2026-08-12T03:44:35.352Z","modified":"2026-08-12T03:44:35.556Z"},"maintainers":[{"name":"some-du6e","email":"me@karimeltaib.com"}],"description":"10router CLI - Start and manage 10router server","homepage":"https://github.com/some-du6e/10router#readme","keywords":["10router","cli","proxy","ai","api"],"repository":{"type":"git","url":"git+https://github.com/some-du6e/10router.git"},"bugs":{"url":"https://github.com/some-du6e/10router/issues"},"license":"MIT","readme":"# 10router - 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/10router.svg)](https://www.npmjs.com/package/10router)\n[![Downloads](https://img.shields.io/npm/dm/10router.svg)](https://www.npmjs.com/package/10router)\n[![Docker Pulls](https://img.shields.io/docker/pulls/some-du6e/10router.svg?logo=docker&label=Docker%20pulls)](https://hub.docker.com/r/some-du6e/10router)\n[![GHCR](https://img.shields.io/badge/GHCR-some-du6e%2F10router-blue?logo=github)](https://github.com/some-du6e/10router/pkgs/container/10router)\n[![License](https://img.shields.io/npm/l/10router.svg)](https://github.com/some-du6e/10router/blob/main/LICENSE)\n\n<a href=\"https://trendshift.io/repositories/22628\" target=\"_blank\"><img src=\"https://trendshift.io/api/badge/repositories/22628\" alt=\"some-du6e%2F10router | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"/></a>\n\n[📖 Full Docs](https://github.com/some-du6e/10router)\n\n---\n\n## 🤔 Why 10router?\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**10router 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 10router\n10router\n\n# Or run directly with npx\nnpx 10router\n```\n\n**Option 2 — Docker (server/VPS):**\n\n```bash\ndocker run -d --name 10router -p 20128:20128 \\\n  -v \"$HOME/.9router:/app/data\" -e DATA_DIR=/app/data \\\n  some-du6e/10router:latest\n```\n\nPublished images: [Docker Hub](https://hub.docker.com/r/some-du6e/10router) • [GHCR](https://github.com/some-du6e/10router/pkgs/container/10router) (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\n10router                   # Start with default settings\n10router --port 8080        # Custom port\n10router --no-browser       # Don't open browser\n10router --skip-update      # Skip auto-update check\n10router --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> The `.9router` directory name is retained for compatibility with existing installs — it was deliberately not renamed with the 10router rebrand.\n\n---\n\n## 📚 Documentation\n\nFull docs, advanced setup, video tutorials & development guide:\n\n- **GitHub**: https://github.com/some-du6e/10router\n- **Full README**: https://github.com/some-du6e/10router/blob/master/README.md\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-f2f8b91b93931157c697cf66e6434366"}