Rubot

Rubot is a multi-tenant, LLM-driven chat-agent scaffold built on Cloudflare Workers (gateway + middleware) and Railway (Python agents). Specialist agents are forked from a common template, registered in an orchestrator, and routed by an LLM planner — all connected through a short-lived, HMAC-signed bearer chain that never exposes long-lived credentials to the model.

Services:

ServiceTechWhere
rubot-gatewayTypeScript / HonoCloudflare Workers
rubot-middlewareTypeScript / Hono + D1Cloudflare Workers
rubot-orchestratorPython / FastAPIRailway
rubot-agent-*Python / pydantic_aiRailway
rubot-clientAstro SSRCloudflare Workers
rubot-superadminAstro SSRCloudflare Workers

Two deployment modes:

  • Bearer mode (RUBOT_DATA_AUTH=bearer) — full multi-tenant identity: manager accounts, PIN-based sender→tenant binding, HMAC-signed short-lived data bearers, per-tenant agent toggles.
  • Open mode (RUBOT_DATA_AUTH=open) — auth chain bypassed; all services share one implicit tenant. Suitable for single-tenant or development deployments.

Recommended reading order: ArchitectureLocal DevelopmentCreating a New AgentDeploy. Env Vars is a reference cheat-sheet.