![TEN banner][ten-framework-banner] [![TEN Releases]( https://img.shields.io/github/v/release/ten-framework/ten-framework?color=369eff&labelColor=gray&logo=github&style=flat-square )](https://github.com/TEN-framework/ten-framework/releases) [![](https://img.shields.io/github/release-date/ten-framework/ten-framework?labelColor=gray&style=flat-square)](https://github.com/TEN-framework/ten-framework/releases) [![Discussion posts](https://img.shields.io/github/discussions/TEN-framework/ten_framework?labelColor=gray&color=%20%23f79009)](https://github.com/TEN-framework/ten-framework/discussions/) [![Commits](https://img.shields.io/github/commit-activity/m/TEN-framework/ten_framework?labelColor=gray&color=pink)](https://github.com/TEN-framework/ten-framework/graphs/commit-activity) [![Issues closed](https://img.shields.io/github/issues-search?query=repo%3ATEN-framework%2Ften-framework%20is%3Aclosed&label=issues%20closed&labelColor=gray&color=green)](https://github.com/TEN-framework/ten-framework/issues) [![](https://img.shields.io/github/contributors/ten-framework/ten-framework?color=c4f042&labelColor=gray&style=flat-square)](https://github.com/TEN-framework/ten-framework/graphs/contributors) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome!-brightgreen.svg?style=flat-square)](https://github.com/TEN-framework/ten-framework/pulls) [![GitHub license](https://img.shields.io/badge/License-Apache_2.0_with_certain_conditions-blue.svg?labelColor=%20%23155EEF&color=%20%23528bff)](https://github.com/TEN-framework/ten_framework/blob/main/LICENSE) [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/TEN-framework/TEN-framework) [![ReadmeX](https://raw.githubusercontent.com/CodePhiliaX/resource-trusteeship/main/readmex.svg)](https://readmex.com/TEN-framework/ten-framework) [![GitHub watchers](https://img.shields.io/github/watchers/TEN-framework/ten_framework?style=social&label=Watch)](https://GitHub.com/TEN-framework/ten_framework/watchers/?WT.mc_id=academic-105485-koreyst) [![GitHub forks](https://img.shields.io/github/forks/TEN-framework/ten_framework?style=social&label=Fork)](https://GitHub.com/TEN-framework/ten_framework/network/?WT.mc_id=academic-105485-koreyst) [![GitHub stars](https://img.shields.io/github/stars/TEN-framework/ten_framework?style=social&label=Star)](https://GitHub.com/TEN-framework/ten_framework/stargazers/?WT.mc_id=academic-105485-koreyst) README in English 简体中文操作指南 日本語のREADME README in 한국어 README en Español README en Français README in Italiano [Official Site](https://theten.ai) • [Documentation](https://theten.ai/docs/ten_agent/overview) • [Blog](https://theten.ai/blog) TEN-framework%2Ften_framework | Trendshift

Table of Contents - [Welcome to TEN](#welcome-to-ten) - [Agent Examples](#agent-examples) - [Quick Start with Agent Examples](#quick-start-with-agent-examples) - [Localhost](#localhost) - [Codespaces](#codespaces) - [Agent Examples Self-Hosting](#agent-examples-self-hosting) - [Deploying with Docker](#deploying-with-docker) - [Deploying with other cloud services](#deploying-with-other-cloud-services) - [Stay Tuned](#stay-tuned) - [TEN Ecosystem](#ten-ecosystem) - [Questions](#questions) - [Contributing](#contributing) - [Code Contributors](#code-contributors) - [Contribution Guidelines](#contribution-guidelines) - [License](#license)
## Welcome to TEN TEN is a comprehensive open-source ecosystem for creating, customizing, and deploying real-time conversational AI agents with multimodal capabilities including voice, vision, and avatar interactions. TEN includes the [TEN Framework](https://github.com/ten-framework/ten-framework), [TEN VAD](https://github.com/ten-framework/ten-vad), [TEN Turn Detection](https://github.com/ten-framework/ten-turn-detection) and [TEN Portal](https://github.com/ten-framework/portal). See [TEN Ecosystem](#ten-ecosystem) for more details.
| Community Channel | Purpose | | ---------------- | ------- | | [![Follow on X](https://img.shields.io/twitter/follow/TenFramework?logo=X&color=%20%23f5f5f5)](https://twitter.com/intent/follow?screen_name=TenFramework) | Follow TEN Framework on X for updates and announcements | | [![Follow on LinkedIn](https://custom-icon-badges.demolab.com/badge/LinkedIn-TEN_Framework-0A66C2?logo=linkedin-white&logoColor=fff)](https://www.linkedin.com/company/ten-framework) | Follow TEN Framework on LinkedIn for updates and announcements | | [![Discord TEN Community](https://img.shields.io/badge/Discord-Join%20TEN%20Community-5865F2?style=flat&logo=discord&logoColor=white)](https://discord.gg/VnPftUzAMJ) | Join our Discord community to connect with developers | | [![Hugging Face Space](https://img.shields.io/badge/Hugging%20Face-TEN%20Framework-yellow?style=flat&logo=huggingface)](https://huggingface.co/TEN-framework) | Join our Hugging Face community to explore our spaces and models | | [![WeChat](https://img.shields.io/badge/TEN_Framework-WeChat_Group-%2307C160?logo=wechat&labelColor=darkgreen&color=gray)](https://github.com/TEN-framework/ten-agent/discussions/170) | Join our WeChat group for Chinese community discussions |
## Agent Examples
Preview Highlights
Multi-Purpose Voice Assistant — Low-latency, high-quality, real-time assistant that you can extend with memory, VAD, TEN Turn Detection and other extensions.
See the Example code for more details.
Lip Sync Avatars — Works with multiple avatar vendors, the demo features Kei, an anime character with Live2D-powered lip sync, and also supports realistic avatars from Trulience, HeyGen, and Tavus (coming soon).
See the Example code for Live2D avatars.
SIP Call — SIP extension that enables phone calls powered by TEN.
Example code
Speech Diarization — Real-time diarization that detects and labels speakers, the Who Likes What game shows an interactive use case. Example code
Transcription — A transcription tool that transcribes audio to text. Example code
ESP32-S3 Korvo V3 — Runs TEN Agent example on the Espressif ESP32-S3 Korvo V3 development board to integrate LLM-powered communication with hardware.
See the integration guide for more details.

[![][back-to-top]](#readme-top)
## Quick Start with Agent Examples ### Localhost #### Step ⓵ - Prerequisites | Category | Requirements | | --- | --- | | **Keys** | • Agora [App ID](https://docs.agora.io/en/video-calling/get-started/manage-agora-account?platform=web#create-an-agora-project) and [App Certificate](https://docs.agora.io/en/video-calling/get-started/manage-agora-account?platform=web#create-an-agora-project) (free minutes every month)
• [OpenAI](https://openai.com/index/openai-api/) API key (any LLM that is compatible with OpenAI)
• [Deepgram](https://deepgram.com/) ASR (free credits available with signup)
• [ElevenLabs](https://elevenlabs.io/) TTS (free credits available with signup) | | **Installation** | • [Docker](https://www.docker.com/) / [Docker Compose](https://docs.docker.com/compose/)
• [Node.js (LTS) v18](https://nodejs.org/en) | | **Minimum System Requirements** | • CPU >= 2 cores
• RAM >= 4 GB |
![divider](https://github.com/user-attachments/assets/c763ffa6-0b9f-4599-9e50-8ea97021e412) #### Step ⓶ - Build agent examples in VM ##### 1. Clone the repo, `cd` into `ai_agents`, and create a `.env` file from `.env.example` ```bash cd ai_agents cp ./.env.example ./.env ``` ##### 2. Set up the Agora App ID and App Certificate in `.env` ```bash AGORA_APP_ID= AGORA_APP_CERTIFICATE= # In case you are running the default voice-assistant example # Deepgram (required for speech-to-text) DEEPGRAM_API_KEY=your_deepgram_api_key_here # OpenAI (required for language model) OPENAI_API_KEY=your_openai_api_key_here OPENAI_MODEL=gpt-4o # ElevenLabs (required for text-to-speech) ELEVENLABS_TTS_KEY=your_elevenlabs_api_key_here ``` ##### 3. Start agent development containers ```bash docker compose up -d ``` ##### 4. Enter the container ```bash docker exec -it ten_agent_dev bash ``` ##### 5. Build the agent with the default example (~5-8 min) Check the `agents/examples` folder for additional samples. Start with one of these defaults: ```bash # use the chained voice assistant cd agents/examples/voice-assistant # or use the speech-to-speech voice assistant in real time cd agents/examples/voice-assistant-realtime ``` ##### 6. Start the web server Run `task build` if you changed any local source code. This step is required for compiled languages (for example, TypeScript or Go) and not needed for Python. ```bash task install task run ``` ##### 7. Access the agent Once the agent example is running, you can access the following interfaces:
localhost:49483 Screenshot 1
localhost:3000 Screenshot 2
- TMAN Designer: - Example UI:
![divider](https://github.com/user-attachments/assets/c763ffa6-0b9f-4599-9e50-8ea97021e412) #### Step ⓷ - Customize your agent 1. Open [localhost:49483](http://localhost:49483). 2. Right-click the STT, LLM, and TTS extensions. 3. Open their properties and enter the corresponding API keys. 4. Right-click the canvas and select **Manage Apps** to open the Apps Manager. 5. Under **Actions**, click ▶ to run the app. 6. Select **Run with TEN Agent**, then click **Run**.
![divider](https://github.com/user-attachments/assets/c763ffa6-0b9f-4599-9e50-8ea97021e412)
### Codespaces GitHub offers free Codespaces for each repository. You can run Agent Examples in Codespaces without using Docker. Codespaces typically start faster than local Docker environments. [codespaces-shield]: [![][codespaces-shield]](https://codespaces.new/ten-framework/ten-agent) Check out [this guide](https://theten.ai/docs/ten_agent/setup_development_env/setting_up_development_inside_codespace) for more details.
[![][back-to-top]](#readme-top)

## Agent Examples Self-Hosting ### Deploying with Docker Once you have customized your agent (either by using the TMAN Designer or editing `property.json` directly), you can deploy it by creating a release Docker image for your service. ##### Release as Docker image **Note**: The following commands need to be executed outside of any Docker container. ###### Build image ```bash cd ai_agents docker build -f agents/examples//Dockerfile -t example-app . ``` ###### Run ```bash docker run --rm -it --env-file .env -p 3000:3000 example-app ```
![divider](https://github.com/user-attachments/assets/c763ffa6-0b9f-4599-9e50-8ea97021e412) ### Deploying with other cloud services You can split the deployment into two pieces when you want to host TEN on providers such as [Vercel](https://vercel.com) or [Netlify](https://www.netlify.com). 1. Run the TEN backend on any container-friendly platform (a VM with Docker, Fly.io, Render, ECS, Cloud Run, or similar). Use the example Docker image without modifying it and expose port `8080` from that service. 2. Deploy only the frontend to Vercel or Netlify. Point the project root to `ai_agents/agents/examples//frontend`, run `pnpm install` (or `bun install`) followed by `pnpm build` (or `bun run build`), and keep the default `.next` output directory. 3. Configure environment variables in your hosting dashboard so that `AGENT_SERVER_URL` points to the backend URL, and add any `NEXT_PUBLIC_*` keys the UI needs (for example, Agora credentials you surface to the browser). 4. Ensure your backend accepts requests from the frontend origin — via open CORS or by using the built-in proxy middleware. With this setup, the backend handles long-running worker processes, while the hosted frontend simply forwards API traffic to it.
[![][back-to-top]](#readme-top)

## Stay Tuned Get instant notifications for new releases and updates. Your support helps us grow and improve TEN!
![Image](https://github.com/user-attachments/assets/72c6cc46-a2a2-484d-82a9-f3079269c815)
[![][back-to-top]](#readme-top)

## TEN Ecosystem
| Project | Preview | | ------- | ------- | | [**️TEN Framework**][ten-framework-link]
TEN is an open-source framework for real-time, multimodal conversational AI.

![][ten-framework-shield] | ![][ten-framework-banner] | | [**TEN VAD**][ten-vad-link]
TEN VAD is a low-latency, lightweight and high-performance streaming voice activity detector (VAD).

![][ten-vad-shield] | ![][ten-vad-banner] | | [**️ TEN Turn Detection**][ten-turn-detection-link]
TEN Turn Detection enables full-duplex dialogue communication.

![][ten-turn-detection-shield] | ![][ten-turn-detection-banner] | | [**TEN Portal**][ten-portal-link]
The official site of the TEN Framework with documentation and a blog.

![][ten-portal-shield] | ![][ten-portal-banner] | | [**TEN Agent**][ten-agent-link]
TEN Agent is a showcase of the TEN Framework.

| ![][ten-agent-banner] | | [**TMAN Designer**][tman-designer-link]
TMAN Designer is a low/no-code option for building a voice agent with an easy-to-use workflow UI.

| ![][tman-designer-banner] |
[![][back-to-top]](#readme-top)

## Questions TEN Framework is available on these AI-powered Q&A platforms. They can help you find answers quickly and accurately in multiple languages, covering everything from basic setup to advanced implementation details. | Service | Link | | ------- | ---- | | DeepWiki | [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/TEN-framework/TEN-framework) | | ReadmeX | [![ReadmeX](https://raw.githubusercontent.com/CodePhiliaX/resource-trusteeship/main/readmex.svg)](https://readmex.com/TEN-framework/ten-framework) |
[![][back-to-top]](#readme-top)
## Contributing We welcome all forms of open-source collaboration! Whether you're fixing bugs, adding features, improving documentation, or sharing ideas, your contributions help advance personalized AI tools. Check out our GitHub Issues and Projects to find ways to contribute and show your skills. Together, we can build something amazing!
> [!TIP] > > **Welcome all kinds of contributions** 🙏 > > Join us in building TEN better! Every contribution makes a difference, from code to documentation. Share your TEN Agent projects on social media to inspire others! > > Connect with one of the TEN maintainers [@elliotchen200](https://x.com/elliotchen200) on 𝕏 or [@cyfyifanchen](https://github.com/cyfyifanchen) on GitHub for project updates, discussions, and collaboration opportunities.
![divider](https://github.com/user-attachments/assets/c763ffa6-0b9f-4599-9e50-8ea97021e412) ### Code Contributors [![TEN](https://contrib.rocks/image?repo=TEN-framework/ten-agent)](https://github.com/TEN-framework/ten-agent/graphs/contributors) ### Contribution Guidelines Contributions are welcome! Please read the [contribution guidelines](./docs/code-of-conduct/contributing.md) first.
![divider](https://github.com/user-attachments/assets/c763ffa6-0b9f-4599-9e50-8ea97021e412) ### License 1. The entire TEN framework (except for the folders explicitly listed below) is released under the Apache License, Version 2.0, with additional restrictions. For details, please refer to the [LICENSE](./LICENSE) file located in the root directory of the TEN framework. 2. The components within the `packages` directory are released under the Apache License, Version 2.0. For details, please refer to the `LICENSE` file located in each package's root directory. 3. The third-party libraries used by the TEN framework are listed and described in detail. For more information, please refer to the [third_party](./third_party/) folder.
[![][back-to-top]](#readme-top)
[back-to-top]: https://img.shields.io/badge/-Back_to_top-gray?style=flat-square [ten-framework-shield]: https://img.shields.io/github/stars/ten-framework/ten_framework?color=ffcb47&labelColor=gray&style=flat-square&logo=github [ten-framework-banner]: https://github.com/user-attachments/assets/7c8f72d7-3993-4d01-8504-b71578a22944 [ten-framework-link]: https://github.com/ten-framework/ten_framework [ten-vad-link]: https://github.com/ten-framework/ten-vad [ten-vad-shield]: https://img.shields.io/github/stars/ten-framework/ten-vad?color=ffcb47&labelColor=gray&style=flat-square&logo=github [ten-vad-banner]: https://github.com/user-attachments/assets/d45870e4-9453-4047-8163-08737f82863f [ten-turn-detection-link]: https://github.com/ten-framework/ten-turn-detection [ten-turn-detection-shield]: https://img.shields.io/github/stars/ten-framework/ten-turn-detection?color=ffcb47&labelColor=gray&style=flat-square&logo=github [ten-turn-detection-banner]: https://github.com/user-attachments/assets/8d0ec716-5d0e-43e4-ad9a-d97b17305658 [ten-agent-link]: https://github.com/TEN-framework/ten-framework/tree/main/ai_agents [ten-agent-banner]: https://github.com/user-attachments/assets/38de2207-939b-4702-a0aa-04491f5b5275 [tman-designer-banner]: https://github.com/user-attachments/assets/804c3543-0a47-42b7-b40b-ef32b742fb8f [tman-designer-link]: https://github.com/TEN-framework/ten-framework/tree/main/core/src/ten_manager/designer_frontend [ten-portal-link]: https://github.com/ten-framework/portal [ten-portal-shield]: https://img.shields.io/github/stars/ten-framework/portal?color=ffcb47&labelColor=gray&style=flat-square&logo=github [ten-portal-banner]: https://github.com/user-attachments/assets/e17d8aaa-5928-45dd-ac71-814928e26a89