Features Vercel AI Gateway: support embeddings, images and credit usage (#1183) Add MiMo Free no-auth provider (#1789) Vertex: support ADC authorized_user credential Cowork: re-enable Claude Cowork with preset-only stdio MCP Codex: bulk add accounts via JSON (#1719) Kiro: enable multi-endpoint failover for GenerateAssistantResponse (#1722) Fixes Security: re-auth on DB export/import + SSRF guard on web fetch Auth: real client IP rate-limiting + remote default-password guard Cerebras/Mistral: strip unsupported client_metadata from downstream requests (#1742) SiliconFlow: update baseUrl .cn → .com + curate verified model list (#1760) Gemini-to-OpenAI: route unsigned thought parts to reasoning_content (#1752) Claude-to-OpenAI: strip Anthropic billing header from system prompt (#1765) Anthropic-compatible: send Bearer auth for third-party gateways (#1795) Usage-stats: avoid partial stats on initial SSE race (#1767) Proxy: use export default in proxy.js for Next.js 16 middleware detection Claude passthrough: add body normalization GitHub Copilot: refresh missing/expired token on models discovery (#1727) + add mappable gpt-5-mini/gpt-5.4-nano slots for Copilot MITM (#1653) Kiro: auto-resolve profileArn to prevent 403 on IDC login, enhance profile ARN resolution, update endpoint to runtime.us-east-1.kiro.dev (#1713) Tunnel: detect system-installed Tailscale via dual-socket probe (#1723) + non-blocking probes to prevent UI freeze CommandCode: force stream=true in transformRequest (#1706) Qoder: increase timeouts for reasoning models and improve stream handling Dashboard: show provider node name instead of connection name in topology (#1770) + show explicit kind="llm" combos on combos page (#1684) Docs README: add Indonesian 9Router tutorial video (#1709)
49 lines
1.7 KiB
JSON
49 lines
1.7 KiB
JSON
{
|
|
"name": "9router",
|
|
"version": "0.4.80",
|
|
"description": "9Router CLI - Start and manage 9Router server",
|
|
"bin": {
|
|
"9router": "./cli.js"
|
|
},
|
|
"files": [
|
|
"cli.js",
|
|
"src",
|
|
"hooks",
|
|
"app",
|
|
"README.md",
|
|
"LICENSE"
|
|
],
|
|
"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"
|
|
}
|
|
}
|