# emotion_companion **Repository Path**: cloud-aios/emotion_companion ## Basic Information - **Project Name**: emotion_companion - **Description**: 情绪陪伴师是一款基于Flutter开发的情感支持应用程序,旨在通过人工智能技术为用户提供情感陪伴和心理支持。该应用结合了情绪识别、大语言模型分析、语音合成和生动的动画角色,为用户创造温暖、贴心的交互体验。 - **Primary Language**: Unknown - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-02 - **Last Updated**: 2026-04-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 情绪陪伴师应用 ## 项目概述 情绪陪伴师是一款基于Flutter开发的情感支持应用程序,旨在通过人工智能技术为用户提供情感陪伴和心理支持。该应用结合了情绪识别、大语言模型分析、语音合成和生动的动画角色,为用户创造温暖、贴心的交互体验。 ## 核心功能 ### 1. 情绪识别与分析 - 实时情绪检测:分析用户输入文本中的情绪状态 - 情绪分类:识别快乐、悲伤、焦虑、平静等多种情绪 - 情绪历史追踪:记录用户的情绪变化历程 ### 2. AI驱动的对话系统 - 大语言模型集成:支持OpenAI API和本地模型部署 - 智能情感回应:根据用户情绪生成恰当的安慰和建议 - 个性化交互:提供定制化的情感支持体验 ### 3. 生动的虚拟角色 - 二次元动画形象:可爱的虚拟陪伴角色 - 交互式动画:支持Rive和Lottie动画格式 - 状态响应:根据对话状态和情绪变化作出反应 - 语音播报:将AI回应转换为语音输出 ### 4. 个性化设置 - API配置:灵活配置大语言模型API密钥和端点 - 模型选择:支持多种AI模型配置 - 交互偏好:自定义用户体验参数 ## 技术架构 ### 前端技术栈 - **Flutter**: 跨平台UI框架 - **Dart**: 应用程序开发语言 - **Material Design**: UI组件库 ### 动画系统 - **Rive**: 交互式矢量动画 - **Lottie**: JSON格式动画渲染 - **Custom Paint**: 自定义绘制动画 ### AI集成 - **OpenAI API**: 大语言模型接口 - **本地模型支持**: 支持Ollama等本地部署方案 - **情绪分析算法**: 自定义情绪识别系统 ### 语音系统 - **Flutter TTS**: 文本转语音服务 - **跨平台支持**: 同时支持移动端和Web端 ## 安装与配置 ### 环境要求 - Flutter SDK 3.11.0 或更高版本 - Dart SDK - Android Studio 或 VS Code ### 依赖安装 ```bash flutter pub get ``` ### 配置API密钥 1. 启动应用后进入设置页面 2. 输入您的OpenAI API密钥 3. 配置基础URL(如使用代理服务) 4. 选择合适的AI模型 ## 使用指南 ### 基本操作 1. 在输入框中输入您的感受或问题 2. 虚拟角色会以文字和语音形式回应 3. 角色动画会根据对话状态变化 4. 查看情绪历史记录了解情绪趋势 ### 设置选项 - **API类型**: 选择OpenAI或本地API - **API密钥**: 配置AI服务认证 - **基础URL**: 设置API端点地址 - **模型名称**: 选择AI模型类型 ## 项目结构 ``` lib/ ├── main.dart # 应用入口点 ├── config/ # 配置管理 │ └── api_config.dart # API配置管理 ├── models/ # 数据模型 │ ├── message.dart # 消息数据模型 │ └── emotion_record.dart # 情绪记录模型 ├── services/ # 服务层 │ ├── openai_service.dart # OpenAI服务 │ ├── secure_storage_service.dart # 安全存储服务 │ └── tts_service.dart # 语音合成服务 ├── utils/ # 工具类 │ └── enhanced_emotion_analyzer.dart # 增强情绪分析器 ├── managers/ # 管理器 │ └── emotion_history_manager.dart # 情绪历史管理器 ├── widgets/ # UI组件 │ ├── chat_bubble.dart # 聊天气泡 │ ├── input_section.dart # 输入区域 │ └── empathy_avatar.dart # 虚拟角色 └── screens/ # 页面 ├── chat_screen.dart # 主聊天页面 └── settings_screen.dart # 设置页面 ``` ## 动画角色特性 ### Rive动画支持 - **状态机驱动**: 通过状态机控制角色动画 - **交互响应**: 根据对话状态实时调整动画 - **情绪表达**: 不同情绪状态下的动画变化 ### 回退机制 - 当Rive或Lottie文件不存在时,自动使用自定义绘制的角色 - 确保应用在任何环境下都能正常运行 ## 安全特性 - **安全存储**: API密钥使用SecureStorage加密保存 - **隐私保护**: 本地处理用户数据 - **传输加密**: API通信采用HTTPS协议 ## 扩展性 - **模块化架构**: 易于扩展新功能 - **多API支持**: 可集成不同AI服务提供商 - **国际化准备**: 支持多语言扩展 ## 开发者信息 此项目展示了现代移动应用开发的最佳实践,包括: - 响应式UI设计 - 状态管理 - 异步编程 - 跨平台兼容性 - 安全性考虑 ## 贡献 欢迎提交Issue和Pull Request来改进此项目。