0
stars
1,866
commits
Python
primary language
Jan 28, 2026
updated
简体中文 | English
This repository demonstrates how to use Seeed Studio reSpeaker XVF3800 as an edge voice device, build a real-time voice link via Agora, and connect to an AI Agent backend service to complete a full voice conversation loop.
The key content is in
ai_agents/:
- Edge (ESP32):
ai_agents/esp32-client- Backend (AI Agent Server):
ai_agents/server
ai_agents/
esp32-client/ # XIAO ESP32-S3 edge side: audio capture/playback + Agora connection + conversation interaction
server/ # Backend: AI Agent orchestration / LLM / ASR / TTS, etc. (works together with the edge side)
ai_agents/server receives audio/events and performs ASR → LLM → TTS (or other Agent flows)Go to: ai_agents/server
Follow the README/docs in that directory:
After that, you should see the backend service start successfully and wait for edge connections or room events.
Applies to: Windows 10/11 (WSL2 is recommended). The following commands are recommended to run in PowerShell or Windows Terminal.
A. Install / Configure Docker Desktop (one-time)
Settings -> Resources -> WSL Integration
Enable your commonly used WSL distribution (e.g., Ubuntu).B. Clone the repo and prepare environment variables
git clone https://github.com/zhannn668/seeed-xiao-agora-client.git
cd seeed-xiao-agora-client
cd ai_agents
Copy the example environment variables to .env (choose one):
Copy-Item .env.example .env
copy .env.example .env
Then open .env in an editor and fill in your keys/config (Agora / LLM / ASR / TTS, etc.):
How to get API Keys:
Agora:
Deepgram:
OpenAI:
ElevenLabs:
# Agora RTC Configuration (Required)
AGORA_APP_ID=your_agora_app_id_here
AGORA_APP_CERTIFICATE=your_agora_certificate_here
# Deepgram ASR Configuration (Required)
DEEPGRAM_API_KEY=your_deepgram_api_key_here
# OpenAI LLM Configuration (Required)
OPENAI_API_KEY=your_openai_api_key_here
OPENAI_MODEL=gpt-4o
OPENAI_PROXY_URL= # Optional: leave empty if not using proxy
# ElevenLabs TTS Configuration (Required)
ELEVENLABS_TTS_KEY=your_elevenlabs_api_key_here
# Optional: Weather API (for weather tool functionality)
WEATHERAPI_API_KEY=your_weatherapi_api_key_here
Open ai_agents/agents/examples/voice-assistant/tenapp/property.json in an editor, and modify it according to the model you choose. You can refer to: https://docs.agora.io/en/conversational-ai/models/asr/overview
......
"llm": {
"url": "https://api.openai.com/v1/chat/completions",
"api_key": "<your_llm_key>",
"system_messages": [
{
"role": "system",
"content": "You are a helpful chatbot."
}
],
"max_history": 32,
"greeting_message": "Hello, how can I assist you",
"failure_message": "Please hold on a second.",
"params": {
"model": "gpt-4o-mini"
},
}
"tts": {
"vendor": "cartesia",
"params": {
"api_key": "<your_cartesia_key>",
"model_id": "sonic-2",
"voice": {
"mode": "id",
"id": "<voice_id>"
},
"output_format": {
"container": "raw",
"sample_rate": 16000
},
"language": "en"
}
}
......
C. Start the service (Docker Compose)
docker compose up -d
Check container status (optional):
docker compose ps
D. Enter the container and install the sample (Voice Assistant)
Note: The container name may vary depending on the compose configuration. The example below uses
ten_agent_dev. If yours differs, use the output ofdocker compose ps.
docker exec -it ten_agent_dev bash
After entering the container, run:
cd agents/examples/voice-assistant
task install
task run
E. Verify the backend is running
docker compose logs -f
To stop the service:
docker compose down
Go to: ai_agents/esp32-client
Follow the README/docs in that directory:
ai_agents/server first (get the whole pipeline running), then read ai_agents/esp32-client (connect the edge device).ai_agents/esp32-client. The backend can be started with the default sample.ai_agents/ are upstream frameworks/toolchains/sample collections. This demo mainly focuses on the edge + backend linkage.(top 30 of 65)
Python
29.7%
C
24.1%
C++
16.8%
Rust
12.6%
TypeScript
11.4%
Go
3.3%
0
stars
1,866
commits
Python
primary language
Jan 28, 2026
updated
简体中文 | English
This repository demonstrates how to use Seeed Studio reSpeaker XVF3800 as an edge voice device, build a real-time voice link via Agora, and connect to an AI Agent backend service to complete a full voice conversation loop.
The key content is in
ai_agents/:
- Edge (ESP32):
ai_agents/esp32-client- Backend (AI Agent Server):
ai_agents/server
ai_agents/
esp32-client/ # XIAO ESP32-S3 edge side: audio capture/playback + Agora connection + conversation interaction
server/ # Backend: AI Agent orchestration / LLM / ASR / TTS, etc. (works together with the edge side)
ai_agents/server receives audio/events and performs ASR → LLM → TTS (or other Agent flows)Go to: ai_agents/server
Follow the README/docs in that directory:
After that, you should see the backend service start successfully and wait for edge connections or room events.
Applies to: Windows 10/11 (WSL2 is recommended). The following commands are recommended to run in PowerShell or Windows Terminal.
A. Install / Configure Docker Desktop (one-time)
Settings -> Resources -> WSL Integration
Enable your commonly used WSL distribution (e.g., Ubuntu).B. Clone the repo and prepare environment variables
git clone https://github.com/zhannn668/seeed-xiao-agora-client.git
cd seeed-xiao-agora-client
cd ai_agents
Copy the example environment variables to .env (choose one):
Copy-Item .env.example .env
copy .env.example .env
Then open .env in an editor and fill in your keys/config (Agora / LLM / ASR / TTS, etc.):
How to get API Keys:
Agora:
Deepgram:
OpenAI:
ElevenLabs:
# Agora RTC Configuration (Required)
AGORA_APP_ID=your_agora_app_id_here
AGORA_APP_CERTIFICATE=your_agora_certificate_here
# Deepgram ASR Configuration (Required)
DEEPGRAM_API_KEY=your_deepgram_api_key_here
# OpenAI LLM Configuration (Required)
OPENAI_API_KEY=your_openai_api_key_here
OPENAI_MODEL=gpt-4o
OPENAI_PROXY_URL= # Optional: leave empty if not using proxy
# ElevenLabs TTS Configuration (Required)
ELEVENLABS_TTS_KEY=your_elevenlabs_api_key_here
# Optional: Weather API (for weather tool functionality)
WEATHERAPI_API_KEY=your_weatherapi_api_key_here
Open ai_agents/agents/examples/voice-assistant/tenapp/property.json in an editor, and modify it according to the model you choose. You can refer to: https://docs.agora.io/en/conversational-ai/models/asr/overview
......
"llm": {
"url": "https://api.openai.com/v1/chat/completions",
"api_key": "<your_llm_key>",
"system_messages": [
{
"role": "system",
"content": "You are a helpful chatbot."
}
],
"max_history": 32,
"greeting_message": "Hello, how can I assist you",
"failure_message": "Please hold on a second.",
"params": {
"model": "gpt-4o-mini"
},
}
"tts": {
"vendor": "cartesia",
"params": {
"api_key": "<your_cartesia_key>",
"model_id": "sonic-2",
"voice": {
"mode": "id",
"id": "<voice_id>"
},
"output_format": {
"container": "raw",
"sample_rate": 16000
},
"language": "en"
}
}
......
C. Start the service (Docker Compose)
docker compose up -d
Check container status (optional):
docker compose ps
D. Enter the container and install the sample (Voice Assistant)
Note: The container name may vary depending on the compose configuration. The example below uses
ten_agent_dev. If yours differs, use the output ofdocker compose ps.
docker exec -it ten_agent_dev bash
After entering the container, run:
cd agents/examples/voice-assistant
task install
task run
E. Verify the backend is running
docker compose logs -f
To stop the service:
docker compose down
Go to: ai_agents/esp32-client
Follow the README/docs in that directory:
ai_agents/server first (get the whole pipeline running), then read ai_agents/esp32-client (connect the edge device).ai_agents/esp32-client. The backend can be started with the default sample.ai_agents/ are upstream frameworks/toolchains/sample collections. This demo mainly focuses on the edge + backend linkage.(top 30 of 65)
Python
29.7%
C
24.1%
C++
16.8%
Rust
12.6%
TypeScript
11.4%
Go
3.3%