tman serves as the official package manager for the TEN Framework, designed to streamline the management of extensions, protocols, and other components essential for real-time communication applications. Its primary purpose is to simplify the installation, updates, and integration of these elements within the framework.
Key Features:
Efficient Package Installation: tman allows developers to easily install and manage packages, ensuring that all necessary components are up-to-date.
Automatic Dependency Resolution: It automatically handles dependencies, eliminating manual conflicts and ensuring smooth operations.
Version Control and Updates: Developers can effortlessly manage package versions and receive updates, keeping their projects current with the latest features.
Audience & Benefits:
Ideal for developers building real-time applications, tman significantly enhances development efficiency. By providing seamless integration and easy access to a diverse range of packages, it empowers developers to focus on innovation while leveraging community contributions. Whether through CLI or within project setups, tman ensures projects are built faster and more effectively.
Install tman via winget to start managing your TEN Framework components with ease.
Follow TEN Framework on X for updates and announcements
Join our Discord community to connect with developers
Follow TEN Framework on LinkedIn for updates and announcements
Join our Hugging Face community to explore our spaces and models
Join our WeChat group for Chinese community discussions
Agent Examples
Multi-Purpose Voice Assistant — This low-latency, high-quality real-time assistant supports both RTC and WebSocket connections, and you can extend it with Memory, VAD, Turn Detection, and other extensions.
Lip Sync Avatars — Works with multiple avatar vendors, the main character features Kei, an anime character with MotionSync-powered lip sync, and also supports realistic avatars from Trulience, HeyGen, and Tavus.
See the Example code for different Live2D characters.
SIP Call — SIP extension that enables phone calls powered by TEN.
1. Clone the repo, cd into ai_agents, and create a .env file from .env.example
cd ai_agents
cp ./.env.example ./.env
2. Set up the Agora App ID and App Certificate in .env
AGORA_APP_ID=
AGORA_APP_CERTIFICATE=
# Deepgram (required for speech-to-text)
DEEPGRAM_API_KEY=
# OpenAI (required for language model)
OPENAI_API_KEY=
# ElevenLabs (required for text-to-speech)
ELEVENLABS_TTS_KEY=
3. Start agent development containers
docker compose up -d
4. Enter the container
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:
# 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.
task install
task run
7. Access the agent
Once the agent example is running, you can access the following interfaces:
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.
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
cd ai_agents
docker build -f agents/examples//Dockerfile -t example-app .
Run
docker run --rm -it --env-file .env -p 3000:3000 example-app
Deploying with other cloud services
You can split the deployment into two pieces when you want to host TEN on providers such as Vercel or Netlify.
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.
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.
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).
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.
Stay Tuned
Get instant notifications for new releases and updates. Your support helps us grow and improve TEN!
TEN Ecosystem
Project
Preview
️TEN FrameworkOpen-source framework for conversational AI Agents.
TEN VADLow-latency, lightweight and high-performance streaming voice activity detector (VAD).
️ TEN Turn DetectionTEN Turn Detection enables full-duplex dialogue communication.
TEN PortalThe official site of the TEN Framework with documentation and a blog.
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
ReadmeX
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 on 𝕏 or @cyfyifanchen on GitHub for project updates, discussions, and collaboration opportunities.
The entire TEN framework (except for the folders explicitly listed below) is released pursuant the Apache License, Version 2.0, with additional restrictions. For details, please refer to the LICENSE file located in the root directory of the TEN framework.
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.
The third-party libraries used by the TEN framework are listed and described in detail. For more information, please refer to the third_party folder.