MCPcopy Index your code
hub / github.com/HumanAIGC-Engineering/OpenAvatarChat

github.com/HumanAIGC-Engineering/OpenAvatarChat @0.6.0 sqlite

repository ↗ · DeepWiki ↗ · release 0.6.0 ↗
1,871 symbols 7,079 edges 227 files 760 documented · 41%
README

Open Avatar Chat

中文 | English

A modular interactive digital human conversation implementation.

🤗 Demo&nbsp&nbsp|&nbsp&nbspStatic Badge Demo&nbsp&nbsp|&nbsp&nbsp💬 WeChat&nbsp&nbsp|&nbsp&nbsp📖 Docs

💡 Core Highlights

  • Multimodal Interaction: Supports text, audio, video and other interaction methods for natural human-machine dialogue
  • Modular Architecture: Highly modular design with flexible ASR, LLM, TTS, and Avatar component replacement
  • Diverse Avatar Options: Supports LiteAvatar, LAM, MuseTalk, FlashHead and other digital human technologies
  • Low Latency: Optimized through VAD detection, audio buffering, and frame rate control with ~2.2s average response time

📢 News

  • [2026.04] ⭐️⭐️⭐️ Version 0.6.0 Released:
  • Architecture refactored with frontend/backend separation: OpenAvatarChat-WebUI
  • All avatars now support manual interrupt and duplex interrupt modes
  • Optimized installation, deployment, and model download workflow
  • Integrated SoulX-FlashHead diffusion-based real-time streaming talking head
  • [2025.08.19] ⭐️⭐️⭐️ Version 0.5.1 Released:
  • LiteAvatar multi-session support
  • Added Qwen-Omni multimodal model support

📋 Full Release Notes

Demo

Try it Online

We have deployed demo services on ModelScope and HuggingFace. Feel free to try it out.

Demo Video

LiteAvatar

LAM

Component Dependencies

Type Open Source Project GitHub Link Model Link
RTC HumanAIGC-Engineering/gradio-webrtc
WebUI HumanAIGC-Engineering/OpenAvatarChat-WebUI
VAD snakers4/silero-vad
Avatar HumanAIGC/lite-avatar
TTS FunAudioLLM/CosyVoice
Avatar aigc3d/LAM_Audio2Expression 🤗
facebook/wav2vec2-base-960h 🤗  
Avatar TMElyralab/MuseTalk
Avatar Soul-AILab/SoulX-FlashHead 🤗

🚀 Quick Start

# Clone the project
git clone https://github.com/HumanAIGC-Engineering/OpenAvatarChat.git
cd OpenAvatarChat
git submodule update --init --recursive --depth 1

# Install dependencies (LiteAvatar + Bailian API example)
uv run install.py --config config/chat_with_openai_compatible_bailian_cosyvoice.yaml

# Download models
uv run scripts/download_models.py --handler liteavatar

# Start
uv run src/demo.py --config config/chat_with_openai_compatible_bailian_cosyvoice.yaml

📖 See Getting Started for detailed instructions.

Preset Modes

CONFIG Name ASR LLM TTS AVATAR
chat_with_lam.yaml SenseVoice API API LAM
chat_with_qwen_omni.yaml Qwen-Omni Qwen-Omni Qwen-Omni lite-avatar
chat_with_openai_compatible_bailian_cosyvoice.yaml SenseVoice API API lite-avatar
chat_with_openai_compatible_bailian_cosyvoice_flashhead.yaml SenseVoice API API FlashHead
chat_with_openai_compatible_bailian_cosyvoice_flashhead_duplex.yaml SenseVoice API API FlashHead (Duplex)
chat_with_openai_compatible_bailian_cosyvoice_flashhead_duplex_agent.yaml SenseVoice Agent API FlashHead (Duplex+Agent) Beta

📖 View all preset modes

🧪 Beta Features

Chat Agent Mode (OpenClaw Integration)

[!WARNING] This feature is currently in Beta. APIs and configuration formats may change at any time.

Chat Agent mode replaces the traditional LLM Handler with a multi-turn tool-calling Agent, providing:

  • Tool Calling: Invoke tools across multiple turns (get time, system info, etc.)
  • Persona & Long-term Memory: Persistent persona through OpenClaw's Agent Profile
  • Context Compression: Automatically compresses long conversation history
  • Background Task Collaboration: Execute complex tasks via OpenClaw in the background
  • Visual Perception: Camera input processing via PerceptionAgent

📖 Full Chat Agent documentation

Community

  • WeChat Group

community_wechat.png

Community Thanks

Star History

Citation

If you found OpenAvatarChat helpful in your research/project, we would appreciate a Star⭐ and citation✏️

@software{avatarchat2025,
  author = {Gang Cheng, Tao Chen, Feng Wang, Binchao Huang, Hui Xu, Guanqiao He, Yi Lu, Shengyin Tan},
  title = {OpenAvatarChat},
  year = {2025},
  publisher = {GitHub},
  url = {https://github.com/HumanAIGC-Engineering/OpenAvatarChat}
}

Core symbols most depended-on inside this repo

get
called by 349
src/handlers/agent/tools/tool_registry.py
append
called by 272
src/handlers/client/ws_client/ws_binary_protocol.py
set_main_data
called by 51
src/chat_engine/data_models/runtime_data/data_bundle.py
add_entry
called by 42
src/chat_engine/data_models/runtime_data/data_bundle.py
get_main_data
called by 39
src/chat_engine/data_models/runtime_data/data_bundle.py
copy
called by 37
src/service/rtc_service/rtc_stream.py
clear
called by 28
src/handlers/tts/token_buffer.py
get_project_dir
called by 24
src/engine_utils/directory_info.py

Shape

Method 1,356
Class 351
Function 158
Route 6

Languages

Python99%
TypeScript1%

Modules by API surface

src/chat_engine/core/stream_manager.py83 symbols
src/handlers/client/ws_client/ws_input_delegate.py50 symbols
src/chat_engine/data_models/runtime_data/data_bundle.py42 symbols
src/handlers/agent/chat_agent_handler.py41 symbols
src/handlers/client/ws_client/ws_message_protocol.py38 symbols
src/engine_utils/audio_utils/auto_gain_control.py38 symbols
src/handlers/client/rtc_client/client_handler_rtc.py34 symbols
src/handlers/tts/bailian_tts/tts_handler_cosyvoice_bailian.py28 symbols
src/handlers/llm/semantic_turn_detector/semantic_turn_detector_handler.py28 symbols
src/handlers/llm/qwen_omni/llm_handler_qwen_omni.py28 symbols
src/handlers/agent/perception/vision_model_interface.py28 symbols
src/chat_engine/contexts/session_history.py28 symbols

Dependencies from manifests, versioned

vitepress1.6.3 · 1×
accelerate0.28.0 · 1×
addict2.4.0 · 1×
aiohttp3.11.12 · 1×
conformer0.3.2 · 1×
dashscope1.23.1 · 1×
diffusers0.30.2 · 1×
dynaconf3.2.7 · 1×
easydict
edge-tts7.0.0 · 1×
einops0.8.1 · 1×
ffmpeg-python0.2.0 · 1×

For agents

$ claude mcp add OpenAvatarChat \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact