Skip to content

Latest commit

 

History

History
170 lines (121 loc) · 4.65 KB

File metadata and controls

170 lines (121 loc) · 4.65 KB

VocaTa

一个实时语音 AI 角色对话项目。

它不只是“发消息 + 播语音”,而是尽量把对话做得更像真人交流:你可以开口说话、随时打断、继续追问,角色会用自己的语气持续接话。

实时说话、实时接话、实时打断。 让 AI 角色聊天从“消息收发”变成更接近真人的互动体验。

一句话感受

像在和角色通电话,而不是在等一个聊天机器人回复。

小亮点

能力 描述
流式回复 回复不是整段憋出来,而是边生成边出来
语音打断 AI 说到一半,可以直接插话
角色感 不同角色可以有不同性格、语气和说话方式
多轮对话 能连续聊,不是一轮就断
多模型接入 STT / LLM / TTS 可以灵活切换组合

它可以做什么

  • 和 AI 角色进行实时语音对话
  • 支持文本聊天和语音聊天两种模式
  • 角色回复支持流式输出,不用整段生成完再看到结果
  • 语音回复支持边生成边播放,等待感更低
  • 用户插话时可以直接打断 AI,不必等它说完
  • 支持多轮连续聊天,保留会话上下文
  • 支持角色创建与角色设定管理
  • 支持根据不同角色切换不同语气、性格和说话风格
  • 支持历史会话查看与消息持久化
  • 支持多种 STT / TTS / LLM 服务接入与切换

项目体验感

这个项目想做出来的感觉是:

  • AI 不要“慢半拍”
  • 对话不要“一问一答像接口调用”
  • 角色不要每轮都像失忆
  • 用户说到一半时,AI 应该能被打断
  • 回复应该更像聊天,而不是一整段说明文

你会看到的效果

说话更顺

  • 用户开口后,系统开始持续识别
  • 模型生成到哪,文本就显示到哪
  • 语音不必等全文结束再统一播报

互动更真

  • AI 在“说话”的时候,用户可以直接插进来
  • 对话节奏更像来回接话,而不是轮流提交任务
  • 连续追问时不会那么容易掉出聊天状态

角色更像角色

  • 不同角色可以有不同人设与说话口吻
  • 同一句话,不同角色能聊出不一样的感觉
  • 更适合做陪伴感、代入感、故事感比较强的对话

功能亮点

实时语音聊天

  • 音频输入后可持续识别文本
  • 模型回复按文本流返回
  • 语音合成按句子切片输出
  • 首段回复更快出来,聊天节奏更自然

全双工打断

  • AI 正在说话时,用户可以重新开口
  • 新输入到来后,旧语音可以立即停止
  • 避免“用户已经插话,AI 还在继续念稿”

角色扮演

  • 每个角色都可以配置独立人设
  • 支持性格、说话风格、示例对话等设定
  • 更适合做陪伴、故事代入、角色闲聊这类场景

多模型接入

  • 支持不同 LLM 服务切换
  • 支持不同 STT / TTS 服务接入
  • 更方便根据速度、效果、成本做组合

会话管理

  • 支持角色会话列表
  • 支持历史消息保存
  • 支持持续多轮聊天

适合的使用场景

  • 想做一个能“开口聊”的 AI 角色陪伴应用
  • 想体验比普通聊天框更自然的实时语音交互
  • 想做二次元角色、原创 OC、虚拟人、故事角色对话
  • 想把 STT + LLM + TTS 串成完整语音链路
  • 想验证流式输出、语音打断、多轮上下文这类能力

项目关键词

Realtime Voice Chat AI Roleplay Streaming Response Barge-in WebSocket STT LLM TTS

仓库结构

.
├── vocata-server   # 后端服务
├── vocata-web      # 用户端前端
├── vocata-admin    # 管理后台
├── docs            # 开发与部署文档
├── docker-compose.yml
├── docker-compose.test.yml
└── docker-compose.prod.yml

技术栈

  • 后端:Spring Boot 3Java 17WebSocketReactor
  • 前端:Vue 3TypeScriptVite
  • 数据库:PostgreSQLRedis
  • AI 能力:STTLLMTTS

快速启动

启动基础依赖

docker compose up -d

启动后端

cd vocata-server
mvn spring-boot:run

启动用户端

cd vocata-web
npm install
npm run dev

启动管理后台

cd vocata-admin
npm install
npm run dev

相关文档