Enterprise-grade AI agents,
self-hosted in under 10 minutes.
Open-source AI Agents platform — RAG-powered chat, voice, multi-channel support, and lead extraction to the dashboard.
MIT · Docker-friendly · TypeScript — agents, widget, optional voice (LiveKit), headless API.
1git clone https://github.com/a20-ai-thuc-chien/A20-App-097.git2cd A20-App-0973cp .env.example .env4# DATABASE_URL, JWT_SECRET, ENCRYPTION_KEY + one LLM API key5docker compose up -d6# run DB migrations (see repo README)7# open http://localhost:3000/ demo
See it on a live storefront
Walkthrough video, then open either live Vercel demo — transport landing or AI practice site with the widget open.
Built on a stack you already trust
/ features
Everything to ship a real agent.
A TypeScript monorepo: NestJS API, Next.js admin, embeddable widget, BullMQ workers, Postgres + Qdrant.
Agents
Build agents in the dashboard; pick LLM provider/model; optional voice and optional OpenClaw-first routing with fallback.
RAG knowledge
URLs, files (PDF, Office, EPUB…), text snippets → normalized → chunked → Qdrant; queue-backed ingestion.
Web widget
Embeddable snippet; colors, launcher, allowed origins from Channels.
Voice
WebRTC via LiveKit; pluggable STT/TTS (Whisper, Edge, ElevenLabs, …).
Lead extraction
JSON fields per agent; async processing — leads show in dashboard after workers run.
Analytics
Conversations, leads, fallback rate, knowledge gaps — out of the box.
Custom UI
Headless API + @opencalf/react for your own frontends.
Adapters
New channels via IChannelAdapter in @opencalf/sdk.
/ self-host
Own your data. Own your agent.
No vendor lock-in. Run OpenCalf on your own infra, swap the LLM, and pipe leads where they belong.
Your stack
Postgres, Qdrant, Redis — keys and data under your control.
Real deployments
nginx TLS, VPS Docker, Cloudflare or Tunnel — documented in-repo.
Stable surface
/api/v1, JWT admin, public agent token for widget/API.
Clone the repo. Ship by lunch.
Open-source, Docker-friendly, and built for developers who want to stay in control.

