Skip to content

TEN Agent is a world-class multimodal AI agent integrated with the OpenAI Realtime API, RTC, and features weather checks, web search, vision, and RAG.

License

Notifications You must be signed in to change notification settings

TEN-framework/TEN-Agent

Repository files navigation

TEN Agent banner


🎉 TEN Agent with OpenAI Realtime API and RTC

Try OpenAI Realtime API, Weather Check and Web Search at agent.theten.ai.

Combining OpenAI Realtime API for ultra-low latency with RTC’s AI noise suppression ensures smooth, high-quality interactions. On top of that, the seamless integration of weather and news tools makes TEN Agent even more versatile.

TEN Agent with OpenAI Realtime API and RTC


Usecases

Usecases


TEN Agent Features

  • OpenAI Realtime API and RTC Integration: TEN Agent seamlessly integrates OpenAI's Realtime API with RTC capabilities, enabling natural, responsive conversations with ultra-low latency and high-quality audio processing.

  • High-Performance Real-Time Multimodal Interactions: Offers high-performance, low-latency solutions for complex audio-visual AI applications.

  • Multi-Language and Multi-Platform Support : Supports extension development in C++, Go, Python, etc. Runs on Windows, Mac, Linux, and mobile devices.

  • Edge-Cloud Integration: Flexibly combines edge and cloud-deployed extensions, balancing privacy, cost, and performance.

  • Flexibility Beyond Model Limitations: Easily build complex AI applications through simple drag-and-drop programming, integrating audio-visual tools, databases, RAG, and more.

  • Real-Time Agent State Management: Manages and adjusts agent behavior in real-time for dynamic responsiveness.


Ready-to-use Extensions

Ready-to-use Extensions


How to build TEN Agent locally

Prerequisites

Category Requirements
Keys • Agora App ID and App Certificate (free minutes every month)
OpenAI API key
Deepgram ASR (free credits available with signup)
FishAudio TTS (free credits available with signup)
Installation Docker / Docker Compose
Node.js(LTS) v18
Minimum System Requirements • CPU >= 2 Core
• RAM >= 4 GB

macOS: Docker setting on Apple Silicon

For Apple Silicon Macs, uncheck "Use Rosetta for x86/amd64 emulation" in Docker settings. Note: This may result in slower build times on ARM, but performance will be normal when deployed to x64 servers.

Docker Setting


Next step

1. Modify config files

In the root of the project, use cp command to create .env from the .env.example .

It will be used to store environment variables for docker compose later, and if you change it, you will need to source .env again in the container for the changes to take effect.

cp ./.env.example ./.env

2. Setup API keys

Open the .env file and fill in the keys. We recommend using Deepgram ASR and FishAudio TTS as they are free to sign up for and offer free credits. Of course, you can also use other services, see the list in .env.example.

# Agora App ID and Agora App Certificate
# These are enabled by default when you create an Agora project
AGORA_APP_ID=
AGORA_APP_CERTIFICATE=

OPENAI_API_KEY=

DEEPGRAM_API_KEY=

FISH_AUDIO_TTS_KEY=

3. Start agent development containers

In the same directory, run the docker compose up command to compose containers:

docker compose up

Or using the docker compose up -d command, start the container in detached mode.(more here)

docker compose up -d

4. Enter container and build agent

Open up a separate terminal window, enter the container and build the agent:

docker exec -it ten_agent_dev bash

task use AGENT=agents/examples/demo

5. Start the server

Once the build is done, task run on port 8080/49483:

task run

Finish and verify

TEN Agent

Open up localhost:3000 in browser to play the TEN Agent.

TEN Graph Designer

Open up another tab go to localhost:3001, and use Graph Designer to create, connect and edit extensions on canvas.

Once you save the graph, you can return to localhost:3000 and select the corresponding graph to view the changes.

TEN Graph Designer


How components work together

Components Diagram


Stay Tuned

Before we get started, be sure to star our repository and get instant notifications for all new releases!

TEN star us gif


Join Community

  • Discord: Ideal for sharing your applications and engaging with the community.
  • GitHub Discussion: Perfect for providing feedback and asking questions.
  • GitHub Issues: Best for reporting bugs and proposing new features. Refer to our contribution guidelines for more details.
  • X: Great for sharing your agents and interacting with the community.

Code Contributors

TEN


Contribution Guidelines

Contributions are welcome! Please read the contribution guidelines first.


License

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