Skip to content

Weave complex, real-time voice AI conversations. The end-to-end, open-source orchestration platform for building intelligent voice agents.

License

Notifications You must be signed in to change notification settings

OpenVoiceX/DialogWeaver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

31 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DialogWeaver Logo
DialogWeaver

This project is now OFFICIALLY accepted for:

GSSOC
🌟 Stars 🍴 Forks πŸ› Issues πŸ”” Open PRs πŸ”• Closed PRs πŸ› οΈ Languages πŸ‘₯ Contributors
Stars Forks Issues Open PRs Closed PRs Languages Count Contributors Count

DialogWeaver Logo

DialogWeaver

Weave complex, real-time voice AI conversations. The end-to-end, open-source orchestration platform for building intelligent voice agents.

License: MIT GitHub issues PRs Welcome


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.

Key Features

  • πŸŽ™οΈ 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.

Architecture

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

DialogWeaver Architecture Diagram


πŸ“ 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

Quick Start

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)

1. Clone the Repository

git clone https://github.com/OpenVoiceX/DialogWeaver.git
cd DialogWeaver

2. Configure Your Environment

Create your local environment file from the template. This file will store your secret keys and is ignored by Git.

cp .env.sample .env

Now, open the .env file and fill in your API keys and credentials. A SECRET_KEY and NGROK_AUTHTOKEN are required for the initial setup.

3. Build and Run the Platform

This single command builds all the service images and starts the containers.

docker compose up --build

For the first run, omit the -d flag to see the logs from all services in your terminal. This is the best way to debug any setup issues.

4. Initialize the Database

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 head

5. Access Your Platform

Your DialogWeaver instance is now live!

To learn how to configure your telephony provider and make your first call, please see our detailed Contributor Guide.


Contributing

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.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Weave complex, real-time voice AI conversations. The end-to-end, open-source orchestration platform for building intelligent voice agents.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages