AI助手 - 全面的安卓应用程序
一款由(某种技术或平台)驱动的高级Android生产力应用 OpenAI GPT-5 具备多模态交互、先进的内存架构,并通过模型上下文协议(MCP)实现外部工具集成。
______________________________________________________________________
🚀 表情符号“🚀”通常表示火箭、快速前进或加速,也可以用来形容兴奋、激动或期待的心情。在中文中,这个符号可以直接用作表情,无需翻译。 特点/功能
核心能力
- ✅ GPT-5 集成 - 通过响应API获取最新的OpenAI模型
- ✅ 流式响应 - 实时聊天,支持逐标记(token)流式传输
- ✅ 多级存储器 - 工作记忆、情景记忆和语义记忆系统
- ✅ 语音对话 - Whisper(语音转文字,STT)+ 文字转语音(TTS)+ gpt-realtime(双向语音)
- ✅ 翻译成中文是:✅(此符号本身无特定含义,通常用作确认或正确标记) MCP集成 - 调用外部工具(文件系统、日历、电子邮件等)
- ✅ 翻译为中文是:对勾(表示正确、同意或确认)。 代码高亮 - 对200多种编程语言进行语法高亮显示
- ✅ 导出对话 - JSON、TXT、PDF 格式
- ✅ 离线模式 - 离线浏览过往对话
- ✅ 翻译为中文是:✅(此符号通常表示“正确”、“确认”或“完成”的意思,但直接翻译时保持原样,因为它是国际通用的符号)。不过,如果要解释其含义,可以说“正确”或“确认”。 安全存储 使用Android密钥库加密API密钥
技术亮点
- 🏗️ 这个符号在中文中通常被翻译为“建筑工地”或“施工中”。它代表了一个正在进行建筑或施工活动的场景。 清洁架构 - 域/数据/表示层
- 🎨 表示“美术”或“绘画”的意思。 Jetpack Compose - 基于Material 3的现代声明式用户界面
- 🔄 旋转(或循环) MVI模式 - 可预测的状态管理
- 💉 表示“注射”或“针头”。 Hilt DI(Hilt 依赖注入) - 编译时依赖注入
- 📊(图表/数据) 房间数据库 - 以离线优先,结合响应式查询
- 🔍(放大镜图标,通常表示搜索、查看细节或调查的意思) Qdrant 向量数据库 - 记忆中的语义相似度搜索
- ⚡(闪电符号,常用于表示速度、活力或紧急情况) Kotlin 协程 - 使用结构化并发的异步/等待(Async/Await)
- 🌊(海浪) Kotlin Flow - 全程采用响应式流
______________________________________________________________________
📋 代表“清单”或“待办事项列表”。 先决条件
要求:
- Android Studio - 九尾狐(2023年1月1日)或更新版本
- OpenAI API密钥 - 来自
- Android 设备/模拟器 根据上述信息,以下是原文内容的翻译:API 26+(Android 8.0 Oreo或更高版本)
可选(以获取全部功能):
- Qdrant向量数据库 - 对于语义记忆
docker run -p 6333:6333 qdrant/qdrant- MCP 服务器 - 用于外部工具集成
- 文件系统MCP服务器 - 日历MCP服务器 - 等。
______________________________________________________________________
🛠️(扳手或工具的象征,常用于表示需要工具或进行维修) 安装与设置
1. 克隆仓库
cd C:\Users\Hassan\Projects\StickerSmash2. 在Android Studio中打开
- 打开Android Studio
- 选择“打开现有项目”
- 导航到项目目录
- 等待 Gradle 同步完成
3. 配置API密钥
- 在模拟器/设备上运行应用程序
- 导航至 设置 屏幕
- 请输入您的 OpenAI API密钥
- (可选)进行配置 Qdrant URL(可译为“Qdrant的网址”或“Qdrant服务地址”) 如果正在运行Qdrant
- 点击 保存设置
4. 开始使用
- 返回 聊天 屏幕
- 开始与GPT-5聊天吧!
______________________________________________________________________
🏗️ 代表“建筑工地”或“正在建造中”的意思。 建筑学
清洁架构层次:
┌─────────────────────────────────────┐
│ Presentation Layer (UI) │
│ ┌─────────────────────────────┐ │
│ │ Compose UI + ViewModels │ │
│ │ - ChatScreen │ │
│ │ - HistoryScreen │ │
│ │ - SettingsScreen │ │
│ └─────────────────────────────┘ │
└─────────────────────────────────────┘
↓ (State/Intent)
┌─────────────────────────────────────┐
│ Domain Layer (Business Logic) │
│ ┌─────────────────────────────┐ │
│ │ Use Cases │ │
│ │ - SendMessageUseCase │ │
│ │ - GenerateEmbeddingsUseCase │ │
│ │ - ExportConversationUseCase │ │
│ └─────────────────────────────┘ │
│ ┌─────────────────────────────┐ │
│ │ Domain Models │ │
│ │ - Conversation, Message │ │
│ └─────────────────────────────┘ │
└─────────────────────────────────────┘
↓ (Repository Interface)
┌─────────────────────────────────────┐
│ Data Layer (Data Sources) │
│ ┌─────────────────────────────┐ │
│ │ Repositories │ │
│ │ - ChatRepository │ │
│ │ - ConversationRepository │ │
│ └─────────────────────────────┘ │
│ ┌─────────────────────────────┐ │
│ │ Data Sources │ │
│ │ - Room Database │ │
│ │ - OpenAI APIs │ │
│ │ - Qdrant Vector DB │ │
│ │ - MCP Servers │ │
│ └─────────────────────────────┘ │
└─────────────────────────────────────┘内存架构:
┌──────────────────────────────────────────┐
│ Working Memory (RAM) │
│ - Current conversation context │
│ - Active message buffers │
│ - Streaming state │
│ (ContextCacheEntity in Room) │
└──────────────────────────────────────────┘
↓
┌──────────────────────────────────────────┐
│ Episodic Memory (Room Database) │
│ - All conversations │
│ - All messages │
│ - Timestamps and metadata │
│ (ConversationEntity, MessageEntity) │
└──────────────────────────────────────────┘
↓
┌──────────────────────────────────────────┐
│ Semantic Memory (Qdrant Vector DB) │
│ - Message embeddings (1536D vectors) │
│ - Cosine similarity search │
│ - Retrieves relevant past conversations │
│ (Enhanced by OpenAI Embeddings API) │
└──────────────────────────────────────────┘______________________________________________________________________
📦 箱子/包裹 依赖项
关键库:
- Jetpack Compose - 现代用户界面框架
- 柄 - 依赖注入
- 房间 - 本地数据库
- Retrofit + OkHttp REST API网络连接
- Ktor(或可译为“科特尔”,具体根据上下文确定更准确的译名) - WebSocket用于实时音频
- Kotlinx.serialization(库) - JSON序列化
- OpenAI 客户端 - 官方OpenAI软件开发工具包(SDK)
- Markwon - 使用语法高亮的Markdown渲染
- 线圈 - 图像加载
- WorkManager - 背景任务调度
看见 gradle/libs.versions.toml 以获取完整列表。
______________________________________________________________________
🎯(瞄准目标) 使用指南
基本聊天:
- 打开应用 → 进入聊天界面
- 在输入框中输入消息类型
- 按发送
- 实时观看GPT-5的响应流
语音对话:
- 按下麦克风按钮
- 说出你的信息
- 音频通过Whisper进行转录
- AI以文本和语音形式作出回应
实时语音(gpt-realtime):
- 在设置中启用
- 长按语音按钮
- 进行低延迟的自然对话
- 随时中断AI
语义记忆:
- AI自动记住所有对话
- 在后台生成的向量嵌入
- 人工智能自动回忆起相关的过往信息
- 在所有对话历史中搜索作品
外部工具(MCP):
- 在设置中配置MCP服务器
- AI可以调用工具(例如,“将事件添加到我的日历中”)
- 工具通过MCP服务器执行
- 返回对话结果
出口:
- 前往历史记录屏幕
- 查找对话
- 点击菜单 → 导出
- 选择格式(JSON/TXT/PDF)
- 分享或保存文件
______________________________________________________________________
🔧(扳手或修理工具的符号,常用于表示需要修理或维护) 配置
模型设置:
- 模型: GPT-5,GPT-5迷你版,GPT-5专业版,GPT-5代码版,GPT-5纳米版
- 温度: 0.0(确定性)到2.0(创造性)
- 最大令牌数: 1到128,000(输出限制)
- 冗长性;啰嗦 低、中、高(响应长度)
- 推理努力: 最少,中等,高(思考深度)
语音设置:
- TTS语音: 合金、回声、传说、黑曜、新星、微光
- 语速: 0.5倍至2.0倍
内存设置:
- 上下文长度: 要包含的最近消息数量
- 语义搜索深度: 要检索的类似历史消息数量
______________________________________________________________________
📂(文件夹) 项目结构
app/
├── src/main/java/com/ai/assistant/
│ ├── AiAssistantApplication.kt # Application class
│ ├── data/ # Data layer
│ │ ├── local/ # Room database
│ │ │ ├── dao/ # Data Access Objects
│ │ │ ├── entity/ # Room entities
│ │ │ ├── database/ # Database class
│ │ │ └── preferences/ # Secure storage
│ │ ├── remote/ # Remote APIs
│ │ │ ├── openai/ # OpenAI services
│ │ │ │ ├── dto/ # API DTOs
│ │ │ │ ├── ResponsesApiService # GPT-5 API
│ │ │ │ ├── WhisperService # Speech-to-text
│ │ │ │ ├── EmbeddingsService # Vector embeddings
│ │ │ │ ├── RealtimeWebSocket # gpt-realtime
│ │ │ │ ├── AudioRecordingHandler # Microphone input
│ │ │ │ └── AudioPlaybackHandler # Speaker output
│ │ │ ├── vector/ # Qdrant client
│ │ │ └── mcp/ # MCP client
│ │ ├── repository/ # Repository implementations
│ │ └── worker/ # Background workers
│ ├── domain/ # Domain layer
│ │ ├── model/ # Domain models
│ │ ├── repository/ # Repository interfaces
│ │ └── usecase/ # Business logic
│ │ ├── chat/ # Chat use cases
│ │ ├── memory/ # Memory use cases
│ │ ├── audio/ # Audio use cases
│ │ └── export/ # Export use cases
│ ├── presentation/ # Presentation layer
│ │ ├── chat/ # Chat screen
│ │ ├── history/ # History screen
│ │ ├── settings/ # Settings screen
│ │ ├── common/ # Reusable composables
│ │ ├── navigation/ # Navigation graph
│ │ ├── theme/ # Material theme
│ │ └── MainActivity # Entry point
│ ├── di/ # Hilt modules
│ └── util/ # Utilities
└── res/ # Resources
├── xml/ # Backup rules, file paths
├── values/ # Strings, themes
└── drawable/ # Icons______________________________________________________________________
🧪 试管或实验器材(化学实验用) 测试
运行单元测试:
./gradlew test运行带指标的测试:
./gradlew connectedAndroidTest测试覆盖率:
- 仓库层:MockK + Turbine(流程测试)
- 用例:使用MockK进行仓库(repository)模拟
- ViewModels:StateFlow 测试
- 用户界面(UI):构建测试框架
______________________________________________________________________
🔒(锁形符号,常用于表示安全、保密或锁定状态) 安全
API密钥保护:
- 储存在
EncryptedSharedPreferences - AES256-GCM加密
- 存储在Android密钥库中的密钥(在可用时使用硬件保护)
- 不包括在备份中
数据隐私:
- 所有对话均本地存储(不进行云同步)
- 向量嵌入存储在Qdrant本地
- 无遥测或分析功能
______________________________________________________________________
📊(表格/数据图表) 演出
优化:
- 流式响应: 低延迟,渐进式渲染
- 数据库索引: 快速查询对话和消息
- 向量搜索: 使用Qdrant HNSW进行10毫秒级相似度搜索
- 缓存: 上下文缓存减少了重复的数据库查询
- 协程: 非阻塞异步操作
- R8 优化: 发布构建中的代码缩减和混淆处理
资源使用情况:
- APK大小: ~15-20 MB(发布版本)
- RAM:随机存取存储器 ~100-150 MB(典型使用量)
- 存储: 取决于对话历史(数据库 + 嵌入表示)
______________________________________________________________________
🐛 表示“虫子”或“错误(bug)”。在中文里,这个表情符号通常用来指代小虫子或者软件中的错误。 已知问题与限制
- 嵌入服务 - 需要在ChatRepository中集成EmbeddingsService
- MCP Studio 传输(或:MCP Studio 传输工具/功能) - 在Android上使用Complex时,建议使用SSE服务器
- 图片附件 视觉API集成待处理
- 数据库迁移 - 在开发中使用破坏性迁移
- Prism4j 语法 - 简化的语法定位器(需要完整实现)
______________________________________________________________________
📚 书籍 文档
IMPLEMENTATION_STATUS.md- 详细实施进度FINAL_SUMMARY.md- 建筑结构及完工状态README.md- 这个文件- 内联KDoc - 所有主要类均已文档化
______________________________________________________________________
🤝(握手) 贡献;做出贡献
这是一款单用户生产力应用程序。如需功能请求或错误报告:
- 记录该问题/特性
- 遵循以下清洁架构原则进行实施
- 为新功能添加测试
- 更新文档
______________________________________________________________________
文件/纸张 许可证
私人单用户应用程序。非公开分发。
______________________________________________________________________
🎓 表示“毕业”或“学位”的意思。 学习资源
建筑:
- 清洁架构:
- MVI模式:
APIs(应用程序编程接口):
- OpenAI 响应 API:
- 模型上下文协议:
- Qdrant 文档:
Android:
- Jetpack Compose:
- 柄部
- 房间:
______________________________________________________________________
🏆(奖杯/冠军标志) 功劳/学分/贡献
构建于:
- OpenAI(一家人工智能研究实验室) - GPT-5,Whisper,嵌入(Embeddings),实时API
- Qdrant(注:Qdrant是一个向量数据库系统,直接翻译为“Qdrant”即可,因其为专有名词,无需额外翻译其功能或含义) - 向量相似度搜索
- JetBrains(该公司名可直接音译,也可根据其业务特性意译为“杰特布里恩斯”或“杰特布里恩软件”,但通常直接使用音译) - Kotlin 语言
- 谷歌 - Android SDK,Jetpack 库
- 正方形 - Retrofit,OkHttp
- Ktor(此处为专有名词或特定技术/框架名称,直接音译,具体含义需结合上下文或领域知识理解) - WebSocket 客户端
______________________________________________________________________
版本: 1.0.0 最后更新时间: 2025年1月14日 状态: 核心功能已完成,高级功能开发中
