{"id":18138229,"url":"https://github.com/ten-framework/ten-agent","last_synced_at":"2025-03-31T00:30:57.389Z","repository":{"id":245230533,"uuid":"817354652","full_name":"TEN-framework/TEN-Agent","owner":"TEN-framework","description":"TEN Agent is a conversational voice AI agent powered by TEN, integrating Deepseek, Gemini, OpenAI, RTC, and hardware like ESP32. It enables realtime AI capabilities like  seeing, hearing, and speaking, and is fully compatible with platforms like Dify and Coze.","archived":false,"fork":false,"pushed_at":"2025-03-30T02:10:55.000Z","size":32247,"stargazers_count":5427,"open_issues_count":75,"forks_count":612,"subscribers_count":55,"default_branch":"main","last_synced_at":"2025-03-30T03:19:25.871Z","etag":null,"topics":["agent","ai","asr","cpp","gemini","golang","gpt-4","gpt-4o","llm","low-latency","multimodal","nextjs14","openai","python","rag","real-time","realtime","tts","vision","voice-assistant"],"latest_commit_sha":null,"homepage":"https://agent.theten.ai/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TEN-framework.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"docs/code-of-conduct/code-of-conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-19T14:26:15.000Z","updated_at":"2025-03-30T03:14:31.000Z","dependencies_parsed_at":"2024-06-28T02:35:30.285Z","dependency_job_id":"b99b27df-0541-48ff-9c36-9cd4c51cb387","html_url":"https://github.com/TEN-framework/TEN-Agent","commit_stats":null,"previous_names":["rte-design/astra.ai","ten-framework/ten-agent","ten-framework/astra.ai"],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TEN-framework%2FTEN-Agent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TEN-framework%2FTEN-Agent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TEN-framework%2FTEN-Agent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TEN-framework%2FTEN-Agent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TEN-framework","download_url":"https://codeload.github.com/TEN-framework/TEN-Agent/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246399816,"owners_count":20770907,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","ai","asr","cpp","gemini","golang","gpt-4","gpt-4o","llm","low-latency","multimodal","nextjs14","openai","python","rag","real-time","realtime","tts","vision","voice-assistant"],"created_at":"2024-11-01T16:00:35.370Z","updated_at":"2025-03-31T00:30:57.347Z","avatar_url":"https://github.com/TEN-framework.png","language":"Python","readme":"![TEN Agent banner](https://github.com/TEN-framework/docs/blob/main/assets/jpg/banner.jpg?raw=true)\n\n\u003cdiv align=\"center\"\u003e\n\n[![Follow on X](https://img.shields.io/twitter/follow/TenFramework?logo=X\u0026color=%20%23f5f5f5)](https://twitter.com/intent/follow?screen_name=TenFramework)\n[![Discussion posts](https://img.shields.io/github/discussions/TEN-framework/ten-agent?labelColor=%20%23FDB062\u0026color=%20%23f79009)](https://github.com/TEN-framework/ten-agent/discussions/)\n[![Commits](https://img.shields.io/github/commit-activity/m/TEN-framework/ten-agent?labelColor=%20%237d89b0\u0026color=%20%235d6b98)](https://github.com/TEN-framework/ten-agent/graphs/commit-activity)\n[![Issues closed](https://img.shields.io/github/issues-search?query=repo%3ATEN-framework%2Ften-agent%20is%3Aclosed\u0026label=issues%20closed\u0026labelColor=green\u0026color=green)](https://github.com/TEN-framework/ten-agent/issues)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](https://github.com/TEN-framework/ten-agent/pulls)\n[![GitHub license](https://img.shields.io/badge/License-Apache_2.0-blue.svg?labelColor=%20%23155EEF\u0026color=%20%23528bff)](https://github.com/TEN-framework/ten-agent/blob/main/LICENSE)\n\n[![Discord TEN Community](https://dcbadge.vercel.app/api/server/VnPftUzAMJ)](https://discord.gg/VnPftUzAMJ)\n\n\u003ca href=\"https://trendshift.io/repositories/11978\" target=\"_blank\"\u003e\u003cimg src=\"https://trendshift.io/api/badge/repositories/11978\" alt=\"TEN-framework%2FTEN-Agent | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"/\u003e\u003c/a\u003e\n\n[![GitHub watchers](https://img.shields.io/github/watchers/TEN-framework/ten-agent?style=social\u0026label=Watch)](https://GitHub.com/TEN-framework/ten-agent/watchers/?WT.mc_id=academic-105485-koreyst)\n[![GitHub forks](https://img.shields.io/github/forks/TEN-framework/ten-agent?style=social\u0026label=Fork)](https://GitHub.com/TEN-framework/ten-agent/network/?WT.mc_id=academic-105485-koreyst)\n[![GitHub stars](https://img.shields.io/github/stars/TEN-framework/ten-agent?style=social\u0026label=Star)](https://GitHub.com/TEN-framework/ten-agent/stargazers/?WT.mc_id=academic-105485-koreyst)\n\n\u003ca href=\"https://github.com/TEN-framework/ten-agent/blob/main/README.md\"\u003e\u003cimg alt=\"README in English\" src=\"https://img.shields.io/badge/English-lightgrey\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/ten-framework/ten-agent/blob/main/docs/readmes/README-CN.md\"\u003e\u003cimg alt=\"简体中文操作指南\" src=\"https://img.shields.io/badge/简体中文-lightgrey\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/ten-framework/ten-agent/blob/main/docs/readmes/README-JP.md\"\u003e\u003cimg alt=\"日本語のREADME\" src=\"https://img.shields.io/badge/日本語-lightgrey\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/ten-framework/ten-agent/blob/main/docs/readmes/README-KR.md\"\u003e\u003cimg alt=\"README in 한국어\" src=\"https://img.shields.io/badge/한국어-lightgrey\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/ten-framework/ten-agent/blob/main/docs/readmes/README-ES.md\"\u003e\u003cimg alt=\"README en Español\" src=\"https://img.shields.io/badge/Español-lightgrey\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/ten-framework/ten-agent/blob/main/docs/readmes/README-FR.md\"\u003e\u003cimg alt=\"README en Français\" src=\"https://img.shields.io/badge/Français-lightgrey\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/ten-framework/ten-agent/blob/main/docs/readmes/README-IT.md\"\u003e\u003cimg alt=\"README in Italiano\" src=\"https://img.shields.io/badge/Italiano-lightgrey\"\u003e\u003c/a\u003e\n\n[Documentation](https://doc.theten.ai/ten-agent/overview)\n\u003cspan\u003e\u0026nbsp;\u0026nbsp;•\u0026nbsp;\u0026nbsp;\u003c/span\u003e\n[Getting Started](https://doc.theten.ai/ten-agent/getting_started)\n\u003cspan\u003e\u0026nbsp;\u0026nbsp;•\u0026nbsp;\u0026nbsp;\u003c/span\u003e\n[TEN Framework Repository](https://github.com/TEN-framework/ten_framework)\n\n\u003c/div\u003e\n\n\u003cbr\u003e\n\u003ch2\u003e✨ TEN Agent + Trulience\u003c/h2\u003e\n\n\u003cdetails open\u003e\n  \u003csummary\u003e\u003ckbd\u003eTEN Agent + Trulience\u003c/kbd\u003e\u003c/summary\u003e\n\n  \u003cbr\u003e\n  \u003cpicture\u003e\n\n  ![TEN Agent with Trulience](https://github.com/TEN-framework/docs/blob/main/assets/gif/ten-trulience.gif?raw=true)\n\n  \u003c/picture\u003e\n\n\u003c/details\u003e\n\nBuild engaging AI avatars with TEN Agent using [Trulience](https://trulience.com)'s diverse collection of free avatar options. To get it up and running, you only need 2 steps:\n\n1. Follow the README to finish setting up and running the Playground in localhost:3000\n2. Enter the avatar ID and [token](https://trulience.com/docs#/authentication/jwt-tokens/jwt-tokens?id=use-your-custom-userid) you get from [Trulience](https://trulience.com)\n\n\u003cbr\u003e\n\n\u003ch2\u003eTEN Agent + Deepseek\u003c/h2\u003e\n\n[TEN Agent + Deepseek](https://ten-framework.medium.com/deepgram-deepseek-fish-audio-build-your-own-voice-assistant-with-ten-agent-d3ee65faabe8)\n\nTEN is a very versatile framework. That said, TEN Agent is compatible with DeepSeek R1, try experiencing realtime conversations with DeepSeek R1!\n\n\u003cbr\u003e\n\u003ch2\u003eTEN Agent + ESP32\u003c/h2\u003e\n\n[TEN Agent ESP32 Client](https://github.com/TEN-framework/TEN-Agent/tree/main/esp32-client)\n\nTEN Agent is now running on the Espressif ESP32-S3 Korvo V3 development board, an excellent way to integrate realtime communication with LLM on hardware.\n\n\u003cbr\u003e\n\u003ch2\u003eTEN Agent + Dify with RAG + Coze\u003c/h2\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003ckbd\u003eTEN Agent + Dify Agent with RAG\u003c/kbd\u003e\u003c/summary\u003e\n\n  \u003cbr\u003e\n  \u003cpicture\u003e\n\n  ![Dify with RAG](https://github.com/TEN-framework/docs/blob/main/assets/gif/dify-rag.gif?raw=true)\n\n  \u003c/picture\u003e\n\n\u003c/details\u003e\n\n  [TEN Agent + Dify](https://doc.theten.ai/ten-agent/quickstart-1/use-cases/run_va/run_dify)  \n\n  [TEN Agent + Coze](https://doc.theten.ai/ten-agent/quickstart-1/use-cases/run_va/run_coze)  \n\nTEN offers a great support to make the realtime interactive experience even better on other LLM platform as well, check out docs for more.\n\n\u003cbr\u003e\n\u003ch2\u003eTEN Agent + Gemini Multimodal Live API\u003c/h2\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003ckbd\u003eGemini 2.0 Multimodal Live API\u003c/kbd\u003e\u003c/summary\u003e\n\n  \u003cbr\u003e\n  \u003cpicture\u003e\n\n  ![Usecases](https://github.com/TEN-framework/docs/blob/main/assets/gif/gemini.gif?raw=true)\n\n  \u003c/picture\u003e\n\n\u003c/details\u003e\n\nTry **Google Gemini Multimodal Live API** with **realtime vision** and **realtime screenshare detection** capabilities, it is a ready-to-use extension, along with powerful tools like **Weather Check** and **Web Search** integrated perfectly into TEN Agent.\n\n\u003cbr\u003e\n\u003ch2\u003eTEN Agent + Storyteller + Image Generator\u003c/h2\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003ckbd\u003eStoryteller + Image Generator\u003c/kbd\u003e\u003c/summary\u003e\n\n  \u003cbr\u003e\n  \u003cpicture\u003e\n\n  ![Usecases](https://github.com/TEN-framework/docs/blob/main/assets/jpg/storyteller_image_generator.jpg?raw=true)\n\n  \u003c/picture\u003e\n\n\u003c/details\u003e\n\nDescribe a topic and ask TEN Agent to tell you a story while also generating images of the story to provide a more immersive experience for kids.\n\n\u003cbr\u003e\n\u003ch2\u003eTEN Agent Usecases\u003c/h2\u003e\n\n![Usecases](https://github.com/TEN-framework/docs/blob/main/assets/jpg/usecases.jpg?raw=true)\n\n\u003cbr\u003e\n\u003ch2\u003eReady-to-use Extensions\u003c/h2\u003e\n\n![Ready-to-use Extensions](https://github.com/TEN-framework/docs/blob/main/assets/jpg/extensions.jpg?raw=true)\n\n\u003cbr\u003e\n\u003ch2\u003eTEN Agent Playground in Local Environment\u003c/h2\u003e\n\n### Prerequisites\n\n| Category | Requirements |\n|----------|-------------|\n| **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) \u003cbr\u003e• [OpenAI](https://openai.com/index/openai-api/) API key (any LLM that is compatible with OpenAI)\u003cbr\u003e• [Deepgram](https://deepgram.com/) ASR (free credits available with signup)\u003cbr\u003e• [Elevenlabs](https://elevenlabs.io/) TTS (free credits available with signup)|\n| **Installation** | • [Docker](https://www.docker.com/) / [Docker Compose](https://docs.docker.com/compose/)\u003cbr\u003e• [Node.js(LTS) v18](https://nodejs.org/en) |\n| **Minimum System Requirements** | • CPU \u003e= 2 Core\u003cbr\u003e• RAM \u003e= 4 GB |\n\n\u003cbr\u003e\n\n### macOS: Docker setting on Apple Silicon\n\nFor 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.\n\n![Docker Setting](https://github.com/TEN-framework/docs/blob/main/assets/gif/docker_setting.gif?raw=true)\n\n\u003cbr\u003e\n\n### Next step\n\n#### 1. Create `.env` file\n\n```bash\ncp ./.env.example ./.env\n```\n\n#### 2. Setup Agora App ID and App Certificate in `.env`\n\n```bash\nAGORA_APP_ID=\nAGORA_APP_CERTIFICATE=\n```\n\n#### 3. Start agent development containers\n\n```bash\ndocker compose up -d\n```\n\n#### 4. Enter container\n\n```bash\ndocker exec -it ten_agent_dev bash\n```\n\n#### 5. Build agent\n\n```bash\ntask use\n```\n\n#### 6. Start the web server\n\n```bash\ntask run\n```\n\n#### 7. Edit playground settings\n\nOpen the playground at [localhost:3000](http://localhost:3000) to configure your agent.\n\n 1. Select a graph type (e.g. Voice Agent, Realtime Agent)\n 2. Choose a corresponding module\n 3. Select an extension and configure its API key settings\n\n![Module Example](https://github.com/TEN-framework/docs/blob/main/assets/gif/module-example.gif?raw=true)\n\nNow, we have successfully set up the playground. This is just the beginning of TEN Agent. There are many different ways to explore and utilize TEN Agent. To learn more, please refer to the [documentation](https://doc.theten.ai/ten-agent/overview).\n\n\u003cbr\u003e\n\u003ch2\u003eDeployment\u003c/h2\u003e\n\nOnce you have customized your agent (either by using the playground or editing `property.json` directly), you can deploy it by creating a release Docker image for your service.\n\nRead the [Deployment Guide](https://doc.theten.ai/ten-agent/deployment/deploy_agent_service) for detailed information about deployment.\n\n\u003cbr\u003e\n\u003ch2\u003eTEN Agent Architecture\u003c/h2\u003e\n\n![Components Diagram](https://github.com/TEN-framework/docs/blob/main/assets/jpg/diagram.jpg?raw=true)\n\n\u003cbr\u003e\n\u003ch2\u003eStay Tuned\u003c/h2\u003e\n\nBefore we get started, be sure to star our repository and get instant notifications for all new releases!\n\n![TEN star us gif](https://github.com/TEN-framework/docs/blob/main/assets/gif/star_us_2.gif?raw=true)\n\n\u003cbr\u003e\n\u003ch2\u003eJoin Community\u003c/h2\u003e\n\n- [Discord](https://discord.gg/VnPftUzAMJ): Ideal for sharing your applications and engaging with the community.\n- [GitHub Discussion](https://github.com/TEN-framework/ten-agent/discussions): Perfect for providing feedback and asking questions.\n- [GitHub Issues](https://github.com/TEN-framework/ten-agent/issues): Best for reporting bugs and proposing new features. Refer to our [contribution guidelines](./docs/code-of-conduct/contributing.md) for more details.\n- [X](https://img.shields.io/twitter/follow/TenFramework?logo=X\u0026color=%20%23f5f5f5): Great for sharing your agents and interacting with the community.\n\n\u003cbr\u003e\n\u003ch2\u003eStar History\u003c/h2\u003e\n\n[![Star History Chart](https://api.star-history.com/svg?repos=ten-framework/ten-agent\u0026type=Date)](https://star-history.com/#ten-framework/ten-agent\u0026Date)\n\n \u003cbr\u003e\n \u003ch2\u003eCode Contributors\u003c/h2\u003e\n\n[![TEN](https://contrib.rocks/image?repo=TEN-framework/ten-agent)](https://github.com/TEN-framework/ten-agent/graphs/contributors)\n\n\u003cbr\u003e\n\u003ch2\u003eContribution Guidelines\u003c/h2\u003e\n\nContributions are welcome! Please read the [contribution guidelines](./docs/code-of-conduct/contributing.md) first.\n\n\u003cbr\u003e\n\u003ch2\u003eLicense\u003c/h2\u003e\n\nThis project is licensed under the Apache 2.0 License - see the [LICENSE](LICENSE) file for details.\n","funding_links":[],"categories":["NLP","Agent Categories"],"sub_categories":["\u003ca name=\"Unclassified\"\u003e\u003c/a\u003eUnclassified"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ften-framework%2Ften-agent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ften-framework%2Ften-agent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ften-framework%2Ften-agent/lists"}