{"id":45163097,"url":"https://github.com/lobu-ai/lobu","last_synced_at":"2026-05-30T22:00:48.815Z","repository":{"id":321056398,"uuid":"1026981142","full_name":"lobu-ai/lobu","owner":"lobu-ai","description":"Autonomous agents in your organization. Multi-tenant OpenClaw","archived":false,"fork":false,"pushed_at":"2026-05-28T02:23:15.000Z","size":64576,"stargazers_count":147,"open_issues_count":14,"forks_count":19,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-28T02:23:54.230Z","etag":null,"topics":["agent","chatbot","clawdbot","openclaw","personal-assistant"],"latest_commit_sha":null,"homepage":"https://lobu.ai","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lobu-ai.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-07-27T03:49:12.000Z","updated_at":"2026-05-28T01:48:26.000Z","dependencies_parsed_at":"2025-10-27T15:36:50.711Z","dependency_job_id":null,"html_url":"https://github.com/lobu-ai/lobu","commit_stats":null,"previous_names":["buremba/peerbot","termos-dev/termos","lobu-ai/lobu"],"tags_count":53,"template":false,"template_full_name":null,"purl":"pkg:github/lobu-ai/lobu","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lobu-ai%2Flobu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lobu-ai%2Flobu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lobu-ai%2Flobu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lobu-ai%2Flobu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lobu-ai","download_url":"https://codeload.github.com/lobu-ai/lobu/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lobu-ai%2Flobu/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33711018,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-30T02:00:06.278Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","chatbot","clawdbot","openclaw","personal-assistant"],"created_at":"2026-02-20T06:04:53.809Z","updated_at":"2026-05-30T22:00:48.797Z","avatar_url":"https://github.com/lobu-ai.png","language":"TypeScript","funding_links":[],"categories":["Enterprise"],"sub_categories":["Multi-Tenant Solutions"],"readme":"# Lobu — Multi-tenant OpenClaw for Organizations\n\n**Lobu** is an open-source multi-tenant gateway for [OpenClaw](https://github.com/openclaw/openclaw). One sandbox and filesystem per user/channel. Shared memory across contexts. Agents never see secrets.\n\nOpenClaw is a full agent runtime (~800k LOC) but it's [single-tenant by design](https://x.com/steipete/status/2026092642623201379) — every user shares the same filesystem and bash session. Lobu rewrites only the gateway layer (~40k LOC) to be multi-tenant and keeps OpenClaw's Pi harness untouched inside each worker.\n\n**Embedded mode** uses [just-bash](https://www.npmjs.com/package/just-bash) + Nix for reproducible packages. Each user gets an isolated virtual filesystem and bash session at ~50MB per instance — tested at 300 concurrent instances on a single machine, no Docker needed.\n\nEmbed OpenClaw-powered agents into your product, or give your team agents without managing a separate instance per person.\n\nhttps://github.com/user-attachments/assets/d72a9286-0325-4b8b-afc0-c1efe9c96f4e\n\n## Channels \u0026 API\n\n- **REST API** — programmatic agent creation, control, and state. [![API Docs](https://img.shields.io/badge/API_Docs-0096FF?style=for-the-badge\u0026logo=readme\u0026logoColor=white)](https://lobu.ai/reference/api-reference/)\n- **Slack** — multi-channel/DM agents with rich interactivity.\n- **Telegram** — long-polling bot with interactive workflows.\n- **WhatsApp** — WhatsApp Business Cloud API.\n- **Discord** — channel + DM bot support.\n- **Teams** — Microsoft Teams bot.\n\n## Quick Start\n\nScaffold and run via the CLI. Lobu boots as a single Node process with a zero-config embedded Postgres by default (or bring your own — pgvector required — via `DATABASE_URL`).\n\n```bash\nnpx @lobu/cli@latest init my-bot\ncd my-bot\nnpx @lobu/cli@latest run                      # boots the stack and applies your agent\nnpx @lobu/cli@latest chat -c local \"hello\"    # talk to it\n```\n\n`lobu run` (embedded) auto-applies your `lobu.config.ts`, so the scaffolded agent is usable immediately. To use an external Postgres, set `DATABASE_URL` in `.env`; to push later config changes, run `lobu apply`.\n\n## Agent configuration\n\nRuntime configuration is managed through the web app or the same org-scoped REST API used by the CLI:\n\n```bash\nnpx @lobu/cli@latest login\nnpx @lobu/cli@latest org set my-org\nnpx @lobu/cli@latest agent list\n```\n\nLocal `lobu.config.ts` projects are still useful for `lobu validate` and `lobu apply` workflows.\n\n### Deployment\n\nSingle-process Node remains the simplest deployment: run it with `node`, `pm2`, `systemd`, or another process supervisor. The app needs `DATABASE_URL` (Postgres + pgvector) reachable from its environment.\n\n- **Local dev** (contributing to Lobu itself): clone, `make setup`, `make dev` (boots embedded gateway + workers + Vite HMR on `:8787`).\n- **Production (VM/bare metal)**: `bun run --cwd packages/server build:server`, then `node packages/server/dist/server.bundle.mjs` under your process supervisor of choice.\n- **Production (Kubernetes)**: use the public Helm chart in `charts/lobu`:\n  ```bash\n  helm install lobu oci://ghcr.io/lobu-ai/charts/lobu \\\n    --namespace lobu --create-namespace \\\n    -f your-values.yaml\n  ```\n  See `charts/lobu/values.yaml` for the full set of tunables. At minimum supply an\n  ingress host, a `secretName` Secret containing `DATABASE_URL` + `JWT_SECRET` +\n  `BETTER_AUTH_SECRET` + provider API keys, and a `database.existingSecret`.\n\n## Architecture\n\n```mermaid\nflowchart LR\n  Slack[Slack] \u003c--\u003e GW[Gateway]\n  Telegram[Telegram] \u003c--\u003e GW\n  WhatsApp[WhatsApp] \u003c--\u003e GW\n  Discord[Discord] \u003c--\u003e GW\n  API[REST API] \u003c--\u003e GW\n\n  GW \u003c--\u003e PG[(Postgres)]\n  GW --\u003e|spawn| W[Worker]\n\n  subgraph Sandbox\n    W\n  end\n\n  W -.-\u003e|HTTP proxy| GW\n  W -.-\u003e|MCP proxy| GW\n  GW --\u003e|domain filter| Internet((Internet))\n  GW --\u003e|scoped tokens| MCP[MCP Servers]\n```\n\n## Capabilities\n\nEvery Lobu agent ships with tools for autonomous execution and persistence:\n\n| Feature | Built-in Tools |\n| --- | --- |\n| **Autonomous scheduling** — one-time or cron | `ScheduleReminder`, `ListReminders`, `CancelReminder` |\n| **Human-in-the-loop** — pause on button input, resume on answer | `ask_user` |\n| **Full Linux toolbox** — sandboxed shell, file edit, search | `bash`, `read`, `write`, `edit`, `grep`, `find`, `ls` |\n| **Conversation context** — pull earlier thread messages | `get_channel_history` |\n| **File \u0026 media delivery** — share reports, charts, audio | `upload_file`, `generate_audio`, `generate_image` |\n| **Skills** — extend via `lobu.config.ts` or admin settings | `lobu.config.ts`, Settings UI |\n| **Connected APIs** — GitHub, Google, etc. with Lobu-managed OAuth | MCP tools via Lobu |\n| **Managed MCP proxy** — any MCP server with secret injection | [MCP Proxy](docs/SECURITY.md#credentials) |\n| **Nix + external MCP** — browsing, headless UI, custom tools | `bash` (Nix), MCP servers |\n\n### Popular MCP integrations\n\n- **Productivity:** Google Calendar, Slack, Jira, Notion\n- **Development:** GitHub, GitLab, Postgres, Docker\n- **Knowledge:** Wikipedia, Brave Search, YouTube, PDF Search\n\n### Design\n\n- **Gateway as single egress.** All worker traffic — internet and MCP — routes through the gateway. Workers have no direct network access; domain filtering controls which services they reach.\n- **MCP proxy.** Gateway resolves `${env:VAR}` secrets and routes to upstream MCP servers. OAuth for third-party APIs stays in Lobu — workers never see tokens.\n- **Multi-platform, multi-tenant.** One instance serves Slack, Telegram, WhatsApp, Discord, Teams, and the REST API. Each channel/DM gets its own runtime, model, tools, credentials, and Nix packages.\n- **OpenClaw runtime.** Workers run [OpenClaw Pi Agent](https://openclaw.ai/) with per-agent model selection. Supports OpenClaw skills and `IDENTITY.md` / `SOUL.md` / `USER.md` workspace files.\n- **Multi-provider auth.** 16 LLM providers (OpenAI, Gemini, Groq, DeepSeek, Mistral, …) via a config-driven registry. API keys stay on the gateway.\n\n## How Lobu Differs\n\nLobu is the **infrastructure layer** for autonomous agents. Frameworks like LangChain or CrewAI help you *write* agent logic; Lobu is the delivery layer that runs those agents at scale — sandboxing, persistence, and messaging connectivity.\n\n| | Lobu | OpenClaw |\n| --- | --- | --- |\n| Scale to zero | Workers scale down when idle | Requires always-on machine |\n| Multi-tenant | Single bot, per-channel/DM isolation | One instance per setup |\n| Multi-platform | Slack, Telegram, WhatsApp, Discord, Teams, REST API | [15+ chat platforms](https://openclaw.ai/integrations) |\n| Runtime | OpenClaw engine (sandboxed/proxied) | Native OpenClaw |\n| Onboarding | Config page with per-provider OAuth | CLI setup |\n| MCP access | Proxied through gateway, secrets isolated | Direct from agent |\n| Network | Sandboxed, domain-filtered egress | No built-in isolation |\n| Deployment | Single Node process (BYO Postgres) | Single node |\n\n## Security and Privacy\n\n- [**Worker egress through the gateway proxy**](docs/SECURITY.md#network-egress) — `HTTP_PROXY=http://localhost:8118` with allowlist/blocklist + LLM egress judge. On Linux production hosts the worker spawn uses `systemd-run --user --scope` with `IPAddressDeny=any` to enforce egress at the kernel level; in dev (macOS) the proxy is best-effort.\n- [**Secrets stay in gateway**](docs/SECURITY.md#credentials) — provider credentials and `${env:}` substitution; OAuth lives in Lobu. Workers never see real keys.\n- [**Threat model: single-tenant local isolation**](docs/SECURITY.md) — `just-bash` and `isolated-vm` are policy + best-effort sandboxes, not security boundaries for hostile code. See `docs/SECURITY.md` before exposing Lobu to untrusted users.\n- [**Nix system packages**](docs/SECURITY.md#skills-and-policy) — per-agent reproducible tooling and skill policy.\n\n## Support \u0026 Consultancy\n\nLobu is open source, but deploying production-grade agents usually means tuning soul, identity, and integrations. I offer hands-on implementation for:\n\n- **Employee AI assistants** — persistent sandboxed agents on Slack wired into internal tools and docs.\n- **Automated customer support** — multi-step ticket handling with human-in-the-loop.\n- **Autonomous workflows** — long-running, scheduled background jobs with persistent state.\n- **Managed infrastructure** — private Lobu deployments with updates and scaling.\n- **Custom tooling \u0026 skills** — bespoke MCP servers, Nix runtimes, and OpenClaw skills.\n\nI'm a second-time technical founder. Previously founded [rakam.io](https://rakam.io) (enterprise analytics PaaS), acquired by [LiveRamp](https://liveramp.com) (NYSE: RAMP).\n\n\u003e [!TIP]\n\u003e Want persistent agents for your team or customers? [Talk to Founder](https://calendar.app.google/LwAk3ecptkJQaYr87) or reach out on [X/Twitter](https://x.com/bu7emba).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flobu-ai%2Flobu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flobu-ai%2Flobu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flobu-ai%2Flobu/lists"}