9Router Monitor Pro
The definitive real-time token & quota monitor for 9Router AI Gateway directly in your status bar. Supports multi-account quota aggregation, multi-model pinning, remote Cloudflare Tunnels, interactive dashboard, and zero-config local discovery. 📸 Visual Showcase & Feature Tour1. Interactive Webview Dashboard Pro Max (3-Tab Command Center)A comprehensive, zero-latency control center with seamless tabbed navigation: Tab 1 · 📊 Providers & QuotasHigh-performance Fluent Dark Theme grid matrix that gives you an immediate overview of all AI providers connected to 9Router. Features realtime keyword search, dynamic category filter chips (
Tab 2 · 📈 Usage & AnalyticsReal-time aggregated monitoring with 5 KPI cards (Total Requests, Prompt Tokens, Cached Tokens, Completion Tokens, Est. Cost) and a live historical table of recent requests with HTTP status badges, token in/out ratios, model, and active accounts. Features Date Picker filtering with midnight rollover and configurable auto-reload intervals.
Tab 3 · 🖥️ Live Console LogStream server logs in real time over Server-Sent Events (SSE) directly into an embedded Fluent dark terminal. Features Pause/Resume, Server Clear sync, Auto-scroll, text search/filter, date range navigation, flexible pagination (100, 200, 500, All), and syntax highlighting (
2. Dual Status Bar Widgets & Live Telemetry PulseNever crowd your status bar. 9Router Monitor Pro provides two complementary status bar indicators:
3. Minimalist Hover Intelligence HUDHover over the 9R Log status bar item to trigger the instant Hover Intelligence HUD:
4. Persistent Quick Menu & Advanced ControlsNo more frustrating hover dismissals! Click the status bar metric to open an interactive, keyboard-navigable Quick Menu:
5. Full Command Palette IntegrationEvery single feature is natively exposed to the VS Code Command Palette (
✨ Core Highlights & Architecture
🚀 Getting StartedScenario A: Local Machine (Zero-Config)If 9Router is running locally on the same computer:
Scenario B: Remote Host (Cloudflare Tunnel or Remote IP)If 9Router is running on a remote server, home lab, or separate machine:
🎨 Status Bar Display StylesCustomize the visual density of both the Main Quota Bar and the 9R Log Bar directly via Quick Menu or Settings: 1. Main Quota Monitor Bar (
|
| Style | Preview (Multi-Account) | Preview (Single Account) | Best For |
|---|---|---|---|
| Compact (Default) | 10⭐ · G3.8 9.4K · GW 7.6K |
⭐ Pro-Acc · G3.8 980 |
Clean, high-density daily workflow |
| Detailed | ⭐ 10 acc · G3.8 9.4K/10K (06:16 PM) |
⭐ Pro-Acc · G3.8 980/1K (06:16 PM) |
Full audit & tracking reset schedules |
| Minimal | G3.8 9.4K · GW 7.6K |
G3.8 980 |
Ultra-condensed, minimal screen usage |
2. Dedicated 9R Log Telemetry Bar (aiTokenUsage.logStatusDisplayMode)
| Style | Status Bar Preview | Telemetry Metrics | Best For |
|---|---|---|---|
| Minimal | $(terminal) 9R Log |
Clean icon and label only | Low distraction, simple shortcut |
| Compact (Recommended) | $(terminal) 9R Log · 10.2K req · G3.8 🟢 |
Total requests + last active model + live pulse | Balanced glanceable activity |
| Detailed | $(terminal) 9R Log · 10.2K req · $1015 · G3.8 7.6K/642 🟢 |
Requests + estimated cost + model token IO ratio + pulse | Comprehensive real-time telemetry |
📦 Installation Guide
Option 1 · Official Marketplaces (Recommended)
Visual Studio Code
- Web: Install with one click from the Visual Studio Marketplace.
- In-App: Press
Ctrl+Shift+X, search for9Router Monitor Pro, and click Install. - Quick Open: Press
Ctrl+Pand paste:ext install minhtalent-dev.9router-monitor-pro
Cursor, Windsurf, VSCodium, & Antigravity
- Web: Available directly on the Open VSX Registry.
- In-App: Open the Extensions panel (
Ctrl+Shift+X), search for9Router Monitor Pro, and click Install.
Option 2 · Command Line Interface (CLI)
Run the command for your preferred editor:
# Visual Studio Code
code --install-extension minhtalent-dev.9router-monitor-pro
# Cursor
cursor --install-extension minhtalent-dev.9router-monitor-pro
# Windsurf
windsurf --install-extension minhtalent-dev.9router-monitor-pro
# VSCodium
codium --install-extension minhtalent-dev.9router-monitor-pro
# Antigravity
antigravity --install-extension minhtalent-dev.9router-monitor-pro
Option 3 · Offline VSIX Package
For air-gapped environments or manual installations:
- Download the latest
9router-monitor-pro-1.1.0.vsixfrom GitHub Releases. - Open Extensions view (
Ctrl+Shift+X) -> click the...menu (Views and More Actions) -> select Install from VSIX... - Or install via terminal:
code --install-extension 9router-monitor-pro-1.1.0.vsix --force
⌨️ Commands Reference
All commands are prefixed with 9Router Monitor Pro in the Command Palette (Ctrl+Shift+P):
| Command | Title | Description |
|---|---|---|
aiTokenUsage.openQuickMenu |
Open Interactive Menu |
Open interactive popup menu to pin accounts, pin models, toggle status, and configure styles |
aiTokenUsage.showDetails |
Show Dashboard |
Open the full Webview Dashboard with search, filters, and cards |
aiTokenUsage.openConsoleLog |
Open Live Console Log |
Open Webview Dashboard directly at the Live Console Log tab |
aiTokenUsage.openUsageAnalytics |
Open Usage & Analytics |
Open Webview Dashboard directly at the Usage & Analytics tab |
aiTokenUsage.toggleLogStatusBar |
Toggle Console Log Status Bar Item |
Toggle visibility of the $(terminal) 9R Log status bar button |
aiTokenUsage.setLogStatusDisplayMode |
Set 9R Log Status Bar Style |
Switch 9R Log Bar between Minimal, Compact, and Detailed modes |
aiTokenUsage.setLogTooltipMode |
Set 9R Log Tooltip Detail Mode |
Configure 9R Log hover tooltip detail: All Details, KPI Summary Only, or Logs Only |
aiTokenUsage.toggleLogTooltipMode |
Toggle 9R Log Tooltip Mode |
1-click cycle between All, Summary, and Logs tooltip detail levels |
aiTokenUsage.setLogRefreshInterval |
Set 9R Log Refresh Interval |
Set fast telemetry auto-refresh frequency (3s, 5s, 10s, 15s, 30s, 60s, or custom) |
aiTokenUsage.setDisplayMode |
Set Status Bar Display Style |
Switch Quota Bar between Compact, Detailed, and Minimal styles |
aiTokenUsage.setTooltipMode |
Set Tooltip Detail Level |
Choose between All Details, Aggregate Summary Only, or Account List Only |
aiTokenUsage.toggleTooltipMode |
Toggle Tooltip Mode |
1-click toggle between Summary Only and All Details |
aiTokenUsage.setInterval |
Set Refresh Interval |
Set quota auto-refresh frequency (5s, 10s, 15s, 30s, 60s, 2m, 5m, or custom) |
aiTokenUsage.showDebugLogs |
View Live Debug Output Logs |
Open the diagnostic Output Channel for real-time socket and HTTP traces |
aiTokenUsage.refresh |
Refresh |
Manually trigger immediate quota check with native progress notification |
aiTokenUsage.setConnection |
Set Connection (URL & Password) |
Configure Base URL (Cloudflare Tunnel or Local) and Dashboard Password |
⚙️ Configuration Reference
Customize extension behavior in your settings.json:
| Setting | Type | Default | Description |
|---|---|---|---|
aiTokenUsage.showLogStatusBar |
boolean |
true |
Show dedicated $(terminal) 9R Log status bar item to quickly open Console Log |
aiTokenUsage.logStatusDisplayMode |
string |
"minimal" |
9R Log status bar style: "minimal", "compact" (with reqs & live pulse), or "detailed" (with reqs & cost) |
aiTokenUsage.logTooltipDisplayMode |
string |
"all" |
9R Log tooltip detail: "all" (KPI + recent logs), "summary" (KPI only), or "logs" (recent logs only) |
aiTokenUsage.logStatusBarRefreshIntervalSeconds |
number |
10 |
Fast telemetry refresh rate in seconds (minimum: 3s) |
aiTokenUsage.statusDisplayMode |
string |
"compact" |
Main Quota status bar style: "compact", "detailed", or "minimal" |
aiTokenUsage.tooltipDisplayMode |
string |
"all" |
Main Quota tooltip detail: "all", "summary" (summary only), or "accounts" (accounts only) |
aiTokenUsage.refreshIntervalSeconds |
number |
60 |
Quota auto-refresh frequency in seconds (minimum: 5s) |
aiTokenUsage.apiBaseUrl |
string |
"http://localhost:20128" |
9Router Base URL (e.g. http://localhost:20128 or https://*.trycloudflare.com) |
aiTokenUsage.authMode |
string |
"auto" |
Authentication method: "auto", "password", or "token" |
aiTokenUsage.statusBarQuota |
string |
"session" |
Fallback quota for status bar when no model is explicitly pinned |
aiTokenUsage.providersPath |
string |
"/api/providers?..." |
Endpoint to fetch provider account connections |
aiTokenUsage.usagePathTemplate |
string |
"/api/usage/{id}" |
Endpoint template to fetch quota by provider ID |
🛡️ Security & Privacy
- Encrypted Local Storage: Your 9Router password, session token, and API keys are stored exclusively in VS Code's encrypted
SecretStorage. - Zero Telemetry: 9Router Monitor Pro does not collect, track, or transmit any analytics, usage stats, or private tokens to any third-party server.
- Direct Communication: Network traffic is strictly peer-to-peer between your IDE and your designated 9Router host.
📄 License & Author
- Author: Minhtalent-dev
- Repository: github.com/minhtalent-dev/9router-monitor-pro
- VS Code Marketplace: minhtalent-dev.9router-monitor-pro
- Open VSX Registry: minhtalent-dev/9router-monitor-pro
- License: Released under the MIT License. © 2026 Minhtalent-dev. All rights reserved.







