# Tolan - 语音聊天助手 语音交互英语学习应用,通过与动画IP对话练习英语口语。 ## 技术栈 ### 前端 - React 18 + TypeScript - Zustand (状态管理) - Ant Design (UI组件) - Lottie (动画) - WebSocket (实时通信) - Web Audio API (音频处理) ### 后端 - FastAPI (Web框架) - WebSocket (实时通信) - DashScope (阿里云Qwen模型) - STT: `paraformer-realtime-v2` - LLM: `qwen-plus` - TTS: `qwen3-tts-flash` ## 快速开始 ### 1. 后端 ```bash cd backend python -m pip install -r requirements.txt cp .env.example .env # 配置API Key python main.py ``` ### 2. 前端 ```bash cd frontend npm install cp .env.example .env # 配置WebSocket地址 npm run dev ``` ## 访问 - 前端: https://localhost:3000 或 https://本机IP:3000 - 后端: https://localhost:8000 或 https://本机IP:8000 - WebSocket: wss://localhost:8000/ws **注意**: 使用自签名证书,浏览器会提示不安全,点击"继续访问"即可 ## 核心功能 - 实时语音录制和传输 - 语音识别 (STT) - 智能对话 (LLM) - 语音合成 (TTS) - 动画IP三状态切换(等、听、说) - 情感表达 ## 配置 ### API Key 在 `backend/.env` 中配置: ``` DASHSCOPE_API_KEY=your-api-key ``` ### WebSocket地址 在 `frontend/.env` 中配置: ``` VITE_WS_URL=wss://localhost:8000/ws ```