# spokenAssistant **Repository Path**: anziguoer/spoken-assistant ## Basic Information - **Project Name**: spokenAssistant - **Description**: 英语口语陪练H5的AI Agent - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2025-03-14 - **Last Updated**: 2025-09-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 英语口语陪练H5的AI Agent设计: ## 功能介绍 ### **一、核心功能模块** 1. **多场景适配模式** - **考试专项**:模拟雅思/托福口语题型(如个人陈述、观点讨论、图片描述),提供评分标准与模板话术。 - **日常对话**:生活化主题(旅行、购物、兴趣),支持自由对话和情景模拟(如餐厅点餐、问路)。 - **职场英语**:商务谈判、会议发言、邮件写作口语化训练,包含行业术语库(金融/IT/医疗等)。 2. **AI交互能力** - **实时语音对话**:支持多轮对话,自动捕捉语音关键词并生成自然回应。 - **纠错与反馈**:实时纠正语法错误、发音问题(如连读、重音),提供改进建议。 - **评分系统**:基于流利度、词汇复杂度、准确性等维度生成AI评分报告。 3. **个性化学习路径** - **水平测试**:通过定级测试(CEFR标准)推荐匹配难度的练习内容。 - **学习计划**:根据用户目标(如“3个月过雅思”)制定每日任务,推送定制化学习包。 4. **学习记录与分析** - **数据看板**:展示历史练习记录、薄弱环节(如时态错误率、词汇重复率)。 - **错题本**:自动整理高频错误,支持导出复习。 ### **二、增强用户粘性的功能** 1. **社交化学习** - **语伴匹配**:随机匹配其他用户进行口语对话(文字/语音),支持互评。 - **学习社区**:用户分享经验、提问,官方定期举办主题活动(如“每日一句打卡”)。 2. **游戏化激励** - **成就系统**:完成每日任务、突破里程碑可获得徽章或虚拟奖励。 - **学习排行榜**:展示用户进步曲线,鼓励挑战更高目标。 ### **三、技术实现关键点** 1. **轻量化H5设计** - 优化加载速度,适配移动端浏览器,支持离线缓存部分基础功能。 - 语音交互采用流式传输,降低延迟(如WebRTC技术)。 2. **多模态支持** - 图文/视频辅助:对话中嵌入关键词图片或发音口型示范。 - 屏幕共享:用户可上传PPT进行商务场景模拟(如产品演示)。 3. **数据安全** - 加密存储用户语音数据,提供隐私设置(如仅保留最新10条记录)。 ### **四、商业化延伸** 1. **付费订阅**:解锁高阶题库、专业评分报告、AI私教1对1功能。 2. **企业定制**:为跨国公司提供职场英语培训解决方案,支持API对接。 3. **合作推广**:与考试机构、语言学校合作,提供备考资料包或课程优惠券。 ### **五、示例流程** 用户打开H5 → 选择“雅思口语”模式 → AI随机出题(如Describe a book you read)→ 用户录音回答 → AI即时评分并指出语法错误 → 生成改进建议 → 自动添加到错题本。 好的,作为个人练习项目,我会从简单实用的角度为您推荐技术选型,既能实现核心功能,又不会过于复杂: ## 技术选型 ### 前端技术栈(Vue3) 1. **核心框架** - Vue 3 + JavaScript(简化TypeScript) - Vue Router(基本路由) 2. **UI组件库** - Vant 4(移动端UI组件) - 原生CSS(简化样式管理) 3. **语音处理** - Web Speech API(浏览器原生API,免费) - Recorder.js(轻量录音库) 4. **数据可视化** - Chart.js(简单图表) 5. **构建工具** - Vite(快速构建) ### 服务端技术栈(Node.js) 1. **核心框架** - Express.js(轻量级框架) - Sequelize(简单ORM) 2. **AI集成** - CozeAI(对话生成) - 本地语音识别(简化语音处理) 3. **数据库** - SQLite(轻量级,无需额外安装) 4. **文件存储** - 本地文件系统(简化存储) ### 核心功能实现 1. **实时语音对话** - 前端:Web Speech API + Recorder.js - 后端:Express.js + CozeAI 2. **评分系统** - 使用Coze API进行简单评分 - 本地存储评分结果 3. **学习记录** - SQLite存储学习记录 - Chart.js展示简单图表 4. **多场景适配** - 本地JSON文件存储题库 - Vue Router实现场景切换 ### 项目结构 ```bash /Users/oo7/Developer/SpokenAssistant ├── public/ # 静态资源 ├── src/ │ ├── assets/ # 图片等资源 │ ├── components/ # Vue组件 │ ├── router/ # 路由配置 │ ├── services/ # API服务 │ ├── stores/ # 状态管理 │ ├── views/ # 页面组件 │ ├── App.vue │ └── main.js ├── server/ # Node.js服务端 │ ├── controllers/ # 控制器 │ ├── models/ # 数据模型 │ ├── routes/ # 路由 │ └── index.js # 入口文件 ├── package.json └── vite.config.js ``` 从产品功能设计角度考虑,用户语音评分基于两种方式各有优缺点: 基于音频评分的优势:可以评估发音、语调、重音等语音特征,提供更全面的口语能力评估;缺点是需要更复杂的音频处理技术和更多计算资源。 基于文字评分的优势:实现相对简单,可以专注于语法、词汇和表达准确性的评估,处理速度更快;缺点是无法评估发音质量和语调等口语特征。 对于英语口语助手应用,理想方案是结合两者:使用语音识别转文字进行语法和表达评分,同时保留原始音频进行发音和语调评分,这样能提供全面的口语能力评估。 # 使用方法 - 1、克隆项目到本地: git clone https://gitee.com/anziguoer/spoken-assistant - 2、启动服务端: node server/index.js - 3、启动前端: npm run dev - 4、用浏览器打开web 地址: http://localhost:5173/