AI Video Assistant
基于 Pipecat 的实时交互服务层。通过配置助手,将 ASR → LLM → TTS 管线或端到端 Realtime 语音模型与轮次检测、打断、工具、工作流和可选视觉能力组合起来,向业务应用提供实时会话服务。管理界面负责配置、预览和排查;对外接入使用 OpenAI Realtime 兼容子集,提供 WebSocket 和 WebRTC 两种通道。
这里的 assistant:<id> 代表服务端配置好的完整助手,不是底层模型 ID。OpenAI Realtime 协议兼容也不意味着已接入 OpenAI Realtime 模型。公开协议是有明确边界的 OpenAI-compatible subset v1,并非完整 OpenAI API。
当前仓库尚未提供 LICENSE 文件。开源发布前需要确定并添加许可证。
项目组成
| 层次 | 职责 |
|---|---|
| 接入层 | /v1/realtime WebSocket、/v1/realtime/calls WebRTC;另有 /v1/responses 文本接口。 |
| 运行层 | Pipecat 管理媒体传输、Pipeline 或 Realtime 模型、轮次与打断;助手配置决定提示词、工作流、工具和模型资源。 |
| 配置层 | Web 界面维护助手、模型资源、知识库和工具,并提供调试、测试与历史记录。 |
旧的 /ws/voice、/ws/stream 和 /api/webrtc/offer 仍供平台界面及特定集成使用,采用管理员鉴权与不同的消息格式;第三方新接入应先阅读接入方式。
当前能力
以下状态以仓库实现为准;具体模型服务是否可用仍取决于所填凭证、协议兼容性和实际联调。
| 状态 | 能力 |
|---|---|
| 已实现 | Pipeline 模式接入受支持的 ASR、LLM、TTS;Pipecat 轮次检测、打断;Prompt、Workflow 和部分外部 Agent;WebRTC/WebSocket 实时会话。 |
| 已实现 | 对外 OpenAI Realtime 兼容子集,以及 Pipeline 助手的 /v1/responses 文本接口;具体事件和字段见兼容矩阵。 |
| 已实现但有条件 | 端到端 Realtime 模型目前有 StepFun StepAudio 与 Qwen Audio 运行适配;工具、视觉和轮次控制依助手模式及 Provider 能力而异。 |
| 未实现 | OpenAI Realtime 和 Gemini Live 的底层模型运行适配;任意 VAD/EOU 模型即插即用;WebSocket 连续视频、SIP、Realtime 断线续传、完整 OpenAI API 兼容。 |
模型资源目录中的 openai-realtime、gemini-realtime 及对应示例资源目前是未接通的占位项:可以看到或配置资源,不代表语音会话能运行。完整状态和建议收敛项见能力状态。
本地启动
需要 Docker Compose。以下命令启动本地开发环境;API 容器启动时会执行数据库迁移并同步接口定义:
docker compose up -d
打开管理界面 http://localhost:3030;后端健康检查为 http://localhost:8000/health,接口文档为 http://localhost:8000/docs。首次语音测试前需在「组件库 / 模型资源」中填写真实服务连接,并创建助手绑定。可选的 make db-seed 需要本机安装 make 和 uv,用于初始化示例数据;其中的 replace-me 是占位密钥。该命令也会更新示例助手绑定,已有数据的环境不要把它当作常规升级命令。
从管理界面创建 Prompt 助手时,可以选择:
- Pipeline:绑定受支持的 ASR、LLM、TTS,并配置 VAD、轮次结束与打断。
- Realtime:绑定已接通的 StepFun 或 Qwen Audio 资源;轮次控制主要使用 Provider 的设置。
- 保存后通过助手语音预览验证整条链路,再按公开接入方式连接业务客户端。
浏览器麦克风在 localhost 或 HTTPS 环境下使用;公网 WebRTC 通常还需要 TURN。部署说明见 deploy/README.md。
文档
- 用户文档概览:产品定位与使用路径。
- 配置第一个助手:模型资源、助手与语音预览。
- 功能与配置:助手模式、模型、轮次、视觉和工具的适用范围。
- 能力状态与收敛建议:已实现、未实现及建议移除的占位内容。
- 开发者快速开始、Realtime 协议、Responses 接口:接口细节与契约。
- 后端说明:实现和本地开发;开发计划:生产化待办。