TEN 是一个用于创建、定制和部署实时多模态对话式 AI 代理的开源生态系统,支持语音、视觉和虚拟形象交互。
TEN 包括 TEN Framework、TEN VAD、TEN Turn Detection 以及 TEN Portal。更多信息请查看 TEN 生态系统。
| 社区渠道 | 用途 |
|---|---|
| 在 X 上关注 TEN Framework,获取最新更新与公告 | |
| 在 LinkedIn 上关注 TEN Framework,获取更新与公告 | |
| 加入我们的 Discord 社区,与开发者交流 | |
| 关注我们的 Hugging Face 社区,体验空间与模型 | |
| 加入我们的微信中文讨论群 |
| 预览 | 亮点 |
|---|---|
|
|
多用途语音助手 —— 低延迟、高质量的实时助手,可与记忆、VAD、TEN Turn Detection 等扩展整合。
查看 示例代码 获取更多细节。 |
|
|
唇形同步虚拟形象 —— 支持多个虚拟形象供应商,演示中展示了 Live2D 驱动的动漫角色 Kei,并即将支持 Trulience、HeyGen、Tavus 等真实形象。
参见 示例代码 了解 Live2D 实现。 |
|
|
SIP 呼叫 —— 基于 TEN 的 SIP 扩展,实现电话通话能力。
示例代码 |
|
|
语音分离 —— 实时检测并标注说话人,“Who Likes What” 游戏展示了交互式用例。 示例代码 |
|
|
转写 —— 将音频实时转成文本。 示例代码 |
|
|
ESP32-S3 Korvo V3 —— 在 Espressif ESP32-S3 Korvo V3 开发板上运行 TEN Agent,将 LLM 能力与硬件结合。
参见 集成指南 了解详情。 |
| 类别 | 要求 |
|---|---|
| 密钥 | • Agora App ID 与 App Certificate(每月赠送免费分钟) • OpenAI API 密钥(任何兼容 OpenAI 的 LLM) • Deepgram ASR(注册即可获得免费额度) • ElevenLabs TTS(注册即可获得免费额度) |
| 安装 | • Docker / Docker Compose • Node.js (LTS) v18 |
| 最低系统配置 | • CPU ≥ 2 核心 • RAM ≥ 4 GB |
如果在国内,我们强烈建议在 SSH 中把代理打开,下载和安装的依赖的时候会更加丝滑。
# 如果用的代理软件没有增强模式的话, 建议手动把所有代理协议都打开
# export 的有效期为一个 session
export https_proxy=http://127.0.0.1:<port>
export http_proxy=http://127.0.0.1:<port>
export all_proxy=socks5://127.0.0.1:<port>
# Docker
export https_proxy=http://host.docker.internal:<port>
export http_proxy=http://host.docker.internal:<port>
export all_proxy=http://host.docker.internal:<port>
# tman 镜像设置
mkdir -p ~/.tman && echo '{
"registry": {
"default": {
"index": "https://registry-ten.rtcdeveloper.cn/api/ten-cloud-store/v1/packages"
}
}
}' > ~/.tman/config.json
# GO 代理设置
export GOPROXY=https://goproxy.cn,direct
# pip 代理设置, 此设置需要先安装 pip
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
export UV_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simplecd ai_agents
cp ./.env.example ./.envAGORA_APP_ID=
AGORA_APP_CERTIFICATE=
# 如果你运行的是默认语音助手示例
# Deepgram(语音转写必需)
DEEPGRAM_API_KEY=your_deepgram_api_key_here
# OpenAI(语言模型必需)
OPENAI_API_KEY=your_openai_api_key_here
OPENAI_MODEL=gpt-4o
# ElevenLabs(文本转语音必需)
ELEVENLABS_TTS_KEY=your_elevenlabs_api_key_heredocker compose up -ddocker exec -it ten_agent_dev bash查看 agents/examples 文件夹获取更多示例。
从下列默认示例之一开始:
# 使用串联语音助手
cd agents/examples/voice-assistant
# 或使用实时语音对语音助手
cd agents/examples/voice-assistant-realtime如果你修改了本地源代码,请先运行 task build。对于 TypeScript、Go 等编译型语言需要执行该步骤,Python 则无需执行。
task install
task run当示例代理运行后,可以通过以下界面进行访问:
|
localhost:49483
|
localhost:3000
|
- TMAN Designer:http://localhost:49483
- 示例界面:http://localhost:3000
- 打开 localhost:49483。
- 右键单击 STT、LLM、TTS 扩展。
- 打开扩展属性并填写对应的 API 密钥。
- 在画布上右键单击并选择 Manage Apps 打开应用管理器。
- 在 Actions 栏点击 ▶ 来运行该应用。
- 选择 Run with TEN Agent,然后点击 Run。
GitHub 为每个仓库提供免费的 Codespaces。你可以在 Codespaces 中运行示例代理,而无需使用 Docker。Codespaces 的启动速度通常比本地环境更快。
更多细节请参考此指引。
当你完成代理定制(通过 TMAN Designer 或直接编辑 property.json)后,可以构建发布用 Docker 镜像并部署服务。
注意:以下命令需在 Docker 容器之外执行。
cd ai_agents
docker build -f agents/examples/<example-name>/Dockerfile -t example-app .docker run --rm -it --env-file .env -p 3000:3000 example-app当你想在 Vercel 或 Netlify 等平台托管 TEN 时,可以将部署拆分为两个部分。
- 在任意支持容器的平台上运行 TEN 后端(带 Docker 的虚拟机、Fly.io、Render、ECS、Cloud Run 等)。无需修改示例镜像,仅需暴露
8080端口。 - 仅将前端部署到 Vercel 或 Netlify。将项目根目录指向
ai_agents/agents/examples/<example>/frontend,运行pnpm install(或bun install),随后执行pnpm build(或bun run build),保持默认的.next输出目录。 - 在托管平台的控制面板中配置环境变量,让
AGENT_SERVER_URL指向后端地址,并补充前端需要的NEXT_PUBLIC_*键(例如需要暴露给浏览器的 Agora 凭证)。 - 确保后端允许来自前端域名的请求——可设置开放 CORS,或使用内置代理中间件。
通过这种方式,后端负责长时间运行的任务,而托管的前端仅需转发 API 请求。
及时获取新版本和更新通知,帮助我们持续改进 TEN!
| 项目 | 预览 |
|---|---|
| ️TEN Framework TEN 是一个用于实时多模态对话式 AI 的开源框架。 |
|
| TEN VAD TEN VAD 是低延迟、轻量级且高性能的流式语音活动检测器。 |
|
| ️TEN Turn Detection TEN Turn Detection 支持全双工对话通信。 |
|
| TEN Portal TEN Framework 官方站点,提供文档与博客。 |
|
| TEN Agent TEN Agent 是 TEN Framework 的实战示例。 |
|
| TMAN Designer TMAN Designer 提供低/无代码的可视化工作流,用于构建语音代理。 |
TEN Framework 已登陆多个 AI 问答平台,可帮助你在多语言环境下快速定位答案,覆盖从基础配置到高级实现的各类问题。
| 服务 | 链接 |
|---|---|
| DeepWiki | |
| ReadmeX |
我们欢迎各种开源协作形式!无论是修复 Bug、添加特性、改进文档还是分享想法,你的贡献都可以推动个性化 AI 工具向前发展。查看我们的 GitHub Issues 与 Projects,寻找适合你的参与方式。让我们一起打造更出色的 TEN!
Tip
欢迎所有形式的贡献 🙏
加入我们,一起让 TEN 更出色!从代码到文档,每一份贡献都意义非凡。欢迎在社交媒体上分享你的 TEN Agent 项目,启发更多开发者!
可以联系 TEN 维护者之一 @elliotchen200(𝕏)或 @cyfyifanchen(GitHub)获取项目更新、讨论与协作机会。
欢迎贡献!请先阅读贡献指南。
- 整个 TEN 框架(下文明确列出的文件夹除外)基于 Apache License 2.0 发布,并附带额外限制。详情请参阅位于 TEN 框架根目录的 LICENSE 文件。
packages目录中的组件基于 Apache License 2.0 发布。详情请参阅各包根目录中的LICENSE文件。- TEN 框架所使用的第三方库已列出并附带说明。更多信息请参考 third_party 目录。