What is Wavefront ?
Wavefront AI is an open-source middleware platform for building production AI applications on enterprise data. It lets you:
- Connect to databases, APIs and cloud storage, and query them with access control and audit logging
- Use any LLM or SLM, hosted or self-hosted
- Build agents, multi-agent workflows, chatbots and voice agents on top of that data, configured in YAML and versioned
- Add authentication, role-based access control, observability and evaluation to all of them
What people build with Wavefront ?
- AI agents and workflows that audit, underwrite, supervise contact centers and automate business processes
- Knowledge bases and RAG applications for internal enterprise use
- Voice agents for collections and sales, over inbound and outbound phone calls
- Chatbots that give each user a persistent conversation with a configured model
- Workflows that combine multiple data sources, knowledge bases and services | Project Information | Details | |-----------|------------| |Release Status | Beta Release| |Wavefront License | GNU AFFERO GENERAL PUBLIC LICENSE 3.0 | |FloAI License | MIT LICENSE |
β¨ Key Capabilities
-
π€ Agents & Workflows
Define agents and multi-agent workflows in YAML, built on flo-ai. Every save creates a new version, validated by building the agent or compiling the workflow, and you can promote or roll back versions. Workflows can reference saved agents, define agents inline, or embed other workflows. Run them synchronously with streamed events, or asynchronously on background workers. -
π¬ Chatbots & Sessions
Configure a chatbot as a system prompt bound to a model. Each user gets persistent chat sessions with stored history and streaming replies. Sessions keep a snapshot of the prompt they started with, so editing a chatbot never rewrites past conversations. -
π Voice Agents
Voice-to-voice agents for inbound and outbound phone calls, built on Pipecat. They support multiple languages, tool calls during a call, smart turn detection, and LLM-based evaluation after each call.- Telephony: Twilio, Exotel, Smartflo
- Speech-to-text: Deepgram, AssemblyAI, Whisper, Google, Azure, Sarvam, ElevenLabs
- Text-to-speech: ElevenLabs, Deepgram, Cartesia, Azure, Google, AWS, Sarvam
-
π Data Connectivity
Connect to BigQuery, Redshift, PostgreSQL and SQL Server as datasources, and to S3, Google Cloud Storage and Azure Blob Storage for files. Write through an OData-style API, and read with parameterised dynamic queries defined in YAML, with row-level data permissions. Writes and file transfers can be recorded in an audit trail. API services connect any REST backend, with API key, Basic and Bearer authentication. -
βοΈ Functions & Configurations
Sandboxed JavaScript functions for the deterministic steps of a workflow (computing, comparing, deciding), and namespaced JSON configurations that workflows read at run time, so thresholds, rule tables and scoring models can change without a redeploy. See Functions and Configurations. -
π§ Knowledge Bases & RAG
Upload documents to knowledge bases, with background ingestion and embedding. Retrieval combines vector (pgvector) and keyword search with reranking, and supports image search. -
π οΈ Tools & Triggers
Agents can use datasources, knowledge bases, API services, email and your own functions as tools. Triggers start an agent or workflow from external events, starting with Gmail. -
π€ Open Source & Proprietary Model Support
OpenAI, Azure OpenAI, Anthropic, Google Gemini, Groq, Ollama and vLLM, managed centrally as reusable model configurations. flo-ai also supports Vertex AI and AWS Bedrock. -
π Authentication & Authorization
Email/password, Google OAuth, Microsoft OAuth (Entra) and Microsoft ADFS sign-in. Role-based access control with users, groups, roles and resources, plus account lockout and reCAPTCHA protection. -
π Observability, Monitoring & Evaluation
Built-in OpenTelemetry telemetry pushed to any APM backend β local Jaeger, Azure Application Insights, AWS X-Ray/CloudWatch, GCP Cloud Trace, or any OTLP-compatible vendor. See the OpenTelemetry guide. -
π₯οΈ Web Console
A web console for configuring agents, workflows, chatbots, voice agents, datasources, knowledge bases, triggers and model providers across all your applications.
Architecture
Each application runs as its own deployment, and a single console manages all of them.
ββββββββββββββββββββββββββββββββ
β floconsole β manages apps, builders and access
ββββββββ¬ββββββββββββββββ¬ββββββββ
β β
ββββββββββββββΌββββ βββββββΌβββββββββββ
β floware (app A)β β floware (app B)β one core server per application
ββββββββββββββββββ ββββββββββββββββββ
Because each application has its own floware, each gets its own database, storage and secrets.
Quick Start
Option 1: Schedule a demo and we help you build immediately.
Option 2: Self-host for maximum control and customization. Start with the Docker setup guide, then see Architecture and Environment and configuration in the documentation.
Option 3: Run Wavefront locally for development with the interactive scripts.
Local development setup
wavefront/dev-start.sh sets up and starts selected services on your machine. wavefront/dev-stop.sh stops them (running ones are pre-checked). Both are safe to re-run: services that are already running are left as they are on start.
Prerequisites: Python 3.11+, uv, Docker (running), Node.js 20+, pnpm (corepack enable) and openssl. dev-start.sh checks for all of them first.
cd wavefront
./dev-start.sh # first-time setup + start selected services
./dev-stop.sh # stop selected services
dev-start.sh:
- Lets you choose which apps to start (floconsole, floware, web client, celery, RAG ingestion, inference, call processing).
- Creates each selected service's
.envfrom its checked-in sample (.env.example/.env.sample). Existing.envfiles are kept by default; turn on replace .env files to recreate them (with a backup). Secrets such asPASSTHROUGH_SECRETare generated or synced across services. - Starts Postgres (pgvector), Redis and LocalStack with
server/docker-compose.yml. LocalStack provides S3, SQS and KMS locally, so no cloud account is needed. - Creates the databases, the S3 bucket, the RAG ingestion queue and the KMS keys used to sign tokens.
- Installs the Python dependencies into
server/.venvand the web client's dependencies (when selected). - Starts each selected service in its own terminal window, and waits until it is healthy.
Optional services default to off in the checkbox. The inference app downloads its models (several GB) from Hugging Face on first run, and needs a Hugging Face token with access to the gated DINOv3 model. It runs on CPU on Linux and Apple Silicon Macs; with all three models loaded (CLIP, DINOv3 and BGE-M3) it needs roughly 4β5 GB of free memory. Intel Macs have no PyTorch build at the supported version (2.6 or later), so there it runs in mock mode: the same API returning synthetic embeddings, for integration testing, with no models to download. Set INFERENCE_MOCK_MODELS=true to use mock mode anywhere.
When the script finishes:
- Open the web client at http://localhost:5173 and log in with the seed user from
server/apps/floconsole/floconsole/.env(CONSOLE_EMAIL/CONSOLE_PASSWORD). - Add floware as an app: Apps β Create new app, with App Name
localhost, Deployment Type Manual, andhttp://localhost:8001as both the Public and Private URL. WithVITE_APP_ENV=localinclient/.env, you can tick βCreate local app for developmentβ to fill these in. - Start building: follow the Quickstart to create a model, an agent and a workflow, and run them from the console and the API.
To stop services, run ./dev-stop.sh (or close their terminal windows). To start again, re-run ./dev-start.sh.
Documentation
The full documentation is at wavefront.rootflo.ai. Where to start:
The documentation source lives in documentation/; run mint dev there to preview it locally.
Platform Components
Roadmap
See ROADMAP.md for detailed feature plans and contribution opportunities.
[!WARNING]
- This project is under active development and APIs may change without notice. Please checkout the platform docs for the latest information.
- The platform is not in the GA state, and there are unimplemented features. Checkout ROADMAP.md for the list of features, and what's missing.
β Show Your Support
If you find Wavefront AI useful, please consider:
- Starring this repository β
- Sharing with your network
- Contributing to the project
- Providing feedback and feature requests