Enterprise-grade AI Bot Management Platform powered by Cloudflare's edge infrastructure. Deploy, manage, and scale AI agents with full isolation per customer.
┌─────────────────────────────────────────────────────────────────────────┐
│ OpenClawdBox Platform │
├─────────────────────────────────────────────────────────────────────────┤
│ Super Admin Dashboard (Master Control) │
│ ├── All Organizations Overview │
│ ├── All Bots Monitoring │
│ ├── User Management │
│ └── Revenue Analytics (MRR) │
├─────────────────────────────────────────────────────────────────────────┤
│ Customer Portal (Per Organization) │
│ ├── Organization Dashboard │
│ ├── Teams Management │
│ │ └── Bots (Per Team) │
│ │ ├── Start/Stop/Restart │
│ │ ├── LLM Configuration (Workers AI / BYOK) │
│ │ └── Test Chat Interface │
│ ├── Settings (LLM Provider, API Keys) │
│ └── Billing (Stripe Integration) │
└─────────────────────────────────────────────────────────────────────────┘
- Frontend: React 18 + Vite + TypeScript + Tailwind CSS v4 + Shadcn/UI
- Backend: Cloudflare Workers + Hono.js
- Database: Cloudflare D1 (SQLite)
- AI/LLM: Cloudflare Workers AI (default) + BYOK (Anthropic/OpenAI)
- State: Cloudflare Durable Objects (Bot lifecycle management)
- Billing: Stripe (subscriptions, customer portal)
- Mobile: Capacitor-ready (iOS/Android wrapper)
- Multi-Tenant Architecture: Full isolation per customer (org, data, LLM access)
- Hierarchical Organization: Organization → Teams → Bots
- LLM Flexibility: Workers AI included, or Bring Your Own Key (BYOK)
- Self-Serve Portal: Customers manage their own teams and bots
- Master Dashboard: Super admin oversight of all customers and bots
- Subscription Tiers: Starter ($500/mo), Business ($1,500/mo), Enterprise ($5,000/mo)
- Real-Time Bot Control: Start, stop, restart from dashboard
- Test Chat Interface: Interact with bots directly in the dashboard
OpenClawdBox/
├── apps/
│ ├── web/ # React frontend
│ │ ├── src/
│ │ │ ├── components/ # UI components
│ │ │ ├── pages/
│ │ │ │ ├── admin/ # Super admin pages
│ │ │ │ └── org/ # Customer portal pages
│ │ │ ├── stores/ # Zustand state
│ │ │ └── lib/ # API client, utils
│ │ └── package.json
│ └── worker/ # Cloudflare Worker backend
│ ├── src/
│ │ ├── routes/ # API routes
│ │ ├── middleware/ # Auth, org access
│ │ ├── services/ # Auth, crypto
│ │ └── durable-objects/# Bot manager
│ ├── migrations/ # D1 schema
│ └── wrangler.toml
└── packages/
└── shared/ # Shared types, validators, constants
- Node.js 18+
- pnpm 8+
- Cloudflare account
- Stripe account (for billing)
# 1. Install dependencies
pnpm install
# 2. Configure Cloudflare resources
cd apps/worker
# Create D1 database
pnpm exec wrangler d1 create openclawdbox
# Update wrangler.toml with database_id
# Create KV namespace
pnpm exec wrangler kv:namespace create KV
# Update wrangler.toml with KV id
# 3. Run migrations
pnpm exec wrangler d1 execute openclawdbox --local --file=migrations/0001_init.sql
pnpm exec wrangler d1 execute openclawdbox --local --file=migrations/0002_multi_tenant.sql
# 4. Set secrets
pnpm exec wrangler secret put STRIPE_SECRET_KEY
pnpm exec wrangler secret put STRIPE_WEBHOOK_SECRET
pnpm exec wrangler secret put ENCRYPTION_KEY # 32 char string
# 5. Start development
cd ../..
pnpm dev- Navigate to http://localhost:3000/setup
- Enter admin email and password
- Login at /login
POST /api/auth/register- Register new userPOST /api/auth/login- LoginPOST /api/auth/logout- LogoutGET /api/auth/session- Get current session
GET /api/orgs- List user's orgsPOST /api/orgs- Create orgGET /api/orgs/:orgId- Get orgPUT /api/orgs/:orgId- Update orgGET /api/orgs/:orgId/stats- Get org stats
GET /api/orgs/:orgId/teams- List teamsPOST /api/orgs/:orgId/teams- Create teamPUT /api/orgs/:orgId/teams/:teamId- Update teamDELETE /api/orgs/:orgId/teams/:teamId- Delete team
GET /api/orgs/:orgId/teams/:teamId/bots- List botsPOST /api/orgs/:orgId/teams/:teamId/bots- Create botGET /api/orgs/:orgId/teams/:teamId/bots/:botId- Get botPUT /api/orgs/:orgId/teams/:teamId/bots/:botId- Update botDELETE /api/orgs/:orgId/teams/:teamId/bots/:botId- Delete botPOST /api/orgs/:orgId/teams/:teamId/bots/:botId/start- Start botPOST /api/orgs/:orgId/teams/:teamId/bots/:botId/stop- Stop botPOST /api/orgs/:orgId/teams/:teamId/bots/:botId/restart- Restart botPOST /api/orgs/:orgId/teams/:teamId/bots/:botId/chat- Chat with bot
GET /api/orgs/:orgId/billing/subscription- Get subscriptionPOST /api/orgs/:orgId/billing/checkout- Create checkout sessionPOST /api/orgs/:orgId/billing/portal- Create customer portal session
GET /api/admin/stats- Platform statsGET /api/admin/orgs- List all orgsGET /api/admin/bots- List all botsGET /api/admin/users- List all usersPOST /api/admin/bots/bulk-restart- Restart all running bots
| Feature | Starter ($500/mo) | Business ($1,500/mo) | Enterprise ($5,000/mo) |
|---|---|---|---|
| Teams | 2 | 10 | Unlimited |
| Bots | 5 | 25 | Unlimited |
| Team Members | 5 | 20 | Unlimited |
| Included Tokens | 1M | 5M | Unlimited |
| Support | Priority | Dedicated |
Cloudflare-hosted models, no additional API keys required:
- Llama 3.1 8B/70B
- Mistral 7B
- Gemma 7B
Customers can use their own API keys:
- Anthropic: Claude 3.5 Sonnet, Claude 3 Opus/Haiku
- OpenAI: GPT-4o, GPT-4o Mini, GPT-4 Turbo
Keys are encrypted with AES-GCM before storage.
# Deploy worker
cd apps/worker
pnpm exec wrangler deploy
# Deploy frontend to Pages
cd ../web
pnpm build
pnpm exec wrangler pages deploy dist --project-name=openclawdboxSTRIPE_SECRET_KEY=sk_test_...
STRIPE_WEBHOOK_SECRET=whsec_...
STRIPE_PRICE_STARTER=price_...
STRIPE_PRICE_BUSINESS=price_...
STRIPE_PRICE_ENTERPRISE=price_...
ENCRYPTION_KEY=32-character-secret-key-here!!!
MIT