viberelay
Multi-provider Claude API proxy. Point claude at it, share one pool of Claude / Codex / Copilot / Ollama accounts across your agents, and get round-robin + automatic failover for free.
- Proxy + daemon — local HTTP server that speaks Anthropic, OpenAI, and OpenAI-chat APIs and forwards to a pool of upstream accounts managed by
cli-proxy-api.
- Model groups — alias tiers like
high, mid, low that map to one or more real models. Pick a distribution strategy per group: round-robin, weighted (e.g. 70/20/10 split), or primary + fallback. Failover on errors works under all three.
- Workspace labels — same email across multiple ChatGPT team workspaces is auto-disambiguated (plan + workspace id suffix); set a custom display name per account from the dashboard.
- Profile system — per-workspace JSON profiles that wire
claude to the proxy with your chosen group aliases for opus/sonnet/haiku, optional clp-style account isolation.
- Multi-machine —
viberelay sync mirrors auth tokens / settings (and optionally ~/.claude config + viberelay profiles) over SSH; viberelay use remote <host> tunnels a remote daemon to 127.0.0.1:8327 so every client (Claude Code, openclaw, SwiftBar) keeps using the same URL.
- OpenClaw integration —
viberelay openclaw setup writes a provider into ~/.openclaw/openclaw.json with your live model groups, switchable from any chat (Telegram, Discord, …) via /model viberelay/<group>.
- CLI — one binary, zero Node runtime required on the target machine; self-updates from GitHub releases.
- Web dashboard — provider toggles, account switches, 5h / weekly quota countdowns, group editor with strategy picker, custom labels, live logs.
Installation
One command per platform. All binaries are self-contained — no Node or Python runtime required.
macOS
curl -fsSL https://github.com/YusufLisawi/viberelay/releases/latest/download/install.sh | bash
Installs to ~/.viberelay and symlinks viberelay / viberelay-daemon into ~/.local/bin. Binaries are re-codesigned after extraction so Gatekeeper accepts them.
Linux
curl -fsSL https://github.com/YusufLisawi/viberelay/releases/latest/download/install.sh | bash
Same flow as macOS. x86_64 and arm64 both supported. On headless boxes set VIBERELAY_AUTO_SERVICE=1 before piping to skip the interactive prompt and enable the systemd --user unit.
Windows (PowerShell)
irm https://github.com/YusufLisawi/viberelay/releases/latest/download/install.ps1 | iex
After install
- Make sure
~/.local/bin is on $PATH (the installer prints a reminder if it isn't). Add this to your shell rc:
export PATH="$HOME/.local/bin:$PATH"
- The installer asks "Start viberelay automatically at login? [Y/n]" — say yes and it registers a launchd agent (macOS) or systemd
--user unit (Linux). Pre-set VIBERELAY_AUTO_SERVICE=1 to skip the prompt, or VIBERELAY_NO_SERVICE=1 to opt out.
- Verify:
viberelay --version
viberelay status # prints daemon health + account summary
- Sign in to at least one provider via the web UI:
viberelay dashboard # opens http://127.0.0.1:8327/dashboard
- Create a profile and run Claude Code through the proxy:
viberelay p c # interactive wizard: name + opus/sonnet/haiku groups
viberelay run -d vibe # launch `claude` with profile env (-d = --dangerously-skip-permissions)
- Optional desktop widget showing live pool usage:
viberelay menubar install # macOS: auto-installs SwiftBar via brew, drops plugin in, launches it
viberelay appindicator install # GNOME desktops: installs the top-bar indicator helper
Environment overrides (installer)
| Variable | Effect |
|---|
VIBERELAY_PREFIX | Install prefix (default ~/.viberelay) |
VIBERELAY_BIN_DIR | Where viberelay / viberelay-daemon are symlinked (default ~/.local/bin) |
VIBERELAY_VERSION | Pin a specific release tag (default latest) |
VIBERELAY_AUTO_SERVICE | 1 = enable autostart silently |
VIBERELAY_NO_SERVICE | 1 = skip autostart entirely |
GITHUB_TOKEN | Auth for private-repo downloads / rate-limit relief |
Uninstall
viberelay autostart disable # remove service
viberelay stop
rm -rf ~/.viberelay ~/.local/bin/viberelay ~/.local/bin/viberelay-daemon
Quick start
The installer asks once whether to enable daemon auto-start at login (launchd
on macOS, systemd --user on Linux). Say yes and viberelay is up from the next
boot onward — no manual start needed.
End-to-end, from zero to running Claude Code through the proxy: