This project is now OFFICIALLY accepted for:
| π Stars | π΄ Forks | π Issues | π Open PRs | π Closed PRs | π οΈ Languages | π₯ Contributors |
Weave complex, real-time voice AI conversations. The end-to-end, open-source orchestration platform for building intelligent voice agents.
DialogWeaver is a complete, self-hostable framework designed to create, manage, and deploy sophisticated, real-time voice-first conversational assistants. It provides all the necessary components as open-source, giving you full control and ownership over your voice AI applications.
Whether you're a developer prototyping a new voice-driven feature, a business building a customer service agent, or a researcher experimenting with conversational AI, DialogWeaver provides the production-grade foundation you need.
- ποΈ Real-Time & Interruptible: A high-performance core that orchestrates complex voice conversations, allowing agents to be interrupted mid-sentence for a natural and fluid user experience.
- π§© Extensible & Provider-Agnostic: Seamlessly integrates with best-in-class ASR (Speech-to-Text), LLM (Large Language Model), and TTS (Text-to-Speech) providers. Easily add new providers to suit your needs.
- π Secure & Multi-Tenant API: A robust FastAPI backend handles user authentication, agent management, and the secure, encrypted storage of provider API keys, making it ready for multi-user environments.
- π¨ No-Code UI Playground: A modern Next.js web interface provides a visual playground to build, test, and manage your voice agents without writing a single line of code.
- π Telephony & Web Ready: Natively supports both traditional telephony (via providers like Twilio and Plivo) and web-based clients through a unified, containerized architecture.
- π Dockerized & Self-Hostable: The entire platform is orchestrated with Docker Compose, allowing you to deploy it on your own infrastructure with a single command, ensuring data privacy and control.
DialogWeaver is built as a modern, service-oriented monorepo. This design provides a clean separation of concerns and enhances scalability and maintainability.
| Service | Description | Key Technologies |
|---|---|---|
ui |
User-facing dashboard and no-code agent builder. | Next.js, React, TypeScript, Tailwind CSS |
api |
Secure RESTful control plane for managing users, agents, and calls. | FastAPI, Python, PostgreSQL, SQLAlchemy |
engine |
The real-time worker that orchestrates the voice conversation logic. | FastAPI (as worker), Python, WebSockets |
database |
Persistent relational data storage. | PostgreSQL |
cache |
In-memory data store for caching and session management. | Redis |
π Project Structure
π¦ DialogWeaver
ββ π .github # GitHub configurations and automation
β ββ π ISSUE_TEMPLATE # Templates for reporting issues (bugs, features)
β ββ π workflows # GitHub Actions workflows (CI/CD, automated tests)
β
ββ π api # Backend API service
β ββ π alembic # Database migration scripts (versioned)
β ββ π app # Core API logic (routes, controllers, models)
β ββ π tests # Unit & integration tests for API
β ββ π Dockerfile # Dockerfile to containerize the API
β ββ π alembic.ini # Alembic config for database migrations
β ββ π main.py # API server entry point
β ββ π requirements.txt # Python dependencies for API
β
ββ π docs # Documentation and images
β ββ π Architecture.png # Project architecture diagram
β ββ π gssoc.png # GSSoC-related image
β ββ π logo.jpg # Project logo
β
ββ π engine # Core engine/service module
β ββ π openvoiceos_engine # Main engine logic for OpenVoiceOS
β ββ π telephony_server # Telephony server logic (SIP, VoIP, calls)
β ββ π Dockerfile # Dockerfile to containerize engine service
β ββ π main.py # Engine service entry point
β ββ π requirements.txt # Python dependencies for engine
β
ββ π .env.sample # Sample environment variables template
ββ π .gitignore # Git ignore rules
ββ π CONTRIBUTING.md # Guidelines for contributors
ββ π LICENSE # Project license
ββ π README.md # Project documentation
ββ π docker-compose.yml # Docker Compose config for multi-service setup
Get the entire DialogWeaver platform running on your local machine in just a few steps.
Prerequisites:
- Docker and Docker Compose
- API keys from your chosen AI and telephony providers (see
.env.sample)
git clone https://github.com/OpenVoiceX/DialogWeaver.git
cd DialogWeaverCreate your local environment file from the template. This file will store your secret keys and is ignored by Git.
cp .env.sample .envNow, open the .env file and fill in your API keys and credentials. A SECRET_KEY and NGROK_AUTHTOKEN are required for the initial setup.
This single command builds all the service images and starts the containers.
docker compose up --buildFor the first run, omit the
-dflag to see the logs from all services in your terminal. This is the best way to debug any setup issues.
Once the containers are running, open a new terminal window and run the database migrations to set up your tables.
docker compose exec api alembic revision --autogenerate -m "Initial schema"
docker compose exec api alembic upgrade headYour DialogWeaver instance is now live!
- UI Playground: http://localhost:3000
- API Documentation: http://localhost:8000/docs
- Ngrok Dashboard (for your public telephony URL): http://localhost:4040
To learn how to configure your telephony provider and make your first call, please see our detailed Contributor Guide.
DialogWeaver is a community-driven project. We welcome contributions of all kinds, from bug reports to new features and documentation improvements.
Please read our CONTRIBUTING.md to get started with the development workflow and code style.
This project is licensed under the MIT License - see the LICENSE file for details.


