Server
Aelio Server
Deploy and configure the Aelio agentic runtime server.
The Aelio Server (@aelio/server) is the agentic harness that powers conversations. It runs the LLM tool loop, safety rails, identity resolution, memory, and channel adapters.
It ships as a Docker image (aelio/server:latest) — not as an npm package.
What the server does
- Receives messages from the chat widget (
/widget/ws) and WhatsApp (/wa/webhook) - Runs the LLM turn engine (harness: plan → execute → synthesize)
- Invokes your SDK tools over WebSocket (
/sdk) - Manages customer identity, session, and memory
- Enforces safety gates and write confirmations
- Serves the widget bundle at
/widget.js
Quick run (local)
export AELIO_SDK_SECRET=change-me-in-production
export OPENAI_API_KEY=sk-...
pnpm --filter @aelio/server devServer starts on http://localhost:3010.
Health checks
# Liveness
curl http://localhost:3010/health
# Readiness (db, migrations, widget, sdk status)
curl http://localhost:3010/readyDocker
docker run -p 3010:3010 \
-e AELIO_SDK_SECRET=change-me-in-production \
-e OPENAI_API_KEY=sk-... \
-e AELIO_CONFIG=/config/config.docker.yaml \
-v ./config.docker.yaml:/config/config.docker.yaml \
aelio/server:latestSingle-container deployment, ~190MB distroless image.
Config profiles
| File | Purpose |
|---|---|
config.yaml | Local dev (OpenAI, hash embeddings, mock WhatsApp) |
config.docker.yaml | Docker deployment |
config.openai.yaml | OpenAI profile |
config.anthropic.yaml | Anthropic + Voyage embeddings |
config.gemini.yaml | Gemini (768d embeddings) |
config.byo.yaml | Bring-your-own WhatsApp provider |
config.proactive.yaml | Proactive messaging enabled |
Point to a profile with AELIO_CONFIG=/path/to/config.yaml.