Open-source, self-hosted platform for AI apps β WordPress for the AI era.
Build, embed, and ship AI chatbots and assistants with WordPress-style plugins and themes, bring-your-own-key support for OpenAI, Anthropic, and Gemini, and an embeddable widget for any website. A self-hosted, open-source alternative to closed AI-chat SaaS like Chatbase and Intercom Fin β your code, your keys, your infrastructure.
π Full documentation is available at agentaflow.github.io/agentbase β covering self-hosting, plugin & theme development, AI model configuration, and the full API reference.
The full Agentbase platform in this repository is GPL-3.0 and self-hostable with Docker β your code, your keys, your infrastructure, no vendor lock-in. AgentaFlow additionally operates a managed cloud and the public marketplace catalog as optional paid hosted services for teams who prefer not to run their own. Everything documented here runs entirely on infrastructure you control.
AI-Native β Built from the ground up for AI-first applications
Application Dashboard β Managing AI applications, plugins, and configurations
Chat Application β Fully functional AI chat app powered by your chosen model
Create Application β Quickly scaffold and configure a new AI application
agentbase/
βββ packages/
β βββ core/ # NestJS API (PostgreSQL + MongoDB)
β βββ frontend/ # Next.js 14 (App Router + Tailwind)
β βββ ai-service/ # FastAPI (AI provider integrations + SSE streaming)
β βββ installer/ # Self-hosted CLI installer (Commander + Inquirer)
β βββ shared/ # Shared TypeScript types
β βββ plugins/ # Plugin SDK + examples
β βββ themes/ # Theme SDK + starter themes
βββ docs/ # Documentation site (Nextra)
βββ docker-compose.yml # Local dev databases
βββ docker-compose.prod.yml # Production stack
βββ .env.example # Environment template
| Layer | Technology |
|---|---|
| Core API | Node.js + NestJS + TypeORM |
| Frontend | Next.js 14 + React + Tailwind CSS |
| AI Service | Python + FastAPI |
| SQL Database | PostgreSQL 16 |
| Document DB | MongoDB 7 |
| Cache | Redis 7 |
| Infrastructure | Docker β self-host on any cloud or bare metal (production Compose + Azure Bicep IaC included) |
| License | GPL-3.0 |
- Node.js 20+
- Python 3.11+
- Docker & Docker Compose
- pnpm 9+
# Clone the repo
git clone https://github.com/agentaflow/agentbase.git
cd agentbase
# Copy environment variables
cp .env.example .env
# Start databases
docker compose up -d
# Install dependencies
pnpm install
# Start all services
pnpm devServices will be available at:
- Frontend: http://localhost:3000
- Core API: http://localhost:3001
- API Docs: http://localhost:3001/api/docs
- AI Service: http://localhost:8000
pnpm dev:core # NestJS API only
pnpm dev:frontend # Next.js frontend only
pnpm dev:ai # FastAPI AI service onlyFor production self-hosted deployments, use the CLI installer:
cd packages/installer
pnpm install
npx ts-node src/cli.ts check # Verify system requirements
npx ts-node src/cli.ts install # Interactive installation wizard
npx ts-node src/cli.ts status # Check service status
npx ts-node src/cli.ts update # Update to latest versionAgentbase is plain Docker β deploy it on any cloud or bare metal, no lock-in:
- Docker Compose (universal baseline) β production stack in docker-compose.prod.yml
- Azure β reference infrastructure-as-code (Bicep) in infra/, documented in docs/azure/
- DigitalOcean / GCP β guides planned (contributions welcome)
- Multi-Provider Support β OpenAI (GPT-4, GPT-4 Turbo, GPT-4o, GPT-4o Mini, GPT-3.5 Turbo), Anthropic (Claude Sonnet 4.5, Claude Haiku 4.5), Google Gemini (2.0 Flash, 1.5 Pro, 1.5 Flash), HuggingFace (Llama 3.1, Mistral, Mixtral, Phi-3, and more via Inference API)
- BYOK (Bring Your Own Key) β Users can securely store their own provider API keys, encrypted at rest with AES-256-GCM. BYOK keys bypass the platform quota gate entirely and are decrypted ephemerally per request β never cached or exposed to browser clients
- Model Configuration Dashboard β Per-app model configs with provider selection, parameter tuning (temperature, max tokens, top-p), and system prompts
- A/B Testing β Model config versioning with traffic splitting and performance metrics tracking
- Streaming Responses β Server-Sent Events (SSE) for real-time token-by-token output
- Conversation Management β Create, continue, archive conversations per application
- Prompt Templates β Reusable templates with
{{variable}}substitution - Knowledge Base (RAG) β Vector-based semantic search with OpenAI embeddings, document chunking, and context retrieval
- WordPress-Style Hooks β Actions and filters with priority-based execution
- Plugin SDK β TypeScript interfaces and utilities for plugin development
- Advanced Capabilities β Database access (scoped key-value store), custom API endpoints, cron scheduling, webhooks, admin UI extensions, inter-plugin event bus
- Lifecycle Management β Install, activate, deactivate, uninstall with dependency resolution
- Marketplace β Browse, search, rate, and review plugins and themes across multiple categories
- Plugin Versioning β Multiple versions per plugin with changelogs, compatibility checks, and checksums
- Developer Portal β Submit plugins/themes for marketplace review, admin approval workflow
- Download Tracking β Automatic install/download counters
- Per-App Installation β Install and configure plugins independently per application
- Theme Engine β CSS custom property generation with 4 built-in presets
- White-Label Branding β Custom colors, fonts, logos, email templates, and CSS injection
- Custom Domains β DNS verification (CNAME/TXT), SSL tracking, domain settings
- Embeddable Widget β Standalone JavaScript widget for any website with theme support
- Organizations β Team creation with member management (Owner/Admin/Member/Viewer roles)
- SSO Integration β SAML 2.0 and OIDC support with auto-provisioning
- Notifications β In-app notification system with real-time updates
- Audit Logging β Comprehensive audit trail for all platform actions
- Stripe Integration β 4 subscription tiers (Free, Starter $29/mo, Pro $99/mo, Enterprise $499/mo)
- Usage Metering β Token and message quotas with enforcement before AI calls; paid plans report overage tokens to Stripe as metered usage records for automatic per-1K-token billing
- Webhooks β 11 event types with HMAC-SHA256 signing and delivery tracking
- Data Export/Import β JSON and CSV export, bulk import with error handling
- OAuth2 β GitHub and Google OAuth with automatic account linking
- JWT + Refresh Tokens β Secure authentication with token rotation
- API Keys β Create, scope, rate-limit, and revoke API keys per application
- Provider Key Vault β User BYOK provider keys stored encrypted with AES-256-GCM; only a 4-character hint is ever returned by the API
- Role-Based Access Control β Admin, Developer, User roles with permission guards
- Security Hardening β Helmet middleware, CORS, rate limiting, HSTS, CSP headers
- Usage Analytics β Track conversations, messages, tokens, costs per application
- Event Tracking β MongoDB-backed event stream (message_sent, widget_loaded, api_call, error)
- System Health β Real-time service checks (PostgreSQL, MongoDB, Redis, AI Service)
- Platform Statistics β Users, applications, subscriptions, resource usage
- Self-Hosted Installer CLI β Interactive installation wizard (
agentbase install) with system requirements checking, database setup, admin account creation, and.envgeneration - Update Mechanism β
agentbase updatewith automatic backups, migration running, and dependency updates - System Status β
agentbase statusshows version, service health, and Docker container status - Docker Production Stack β Multi-stage builds with Alpine images, health checks, non-root user
- Nginx Reverse Proxy β SSL termination, rate limiting, security headers, SSE streaming
- Email Service β SMTP transport with HTML templates (welcome, password reset, usage warnings)
- File Uploads β S3-compatible storage (AWS S3, MinIO, DigitalOcean Spaces, Cloudflare R2)
- Automated Backups β PostgreSQL and MongoDB backup scripts with 7-day retention
- Self-Hosting Guide β Complete installation and configuration instructions
- Plugin Development β Getting started, SDK reference, advanced capabilities, publishing guide
- AI Models Guide β Provider configuration, model settings, A/B testing
- API Reference β Full marketplace, model configs, and provider keys API documentation
- Examples Gallery β AI chatbot, plugin with database, custom theme, embeddable widget, RAG pipeline
POST /api/auth/registerβ Register new userPOST /api/auth/loginβ LoginGET /api/auth/meβ Get current userGET /api/auth/githubβ OAuth: Redirect to GitHubGET /api/auth/github/callbackβ OAuth: GitHub callbackGET /api/auth/googleβ OAuth: Redirect to GoogleGET /api/auth/google/callbackβ OAuth: Google callbackGET /api/auth/providersβ List available OAuth providersPOST /api/auth/refreshβ Refresh access tokenPOST /api/auth/change-passwordβ Change passwordPOST /api/auth/password-reset/requestβ Request password reset emailPOST /api/auth/password-resetβ Reset password with token
POST /api/applicationsβ Create applicationGET /api/applicationsβ List user's applicationsGET /api/applications/:idβ Get applicationPUT /api/applications/:idβ Update applicationDELETE /api/applications/:idβ Delete application
GET /api/pluginsβ List marketplace pluginsPOST /api/pluginsβ Create pluginPUT /api/plugins/:id/publishβ Publish pluginPOST /api/applications/:appId/pluginsβ Install pluginPUT /api/applications/:appId/plugins/:id/activateβ Activate pluginPUT /api/applications/:appId/plugins/:id/deactivateβ Deactivate pluginDELETE /api/applications/:appId/plugins/:idβ Uninstall pluginALL /api/plugins/:pluginId/endpoints/*β Dynamic plugin custom endpoints
GET /api/marketplace/browseβ Browse pluginsGET /api/marketplace/featuredβ Featured pluginsGET /api/marketplace/categoriesβ Plugin categoriesGET /api/marketplace/plugins/:idβ Plugin detail with rating statsGET /api/marketplace/plugins/:id/reviewsβ Plugin reviewsPOST /api/marketplace/plugins/:id/reviewsβ Submit reviewGET /api/marketplace/plugins/:id/versionsβ Plugin versionsPOST /api/marketplace/plugins/:id/versionsβ Publish new versionGET /api/marketplace/themesβ Browse themesGET /api/marketplace/themes/featuredβ Featured themesGET /api/marketplace/themes/categoriesβ Theme categoriesGET /api/marketplace/themes/:idβ Theme detailGET /api/marketplace/themes/:id/reviewsβ Theme reviewsPOST /api/marketplace/themes/:id/reviewsβ Submit theme reviewPOST /api/marketplace/submit/pluginβ Developer: submit pluginPOST /api/marketplace/submit/themeβ Developer: submit themeGET /api/marketplace/admin/pending/pluginsβ Admin: pending pluginsPOST /api/marketplace/admin/plugins/:id/approveβ Admin: approve pluginPOST /api/marketplace/admin/plugins/:id/rejectβ Admin: reject pluginGET /api/marketplace/admin/pending/themesβ Admin: pending themesPOST /api/marketplace/admin/themes/:id/approveβ Admin: approve themePOST /api/marketplace/admin/themes/:id/rejectβ Admin: reject theme
GET /api/provider-keysβ List saved provider keys (key hints only)PUT /api/provider-keys/:providerβ Save or replace a key (openai|anthropic|gemini|huggingface)DELETE /api/provider-keys/:providerβ Remove a saved keyPOST /api/provider-keys/:provider/validateβ Validate a saved key with a live test call
GET /api/model-configs?applicationId=β List model configsPOST /api/model-configsβ Create model configGET /api/model-configs/:idβ Get model configPUT /api/model-configs/:idβ Update model configDELETE /api/model-configs/:idβ Delete model configPATCH /api/model-configs/:id/defaultβ Set default modelGET /api/model-configs/:id/versionsβ List A/B test versionsPOST /api/model-configs/:id/versionsβ Create A/B test version
POST /api/promptsβ Create prompt templateGET /api/prompts?applicationId=β List templates for appGET /api/prompts/:idβ Get prompt templatePUT /api/prompts/:idβ Update prompt templateDELETE /api/prompts/:idβ Delete prompt templatePUT /api/prompts/:id/defaultβ Set as default templatePOST /api/prompts/renderβ Render template with variables
GET /api/themesβ List themesPOST /api/themesβ Create themePUT /api/applications/:id/themeβ Set application themePUT /api/applications/:id/theme/customizeβ Customize theme
GET /api/ai/providersβ List AI providersPOST /api/ai/conversationsβ Create conversationPOST /api/ai/conversations/:id/messagesβ Send message (standard)POST /api/ai/conversations/:id/streamβ Send message (SSE streaming)GET /api/ai/conversations/by-app/:appIdβ List conversationsDELETE /api/ai/conversations/:idβ Archive conversation
Agentbase supports multiple AI providers out of the box. With BYOK, any model the provider exposes via their API is supported β just supply your key and specify the model ID; the platform routes the request directly to the provider with no additional configuration.
- OpenAI β o3 Mini, o1, o1 Mini, GPT-4o, GPT-4o Mini, GPT-4 Turbo, GPT-4, GPT-3.5 Turbo
- Anthropic β Claude Opus 4.8, Claude Sonnet 4.6, Claude Sonnet 4.5, Claude Haiku 4.5
- Google Gemini β Gemini 2.0 Flash, Gemini 2.0 Flash Thinking, Gemini 1.5 Pro, Gemini 1.5 Flash
- HuggingFace β Llama 3.1 8B, Mistral 7B, Mixtral 8x7B, Phi-3 Mini, Zephyr 7B (any model via Inference API)
Configure provider keys in one of two ways:
- Platform keys (paid plans) β set
OPENAI_API_KEY,ANTHROPIC_API_KEY, etc. in.env. Usage is metered and included in your plan quota; overages are billed automatically via Stripe. - BYOK (all plans including Free) β users can save their own provider API keys in Dashboard β Settings β AI Providers. Keys are AES-256-GCM encrypted at rest and bypass the monthly quota gate entirely.
Agentbase handles provider routing, rate limiting, and conversation management automatically.
Required for BYOK: set
ENCRYPTION_KEYto a 64-hex-char secret (generate withnode -e "console.log(require('crypto').randomBytes(32).toString('hex'))").
See CHANGELOG.md for a detailed history of changes across all phases.
Agentbase is pre-launch and actively developed β it's a great time to get involved and shape the project early. We welcome contributions of all sizes, from docs fixes to new plugins, themes, and providers.
- Start here: CONTRIBUTING.md for development guidelines and the local setup above.
- Good places to jump in:
- DigitalOcean / GCP deployment guides (Azure reference IaC already exists in infra/ to model from)
- New marketplace plugins and themes built on the Plugin SDK and Theme SDK
- Additional AI provider integrations and example apps
- Documentation, tutorials, and the examples gallery
- Found a bug or have an idea? Open an issue β well-scoped issues and PRs are the fastest way to help.
GNU General Public License v3.0 β see LICENSE
Built by AgentaFlow



