
ten-framework
像搭积木一样组装实时语音AI助手
TEN Framework 是一个面向对话式语音 AI 智能体的开源开发框架,用 Python 编写,主打实时、多模态交互。它要解决的核心问题是:开发者想搭建能听、能说、能看、能实时响应的语音助手时,往往需要自己拼接语音识别、大模型、语音合成、视频理解、实时传输等多套组件,工程量大且延迟难控。TEN 把这些能力抽象成可编排的扩展与图结构,提供实时音视频管线、多模态数据处理和智能体运行环境,让开发者用配置和少量代码就能组装出低延迟的语音对话应用,并支持插件式接入不同模型与服务。它适合做实时语音客服、陪伴型助手、多模态交互终端等场景。
项目数据
使用教程
环境要求
- 已安装 Docker 并能执行 docker 命令
- 已安装 git(用于获取项目代码)
- 准备好示例智能体的 .env 环境变量文件(含所需模型/服务密钥)
- Docker 命令需在容器外部执行
安装与启动步骤
-
1获取项目代码
克隆 TEN Framework 仓库到本地,后续 Docker 构建在仓库的 ai_agents 目录下进行。
git clone https://github.com/TEN-framework/ten-framework.git cd ten-framework -
2进入 ai_agents 目录
Docker 构建和运行命令都要求在 ai_agents 目录下执行。
cd ai_agents -
3构建示例镜像
把
换成实际示例名,使用对应 Dockerfile 构建名为 example-app 的镜像。 docker build -f agents/examples//Dockerfile -t example-app . -
4准备环境变量文件
在 ai_agents 目录下准备 .env 文件,填入示例所需的密钥等环境变量,运行时会通过 --env-file 读取。
-
5启动容器
映射 3000 端口并加载 .env 运行镜像,--rm 表示退出后自动删除容器。
docker run --rm -it --env-file .env -p 3000:3000 example-app
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
.env | 是 | 存放示例智能体运行所需的环境变量,用于 --env-file 加载 | OPENAI_API_KEY=sk-xxxxxxxx |
AGENT_SERVER_URL | 否 | 前端部署到 Vercel/Netlify 时指向后端服务的地址 | https://your-backend.example.com |
NEXT_PUBLIC_* | 否 | 前端 UI 需要暴露给浏览器的变量,如 Agora 凭据 | NEXT_PUBLIC_AGORA_APP_ID=xxxxxxxx |
如何确认成功
docker run 后无报错退出,浏览器访问 http://localhost:3000 能看到智能体页面。
常见问题
Q:Docker 构建报错找不到 Dockerfile 怎么办?
A:确认当前目录是 ai_agents,且把
Q:可以从 TEN Manager 免 Docker 运行吗?
A:README 提到 TEN Manager 提供免 Docker 运行 transcriber 应用,但需参考官方 quick start guide,本文未含具体命令。
Q:前端想部署到 Vercel 或 Netlify 怎么做?
A:把项目根目录指向 ai_agents/agents/examples/
Q:后端和前端分离部署时端口怎么设置?
A:后端用示例 Docker 镜像并对外暴露 8080 端口,前端通过 AGENT_SERVER_URL 指向该后端地址。
注意事项
- 所有 Docker 命令必须在任何 Docker 容器外部执行。
- 部署到 Vercel/Netlify 时需确保后端接受前端来源的请求(开放 CORS 或使用内置代理中间件)。
- 仓库为多示例结构,构建前请把
替换成实际示例名。
核心亮点
- 原生支持实时音视频流与多模态数据,适合低延迟语音对话场景
- 采用扩展+图编排设计,模型、ASR、TTS 等组件可插拔替换
- Python 技术栈,社区活跃、星标过万,上手与二次开发门槛较低
不足之处
- 实时多模态管线对部署环境和网络要求较高,调试链路偏复杂
- 生态与文档仍在快速演进,部分高级用法需读源码或社区示例
适用场景
- 搭建低延迟实时语音客服或语音助手
- 开发能看视频、听声音的多模态交互终端
- 快速验证和编排多种语音大模型组合
替代项目
LiveKit Agents、Pipecat
项目介绍
同类项目推荐
ComfyUI_Custom_Nodes_AlekPet
开源
给 ComfyUI 装上语音翻译和姿态检测,工作流更全能
Custom nodes that extend the capabilities of Comfyui
langchain
开源
组装 AI 应用的乐高积木,从想法到上线不换工具
The agent engineering platform.
transformers
开源
全球最大的模型仓库全家桶,想用的模型一把抓
Transformers: the model-definition framework for state-of-the-art machine learning m···
bruno
开源
把 API 测试当代码管理,用 Git 搞定协作与版本追踪
Opensource IDE For Exploring and Testing API's (lightweight alternative to Postman/I···