NATIVE macOS MENU-BAR APP · PEER-TO-PEER
Your friends’ AI subscriptions, shared.
VibeShare runs a local OpenAI and Anthropic-compatible endpoint on your Mac, then routes the models you don’t pay for to a friend who does — straight Mac-to-Mac, encrypted, with no server in the middle.
- macOS 13+
- ·v1.0
- ·Lives in your menu bar
ANTHROPIC_BASE_URL=http://127.0.0.1:8788 ANTHROPIC_API_KEY=vibeshare claudehttp://127.0.0.1:8788/v1// POINT IT AND GO
One endpoint. Every tool you already use.
ANTHROPIC_BASE_URL=http://127.0.0.1:8788 \
ANTHROPIC_API_KEY=vibeshare \
claudeOpenAI- and Anthropic-compatible. No API key needed locally — any non-empty value works. The integration is the base URL.
// PLAINLY
It’s a menu-bar app. It exposes http://127.0.0.1:8788/v1 locally. Point any OpenAI-compatible tool — or Claude Code — at it. Connect your own providers, optionally share specific models with a friend via a code, and borrow theirs the same way. When you call a model you don’t have, VibeShare auto-routes it to an online friend who shares it and streams the answer back. That’s the whole thing.
// THREE JOBS
Connect your providers. Share a code. Borrow a friend's.
Connect
ConnectedOne-click OAuth for Claude (Anthropic), ChatGPT/Codex (OpenAI), Gemini (Google), Kimi (Moonshot), Antigravity, and xAI (Grok). Credentials stay local in ~/.cli-proxy-api, powered by the bundled open-source CLIProxyAPI engine.
Share
routingGenerate a grant code (VS-XXXX-XXXX-…), pick exactly which providers and models it exposes, and hand it to a friend. Revoke anytime. Watch requests and tokens tick up live.
Borrow
offlinePaste a friend’s code. Their shared models appear in your /v1/models. Call one and it just works — when they’re online.
// THE ARCHITECTURE
There is no VibeShare server. None.
Presence and connection setup — WebRTC offer / answer / ICE — ride on public Nostr relays. But everything is encrypted, so relays only ever see ciphertext.
Once connected, traffic flows directly peer-to-peer over a WebRTC DataChannel — DTLS-encrypted, reliable, ordered. Nostr drops out of the path entirely.
The grant code is the only credential. Both sides derive the same Nostr room and encryption keys from it via HKDF-SHA256.
Sharing is one-directional: your code lets a friend use your models. You only get theirs if they send a code back.
Treat your codes like passwords.
We couldn’t read your traffic if we wanted to — there’s no “we” in the path.
// THE GUARDRAILS
A code is a scoped key — not your whole account.
Sharing only ever exposes what you choose, on the paths an AI client actually needs. The host enforces it on every request.
Share codes like you’d share a Wi-Fi password — with people you actually know.
// the host enforces:
- Only the models you shared on that code — nothing else is reachable.
- Only these paths:
/v1/chat/completions/v1/completions/v1/embeddings/v1/messages - Revoke any code instantly — access ends the moment you do.
- Live per-code request and token counters, so you always see what’s flowing.
An example code’s live counters, shown in-app.
// COMPATIBILITY
If it speaks OpenAI or Anthropic, it speaks VibeShare.
Point the base URL at http://127.0.0.1:8788/v1 — that’s the whole integration. curl it, drop it in your editor’s AI settings, or wire it into a script.
Tested with the tools above; anything OpenAI-compatible should work. If something doesn’t, open an issue.
Everything happens in a tidy menu-bar popover.
No dock icon. No window to manage. It lives in your menu bar (LSUIElement) and stays out of the way. These are live — click through the tabs.
http://127.0.0.1:8788/v1VS-7K2Q-9F4M-A1ZPVS-2H8D-LK51-XR9Vhttp://127.0.0.1:8788/v1// WHO IS THIS FOR?
You pay for Claude Max. Your friend’s on ChatGPT Plus. Another’s on Gemini. Why should any of you be capped at one?
Developers who pay for multiple AI coding subscriptions and want to pool access with a small circle of friends — and use the models you don’t pay for, whenever a friend is online.
Sharing access to a provider account may run against that provider’s Terms of Service — many plans prohibit sharing credentials or access. VibeShare gives you the controls (scoped codes, allow-lists, instant revoke); how you use them is on you. Share with friends, not strangers — and know the rules of the plans you’re pooling. VibeShare ships as-is, no warranty.
- Credentials never leave your Mac.
- Relays see only ciphertext.
- Revoke a code anytime — access ends instantly.
// QUESTIONS
The precise answers.
Is there really no server?
Yes, really. The only third party in the picture is public Nostr relays, used briefly for encrypted presence and handshake — they only ever see ciphertext. Once two Macs connect, traffic flows directly peer-to-peer over a DTLS-encrypted WebRTC DataChannel. There’s nothing in the middle to trust.
Where do my credentials live?
On your Mac, in ~/.cli-proxy-api. They’re never uploaded anywhere. Provider auth is handled by the bundled open-source CLIProxyAPI engine.
What can a friend's code actually do?
Only the exact models you allow-listed on that code, only on chat/completions, embeddings, and messages paths. Nothing else is reachable, and you can revoke the code instantly.
What happens when my friend goes offline?
Their models show as offline and routed calls fail cleanly — you just lose that model until they’re back online. Your own models keep working.
Is it really free?
Yes — MIT-licensed, open source, no account, no telemetry we run. Download it or build it from source.
How stable is this?
It’s v1.0 and works end-to-end today. It’s actively developed, so if you hit a rough edge, please file an issue.
macOS only?
For now, yes — it’s a native SwiftUI menu-bar app for macOS 13 and up.
Spin up your endpoint in a minute.
Share a code in two.
Latest release as a .dmg — ad-hoc signed, so on first launch: right-click → Open.