一个基于 Android 的智能宠物聊天应用,使用 AI 模型实现个性化的宠物对话体验。
- 支持多种宠物角色(猫咪、狗狗)
- AI 根据宠物类型调整性格和对话风格
- 个性化的对话内容和表达方式
- 支持表情和拟声词的自然表达
- 自动分析用户聊天记录(每10条对话)
- 提取用户偏好和兴趣点
- 记录互动模式和行为特征
- AI 根据分析结果动态调整回复风格
- 每日定时发送个性化问候
- 可自定义问候时间
- 系统通知推送
- 智能生成符合宠物性格的问候语
- MVVM (Model-View-ViewModel) 架构
- Repository 模式管理数据
- 单例模式确保组件单一实例
MainActivity: 应用主界面PetChatApp: Compose UI 主组件ChatBubble: 聊天消息气泡组件
PetChatViewModel: 管理 UI 状态和用户交互
PetChatRepository: 处理数据和 AI 交互- 管理本地数据库和网络请求
- Room 数据库存储聊天记录和分析结果
- 数据实体:
ChatEntity: 聊天消息实体ChatAnalysisEntity: 用户分析结果实体
PetGreetingWorker: 处理定时问候服务
- UI: Jetpack Compose
- 数据库: Room
- 后台任务: WorkManager
- 网络: OkHttp
- JSON处理: Gson
- 异步处理: Kotlin Coroutines
- AI集成: DeepSeek API
- 用户输入消息
- ViewModel 处理输入
- Repository 调用 AI API
- 更新 UI 显示回复
- 保存聊天记录
- 累积 10 条未处理消息
- 提取聊天记录
- AI 分析生成用户画像
- 保存分析结果
- 用于优化后续对话
- WorkManager 定时触发
- 获取用户画像
- 生成个性化问候
- 发送系统通知
</rewritten_file>
应用支持动态 API 配置。为了保障您的密钥安全,请勿在源码或本地配置文件中硬编码 API Key。
您可以在应用运行后,在设置界面(Settings Screen)中动态修改和保存以下配置:
- API Key: 您的 API 密钥(例如 DeepSeek 密钥,默认留空)
- Base URL: API 基础地址(默认:
https://api.deepseek.com) - Model: 所需的模型名称(默认:
deepseek-chat)
这些配置通过 Jetpack DataStore 异步持久化在设备本地,不会在打包编译时混入包体中,提高了安全性与灵活性。
local.properties与keystore.properties均不应提交到仓库。