Skip to main content

Voice-Powered Agent Framework

Project description

Vixio

A framework for quickly adding voice interaction to AI Agents

Python 3.12+ Status: Alpha

中文文档

Why Vixio?

Add voice capabilities to any Agent with a single command — no need to handle complex audio processing details.

Features

🎯 Core Advantages

  • One-line startup: uvx vixio run xiaozhi-server --preset qwen-realtime gives you a complete voice Agent
  • Flexible DAG architecture: Data flow design based on directed acyclic graph, nodes can be freely combined
  • Three operating modes:
    • Pipeline - Traditional cascade (VAD→ASR→Agent→TTS), maximum control
    • Streaming - Bidirectional streaming, low latency
    • Realtime - End-to-end model, simplest
  • Ready to use: Built-in Xiaozhi hardware protocol support

🔧 Technical Features

  • Modular design: Install VAD / ASR / Agent / TTS on demand
  • Multiple providers: Local inference (Silero, Sherpa-ONNX, Kokoro) or cloud services (Qwen, Doubao, Edge-TTS)
  • Multi-purpose: Voice conversation, transcription, real-time translation, etc.
  • Session isolation: Independent provider instances per connection, supports high concurrency

Requirements

  • Python 3.12 or higher
  • uv (recommended package manager)

🚀 Quick Start

Get started with Vixio in just one command! Experience real-time voice conversation powered by Qwen Omni:

# Install and run in one step (requires DashScope API key)
uvx vixio run xiaozhi-server \
  --preset qwen-realtime \
  --dashscope-key sk-your-key-here

What you get:

  • 🎙️ WebSocket server running at http://localhost:8000
  • 🤖 End-to-end voice AI with Qwen Omni Realtime
  • ⚡ Low latency, integrated VAD + ASR + LLM + TTS
  • 📱 Ready for xiaozhi devices or custom clients

Get your API key: DashScope Console

Customize Your Bot

# Use custom prompt
uvx vixio run xiaozhi-server \
  --preset qwen-realtime \
  --dashscope-key sk-xxx \
  --prompt "你是一个专业的编程助手"

# Use pipeline mode (more control)
uvx vixio run xiaozhi-server \
  --dashscope-key sk-xxx

# Export template for full customization
uvx vixio init xiaozhi-server
cd xiaozhi-server
# Edit .env, config.yaml, prompt.txt
python run.py

Installation

Install from source (Recommended)

git clone https://github.com/weynechen/vixio.git
cd vixio
uv sync --extra dev-qwen  # or dev-local-cn, dev-grpc, etc.

Using uv

  1. Install with core dependencies only:
uv pip install vixio
  1. Install with specific providers:
# For Chinese local development (VAD + ASR + TTS + Agent)
uv pip install "vixio[dev-local-cn]"

# For Qwen platform integration
uv pip install "vixio[dev-qwen]"

# Or install individual components
uv pip install "vixio[xiaozhi,openai-agent,silero-vad-grpc]"

Using pip

pip install vixio

# With optional dependencies
pip install "vixio[dev-local-cn]"

Available Components

Transports

  • xiaozhi - Xiaozhi protocol transport (WebSocket + HTTP)

VAD (Voice Activity Detection)

  • silero-vad-grpc - Silero VAD via gRPC service
  • silero-vad-local - Silero VAD local inference

ASR (Automatic Speech Recognition)

  • sherpa-onnx-asr-grpc - Sherpa-ONNX ASR via gRPC service
  • sherpa-onnx-asr-local - Sherpa-ONNX ASR local inference
  • qwen - Qwen platform ASR ...

TTS (Text-to-Speech)

  • kokoro-cn-tts-grpc - Kokoro TTS via gRPC service
  • kokoro-cn-tts-local - Kokoro TTS local inference
  • edge-tts - Microsoft Edge TTS (cloud)
  • qwen - Qwen platform TTS ...

Agent

  • openai-agent - OpenAI-compatible LLM via LiteLLM

Getting Started

  1. Check out the examples/ directory for usage examples
  2. Configure your providers in a YAML config file
  3. Run your voice agent application

Project Status

Current Version: v0.1.x (Alpha)

Note: This project is under active development. APIs may change.

License

Apache License - see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vixio-0.1.3.tar.gz (238.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vixio-0.1.3-py3-none-any.whl (290.8 kB view details)

Uploaded Python 3

File details

Details for the file vixio-0.1.3.tar.gz.

File metadata

  • Download URL: vixio-0.1.3.tar.gz
  • Upload date:
  • Size: 238.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.20

File hashes

Hashes for vixio-0.1.3.tar.gz
Algorithm Hash digest
SHA256 0bc9c37a96dbeed8bd4b3d507047fdb6d4d4d4efbd33dca61a082f37ab46e269
MD5 66bcf2f42924073141a9a368ceca9a55
BLAKE2b-256 ba45c0558fdbca967adbb4985833e1985c1aaf449f7f6147a0eddc3c73e83440

See more details on using hashes here.

File details

Details for the file vixio-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: vixio-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 290.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.20

File hashes

Hashes for vixio-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d4e15f46a536ceda587aad675b13134de2d0ab789a53c9ed722a80be3691535c
MD5 e4977ecf8c13cf3400b259915ec358b6
BLAKE2b-256 2c8ce1e69db42e2c5abbc16fdc503b73db9c39f8aecf9a0506d8c6f7fb71879e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page