Gambi - LLM Club
Share local LLMs across your network, effortlessly.
Gambi is short for gambiarra: a Brazilian Portuguese idea of creative improvisation under constraints.
Install
curl (recommended)
npm
bun
Features
Local-First
Your data stays on your network. No cloud dependencies, no external APIs.
Resource Sharing
Pool LLM endpoints across your team. Share expensive GPU resources efficiently.
Universal
Works with Ollama, LM Studio, LocalAI, vLLM, and any endpoint exposing OpenResponses or chat/completions.
AI SDK Ready
Drop-in replacement for Vercel AI SDK workflows. Same API, shared resources.
How It Works
┌─────────────────────────────────────────────────────────────┐
│ GAMBI HUB (HTTP) │
│ │
│ Your LLM Pool: │
│ ┌────────────────────────────────────────────────────┐ │
│ │ joao → Ollama llama3 @ 192.168.1.50:11434 │ │
│ │ maria → LM Studio mistral @ 192.168.1.51:1234 │ │
│ │ pedro → vLLM qwen @ 192.168.1.52:8000 │ │
│ └────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
▲ ▲ ▲
│ HTTP │ HTTP │ SSE
│ │ │
┌────┴────┐ ┌─────────┴────────┐ ┌──────┴─────┐
│ SDK │ │ Participants │ │ TUI │
└─────────┘ └──────────────────┘ └────────────┘
1 Start the hub with
gambi serve 2 Create a room with
gambi create 3 Join with your LLM endpoint
4 Use the SDK in your apps
Use Cases
Dev Teams
Share expensive LLM endpoints across your team
Hackathons
Pool resources for AI projects in 24-48h events
Research Labs
Coordinate LLM access across workstations
Home Labs
Share your gaming PC's LLM with your laptop
Education
Classroom environments where students share compute
SDK Example
import { createGambi } from "gambi-sdk";
import { generateText } from "ai";
const gambi = createGambi({
roomCode: "ABC123",
hubUrl: "http://localhost:3000",
});
// Use any available participant
const result = await generateText({
model: gambi.any(),
prompt: "Hello, Gambi!",
});
// Explicit chat completions mode is still available
const legacy = createGambi({
roomCode: "ABC123",
defaultProtocol: "chatCompletions",
});
console.log(result.text);