Introduction
Aelio documentation — open-source conversational runtime for SaaS products.
Welcome to the Aelio documentation. Aelio lets any SaaS product offer its customers a production-grade AI chat experience on Web and WhatsApp — powered by your existing backend.
Overview
What Aelio is, why we built it, and who it's for
Installation
Set up the server, SDK, and chat widget
Platforms
SDK integration guides for every stack
Chat Widget
Embed @aelio/chat on your website
Three products, one system
| Product | Package | Where it runs |
|---|---|---|
| Convox SDK | @aelio/sdk / aelio-sdk | Your backend server |
| Chat Widget | @aelio/chat | Your website (browser) |
| Aelio Server | Docker (aelio/server) | Your infrastructure |
Supported platforms
| Platform | SDK status | Guide |
|---|---|---|
| Node.js / Express | Official (@aelio/sdk) | Node.js |
| Next.js | Official SDK + widget | Next.js |
| React (Vite, CRA) | Official SDK + widget | React |
| Python (FastAPI, Django) | Official (aelio-sdk) | Python |
| Go | Wire protocol (community) | Go |
| Ruby | Wire protocol (community) | Ruby |
| Rust | Wire protocol (community) | Rust |
Quick start
# 1. Start Aelio server
export AELIO_SDK_SECRET=change-me-in-production
pnpm --filter @aelio/server dev
# 2. Install SDK in your backend
npm install @aelio/sdk
# 3. Expose a function and connectimport { aelio } from '@aelio/sdk';
aelio.expose('getOrderStatus', async ({ orderId }, ctx) => {
return await db.orders.findOne({ id: orderId, userId: ctx.customerId });
}, { description: 'Get order status', params: { orderId: 'string' }, safety: 'read' });
await aelio.listen({ secret: process.env.AELIO_SDK_SECRET, url: 'ws://127.0.0.1:3010' });See the Installation guide for the full setup, or pick your platform guide.