$ systemctl status babuba
A single process — port 18793 — hosts your gateway, router, agents, channels, workflows and cron. Install once on your hardware, and the entire system runs there.
▸ BABUBA IS A SELF-HOSTED AI AGENT GATEWAY — ONE PROCESS RUNS YOUR ROUTER, AGENTS, CHANNELS, WORKFLOWS AND CRON ON YOUR HARDWARE.
// THE GATEWAY
Every incoming message passes through the LangGraph router. It classifies intent, picks the right agent, starts the right workflow — and hands the reply back through the same channel it arrived on.
[in] "INV-1044 pending, why?" ← whatsapp
[route] intent=reconciliation → fin.accounts
[workflow] match-invoice started
[guardrail] read-only query pass
[out] "Matched 47/47. INV-1044 flagged — freight mismatch ₹3,200. Approve adjustment?" → whatsapp
// CHANNELS
No new app to learn. The same gateway serves every channel — and the router keeps context per user across all of them.
$ wa connect --qr
$ tg connect --token
$ gmail bind --agent finance
$ web chat --open /admin
// WORKFLOWS
Approval chains, onboarding, expense flows, compliance steps — define them as graphs per department. Start one from a chat message, an email, or a cron schedule. Human approvals pause the graph until someone taps.
Chat, email, cron or webhook starts the workflow with a context payload.
$ workflow start --id onboarding
Agents execute steps — generate, verify, fetch, format — advancing the graph.
$ step 2/5 complete
Graph pauses. Approver gets notified on their channel with full context.
$ await approver
Approve / reject / cancel — audited. Graph resumes or rolls back cleanly.
$ audit.log --tail
[trigger] $ workflow start --id onboarding --user ravi ← email
[step 1/5] generate offer letter done
[step 2/5] verify documents done
[gate] approval — offer above ₹12L → waiting for HR admin
[tap] approved → steps 3-5 auto-run
[end] onboarding pack emailed · audit logged
// MEMORY & KNOWLEDGE
Every agent keeps long-term memory (MEMORY.md) plus a searchable knowledge store. Facts, decisions and lessons persist across conversations — and are shared context when they should be.
// BRING YOUR OWN MODEL
Point Babuba at OpenAI, Anthropic, DeepSeek, Ollama or any OpenAI-compatible endpoint. Swap models per agent — cheap model for parsing, top model for drafting. Failover and caching built in.
$ babuba config set agents.finance.model anthropic/claude
$ babuba config set agents.ops.model deepseek/reasoner
▸ provider failover .......... on
▸ semantic cache ............. on
// ROUTER IN ACTION
Every message hits the gateway once. The router picks the agent — or fans out to several at once — then merges the results into one answer.
// NEXT
Your data, your server, your keys — and a full audit trail for every agent action.
OWNERSHIP & SECURITY ▸ LICENSES