Vibe_Router
Lightweight, single-binary, production-grade Rust LLM routing gateway & dashboard with health-aware failover, Claude Code compatibility, and MCP server.
Install / Use
claude mcp add WYSTAF -- npx -y github:WYSTAF/Vibe_RouterIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AI & Machine LearningSupported Platforms
Our assessment of Vibe_Router
Vibe_Router scores 81/100 on our quality scale, 730th of 933 AI & Machine Learning skills we index.
Its MCP Server is 11 KB long, well organised into 14 sections with 13 code examples: a thorough specification that gives an agent plenty to work with.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 2 days ago, so Vibe_Router is actively maintained.
- It is released under the Apache-2.0 license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Vibe_Router compared with similar skills
All 4 of these similar skills score higher than Vibe_Router; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| Vibe_Router (this skill)by WYSTAF | 81 | 3 | 2d ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 106.0k | 4d ago | CLAUDE.md |
| claude-memby thedotmack | 100 | 104.2k | today | CLAUDE.md |
| Understand-Anythingby Egonex-AI | 100 | 88.8k | 3d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 78.2k | today | CLAUDE.md |
Frequently asked questions
- How do I install Vibe_Router?
- Run
claude mcp add WYSTAF -- npx -y github:WYSTAF/Vibe_Router. The install tabs above show the steps for each supported agent. - Which AI agents does Vibe_Router work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is Vibe_Router safe to use?
- It is Apache-2.0-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is Vibe_Router still maintained?
- The repository was last updated 2 days ago, so Vibe_Router is actively maintained.
Skill content
View source on GitHubVibe Router
A single-binary, lightweight, production-grade Rust LLM routing gateway and dashboard with health-aware failover, rate-limit management, multi-key rotation, Claude Code compatibility, and portable zero-wear execution.
Vibe Router provides unified OpenAI (/v1/chat/completions) and Anthropic (/v1/messages) compatibility and routes requests across any combination of local and cloud providers with data-driven fallback chains (combos), automatic retries, exponential backoff, micro-dollar cost tracking, and an embedded Web UI.
Key Features
- Single Lightweight Binary: Compiled to an ~8.8 MB standalone executable. No Node.js runtime, no Python, no external database dependencies.
- Hardware-Aware Adaptive Runtime:
- Disk-First VPS Mode: Minimizes RSS footprint (< 30 MB) and restricts cache to 4 MB for small $5/mo VPS instances.
- RAM-First Portable Mode: Hydrates SQLite into host memory (
:memory:) with periodic crash-safe atomic flush back to disk, providing zero flash wear on USB drives. - Drive-Letter Independence: Normalizes paths with
{{PORTABLE_ROOT}}so changing USB drive letters on Windows never breaks the configuration.
- Universal Client Compatibility:
- OpenAI Compatible: Direct drop-in for OpenAI SDK, Cursor, Cline, OpenCode, and local agents at
http://localhost:20128/v1. - Claude Code (
/v1/messages): Native Anthropic protocol adapter supporting both JSON completions and real-time SSE streaming. Runvibe-router env claude-codeto connect Claude CLI in seconds.
- OpenAI Compatible: Direct drop-in for OpenAI SDK, Cursor, Cline, OpenCode, and local agents at
- Native
Vibe-LinkSynergy Protocol (with Vibe Assembly):- Telemetry response headers:
X-Vibe-Router-Cost-Micros,X-Vibe-Router-Latency-Ms,X-Vibe-Router-Cache, andX-Vibe-Router-Provider. - Inbound role tracking (
X-Vibe-Role: boss | code | debug | judge | chat | hermes) with per-role token & spend accounting. - Judge Retry Bypass (
X-Vibe-Retry: 1): Bypasses the cache and rotates to the next healthy candidate in the chain so code rejected by evaluation judges is retried on an alternative model. - Zero-401 Local Handshake: Synchronizes
.vibe_router_tokenfor seamless local agent authentication.
- Telemetry response headers:
- Multi-Key Pool Rotation & 429 Auto-Cooldown:
- Supports
RoundRobin,LeastLoaded, andWeightedselection strategies across multiple API keys per provider. - Upstream 429 rate-limit responses trigger automatic exponential backoff cooldowns and instantly retry the next available healthy key transparently.
- Supports
- High-Capacity In-Memory Prompt & Stream Cache:
- 256 MB LRU cache hashing
(model_id, temperature, top_p, tools, messages_json)via SHA-256 with sub-millisecond cache hits. - Opt-in stream caching cleanly buffers and replays completed SSE streams.
- 256 MB LRU cache hashing
- Virtual Model Aliasing:
- Map arbitrary model names (e.g.,
gpt-4o,claude-3-7-sonnet) to underlying combos or provider targets via REST, CLI, or Web UI.
- Map arbitrary model names (e.g.,
- Circuit Breakers & Health Probes:
- Per-provider circuit breaker automatically trips to
OPENafter repeated 5xx errors or timeouts, transitions toHALF_OPENfor probing, and resets toCLOSEDon success.
- Per-provider circuit breaker automatically trips to
- Tagged Proxy Pools & Cloudflare Worker Relay:
- Support proxy tier tags (
cf-worker,datacenter,residential,direct). - Deterministic 64-bit FNV-1a sticky IP affinity ensures an API key consistently uses the same proxy to avoid anti-fraud bans.
- Built-in ready-to-deploy Cloudflare Worker reverse-proxy script (
vibe-router relay worker-script).
- Support proxy tier tags (
- Interactive Terminal UI & MCP Server:
vibe-router tui(ortop): Live terminal dashboard displaying RAM profile, spend, latencies, and circuit states.vibe-router mcp: Built-in stdio Model Context Protocol (MCP) server exposing tools to external AI assistants (vibe_router_status,vibe_router_costs,vibe_router_health,vibe_router_set_alias,vibe_router_add_proxy).
- Embedded Web Dashboard:
- Vanilla HTML/CSS/JavaScript interface embedded via
rust-embedwith industrial dark/yellow branding (#F5B800), live token counters (distinguishing reported vs. estimated), USD cost & p50/p95/p99 latency metrics, combo editor, and API playground.
- Vanilla HTML/CSS/JavaScript interface embedded via
Workspace Architecture
Vibe Router is structured as a modular 11-crate Rust workspace with strictly downward, acyclic dependency flow:
vibe-router/
├── Cargo.toml # Workspace manifest
├── ARCHITECTURE.md # Architecture reference
├── vibe-router.toml.example # Documented sample configuration
├── src/main.rs # Minimal CLI driver entrypoint
└── crates/
├── vibe-router-core/ # Core traits, Model, Combo, Candidate, WireFormat, HardwareProfile
├── vibe-router-config/ # TOML parsing, validation, and error classification rule engine
├── vibe-router-health/ # Availability tracking: cooldowns, backoff levels, RPM limits, circuit breakers
├── vibe-router-routing/ # Fallback engine: candidate resolution, retry loop, failover driver
├── vibe-router-translate/ # Wire format translation (OpenAI, Anthropic /v1/messages, SSE decoders)
├── vibe-router-providers/ # HTTP transport, multi-key rotation pools, sticky proxies, CF relay
├── vibe-router-storage/ # Async StorageBackend trait, SQLite WAL, in-memory portable hydration
├── vibe-router-cache/ # In-memory bounded LRU prompt & SSE stream cache with SHA-256 keys
├── vibe-router-ui/ # Embedded static Web UI assets (HTML/CSS/JS) via rust-embed
├── vibe-router-server/ # Axum server: /v1/*, /api/*, embedded dashboard, and Vibe-Link handlers
└── vibe-router-cli/ # Command-line interface, TUI, and stdio MCP server
Quick Start
1. Build from Source
Ensure Rust 1.85+ is installed:
cargo build --release
The resulting binary will be at target/release/vibe-router (or target/release/vibe-router.exe on Windows).
2. Configure Providers
Copy the example configuration:
cp vibe-router.toml.example vibe-router.toml
Edit vibe-router.toml with your providers and keys:
[server]
host = "127.0.0.1"
port = 20128
api_keys = [] # Optional local auth keys
[[providers]]
id = "groq"
display_name = "Groq Cloud"
base_url = "https://api.groq.com/openai/v1/chat/completions"
auth = { scheme = "Bearer", secret = "env:GROQ_API_KEY" }
models = [
{ id = "llama-3.3-70b-versatile" }
]
[[providers]]
id = "ollama"
display_name = "Local Ollama"
base_url = "http://localhost:11434/v1/chat/completions"
auth = { secret = "" }
passthrough = true
[[combos]]
name = "smart-fallback"
description = "Cloud Groq first, local Ollama backup"
models = [
"groq/llama-3.3-70b-versatile",
"ollama/llama3.2"
]
Validate your configuration:
./target/release/vibe-router config validate
3. Run the Server
./target/release/vibe-router serve
┌──────────────────────────────────────────────────────────┐
│ VIBE ROUTER v0.1.0 │
├──────────────────────────────────────────────────────────┤
│ Endpoint: http://127.0.0.1:20128/v1 │
│ Claude: http://127.0.0.1:20128/v1/messages │
│ Dashboard: http://127.0.0.1:20128/ │
│ Auth: Open (no API key required) │
│ Profile: workstation (RAM: 8192MB, Cores: 4) │
│ Providers: 2 │
│ Storage: vibe-router.db │
└──────────────────────────────────────────────────────────┘
Open http://localhost:20128 in your browser to access the dashboard.
Integration Guides
Claude Code
Run Vibe Router and print the shell environment:
./target/release/vibe-router env claude-code
Then export the variables in your shell before launching claude:
export ANTHROPIC_BASE_URL="http://127.0.0.1:20128"
export ANTHROPIC_API_KEY="vibe-router"
claude
OpenAI SDK
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:20128/v1",
api_key="none"
)
response = client.chat.completions.create(
model="smart-fallback", # Target a combo, alias, or provider/model
messages=[{"role": "user", "content": "Explain Rust borrowing in one sentence."}],
stream=True
)
for chunk in response:
content = chunk.choices[0].delta.content or ""
print(content, end="", flush=True)
Model Context Protocol (MCP)
To connect Vibe Router as an MCP tool server for Claude Desktop, Cursor, or Hermes:
{
"mcpServers": {
"vibe-router": {
"command": "/path/to/vibe-router",
"args": ["mcp", "--config", "/path/to/vibe-router.toml"]
}
}
}
CLI Commands
Commands:
serve Start the OpenAI/Anthropic proxy server and dashboard (default)
config Inspect and validate configuration (e.g., config validate)
providers Inspect upstream providers and manage key pools
models List all addressable models, combos, and aliases
combos List configured combos and fallback chains
status Display usage and storage status
costs Display USD cost breakdown and latency metrics (p50/p95/p99)
alias Manage virtual model aliases (set, list)
proxy Manage tagged proxies (add, list)
relay Cloudflare Worker reverse-proxy relay utilities (worker-script)
env Print client environment variables (claude-code)
tui Live terminal status dashboard (alias: top)
mcp Model Context Protocol (MCP) stdio JSON-RPC 2.0 server
cache Inspect and purge in-memory prompt cache (stats, purge)
Testing & Quality
Vibe Router maintains 100% passing tests across all crates with zero warnings:
cargo test --workspace
cargo clippy --workspace --all-targets -- -D warnings
cargo fmt --all -- --check
All integration tests are hermetic and deterministic using an in-process TCP mock upstream that tests real HTTP sockets, chunked SSE streaming, timeouts, disconnects, failover chains, rate limits, and error status classification without relying on external networks or live accounts.
License
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Related Skills
Agent-Reach
106.0kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
claude-mem
104.2kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Understand-Anything
88.8kGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
headroom
78.2kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
