Skip to main content

VibeLLM

English | 中文

Lightweight local LLM proxy with multiple provider management, privacy protection, and automatic failover for personal use.

Features

  • ✅ Lightweight: Only ~8MB install size (vs 100MB+ for litellm-proxy)
  • ✅ Privacy Protection: Automatically detect PII (personal identifiable information), route simple PII to local LLM, anonymize complex PII for remote LLM and restore automatically
  • ✅ Dual endpoints: Provides both OpenAI-compatible (/v1/chat/completions) and Anthropic-compatible (/v1/messages) localhost endpoints
  • ✅ Multiple provider management: Add/remove/enable/disable providers with CLI
  • ✅ Support local LLMs: Native support for Ollama, llama.cpp, and any OpenAI-compatible local servers
  • ✅ Automatic failover: When you hit rate limit, automatically try the next provider
  • ✅ Latency benchmarking: Test which provider is fastest and auto-select
  • ✅ Format translation: A client configured for OpenAI can call Anthropic/Gemini, and vice versa
  • ✅ Claude Code skill integration: Claude can manage providers for you

Supported Providers

Incoming \ Target OpenAI Anthropic Gemini Local (OpenAI-compatible)
OpenAI ✅ Direct ✅ Translate ✅ Translate ✅ Direct
Anthropic ✅ Translate ✅ Direct ✅ Translate ✅ Translate

Installation

Install from PyPI (recommended)

pip install vibellm

Install from source

git clone https://github.com/easyhealth/VibeLLM.git
cd VibeLLM
pip install -e .

Quick Start

  1. Add your first provider:
vibellm add \
  --name openai \
  --base-url https://api.openai.com/v1 \
  --api-key sk-xxx \
  --default-model gpt-4o
  1. Start the server:
vibellm start --port 8080
  1. Configure your client to use:
  • OpenAI endpoint: http://localhost:8080/v1/chat/completions
  • Anthropic endpoint: http://localhost:8080/v1/messages

CLI Commands

Command Description
vibellm start Start the proxy server
vibellm add Add a new provider
vibellm remove Remove a provider
vibellm list List all providers
vibellm enable <name> Enable a provider
vibellm disable <name> Disable a provider
vibellm default <name> Set default provider
vibellm test <name> Test connectivity to a provider
vibellm benchmark Test latency for all providers
vibellm benchmark --auto-set Test and set fastest as default
vibellm status Show server status

Benchmarking

Find your fastest provider:

vibellm benchmark --auto-set

This will:

  1. Test all enabled providers with a simple request
  2. Measure latency
  3. Automatically set the fastest as the default

Claude Code Skill Installation

To use as a Claude Code skill, add this to your Claude Code skills directory:

ln -s D:/VibeLLM/vibellm-skills/llm_proxy.py ~/.config/claude-code/skills/

Then Claude can respond to natural language commands like:

  • "list providers"
  • "switch default to anthropic"
  • "I'm rate limited, find the fastest provider"
  • "benchmark and set fastest as default"
  • "test my openai provider"

Configuration

Configuration is stored at ~/.config/vibellm/config.yaml:

default_provider: openai-main
providers:
  - name: openai-main
    base_url: https://api.openai.com/v1
    api_key: sk-xxx
    default_model: gpt-4o
    enabled: true
    priority: 1  # lower = higher priority for failover
    last_latency_ms: null

Selecting Specific Provider

You can select a specific provider per request using the X-LLM-Provider header:

X-LLM-Provider: anthropic
POST /v1/chat/completions

This will bypass the default and use the explicitly requested provider.

Dependencies

  • Python 3.10+
  • fastapi
  • uvicorn
  • httpx
  • click
  • pydantic
  • pydantic-settings
  • pyyaml
  • tabulate

Total of 8 packages, all minimal.

Why this vs litellm-proxy?

litellm-proxy is great for production with many features, but it's heavy and pulls in dozens of dependencies. This project is:

  • For personal use on your local machine
  • Much lighter weight (only 8 core dependencies vs 50+ for litellm)
  • Simpler: just local config file, no database
  • Focused on the specific use case: multiple API keys/providers with failover and latency selection

Metadata

Release files for vibellm 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vibellm 0.1.1
File Size Uploaded
vibellm-0.1.1.tar.gz 23.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vibellm 0.1.1
File Interpreter ABI Platform
vibellm-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 49.8 kB

Release files / vibellm-0.1.1.tar.gz

Download URL vibellm-0.1.1.tar.gz
Size 23.9 kB
Tags Source
SHA-256 checksum
How to use checksums
538163ad64cc4f09d86e9899d51914859b0ba6e91f4fadcfef6ca1428a99e6e7
BLAKE2b-256 checksum
How to use checksums
32e36f1204d8b3461b8b1086e7c717c1236bbc7bc88ca8b0dd0bc19df3c403a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.4

Release files / vibellm-0.1.1-py3-none-any.whl

Download URL vibellm-0.1.1-py3-none-any.whl
Size 26.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3b9bddedc36fd4ec8c9c749d22df2a5bb3f142c921727477e5471d1be528e931
BLAKE2b-256 checksum
How to use checksums
17be2405be07aff7a3a99fe882785c7efbb0af23fe0d48f4d62379cc76b0d0c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.4

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page