| --- |
| |
| |
|
|
| 一款通过 **iOS 原生 (SwiftUI)** 构建,结合 **BLE 蓝牙硬件** 震动提醒与 **AI 语义解析** 的治愈系记录助手。用户通过 APP 或配套硬件录音,系统自动将内容拆解为灵感、心情与待办,并通过 RAG 技术实现历史记忆的回溯。 |
|
|
| |
|
|
| |
|
|
| 由于使用 iOS 原生开发,手机充当“网关”角色,负责硬件与云端的中转。 |
|
|
| - **连接流程 (Local Only)**: |
| - **无需 API 接口**。iOS APP 使用 `CBCentralManager` 扫描硬件 UUID。 |
| - 硬件作为外设 (Peripheral) 被手机连接。 |
| - **指令交互**: |
| - **录音阶段**:硬件按下录音键,通过蓝牙特征值 (Characteristic) 将音频数据包流式传输或发送结束信号至 iOS。 |
| - **震动反馈**: |
| - **轻微短振(心跳感)**:iOS 检测到录音启动,向蓝牙写入 `0x01` 指令。 |
| - **急促振动(提醒感)**:iOS 的待办逻辑触发,向蓝牙写入 `0x02` 指令。 |
|
|
| |
|
|
| - **语音转写**:iOS 使用 `URLSession` 调用智谱 **ASR API** 上传音频,实时获取转写文字。 |
| - **语义理解**:iOS 调用 **GLM-4-Flash API**,通过 Prompt 约束 AI 返回标准 JSON(包含情绪、灵感、待办)。 |
| - **形象定制**:登录时调用 **CogView API** 生成固定形象,图片下载后由 iOS 进行本地持久化存储。 |
|
|
| |
|
|
| |
|
|
| - **状态管理**:使用 `@Observable` (iOS 17+) 实时同步 AI 解析出的心情颜色和形象气泡。 |
| - **持久化**:使用 **SwiftData** 存储本地 JSON 结构的记录(`records`, `moods`, `todos`, `inspirations`)。 |
| - **安全性**:智谱 API Key 存储在 **Keychain** 中,避免硬编码。 |
|
|
| |
|
|
| | **模块** | **API 模型** | **职责** | |
| | --- | --- | --- | |
| | **ASR** | 智谱语音识别 | 硬件原始音频转文字 | |
| | **NLP** | GLM-4-Flash | 解析 JSON 结构、RAG 历史回溯对话 | |
| | **图像** | CogView-3 | 登录时一次性生成固定猫咪形象 | |
|
|
| |
|
|
| |
|
|
| - **初始化生成**:用户注册/首次登录时,系统引导用户输入关键词(或默认随机),调用 **GLM-Image (CogView)** 生成 1-3 张插画。 |
| - **持久化存储**:生成的图片 URL 存储在用户配置中,不再随每次录音改变。 |
| - **按需修改**:在“设置”提供修改接口,用户可以消耗积分或次数重新生成。 |
|
|
| |
|
|
| 为了保证品牌统一性,系统预设为”**治愈系插画猫咪**”,通过映射逻辑处理用户输入。 |
|
|
| - **提示词生成逻辑 (Prompt Engineering)** |
|
|
| | **用户输入维度** | **映射逻辑 (Internal Tags)** | **示例** | |
| | --- | --- | --- | |
| | **颜色** | 主色调 & 环境色 | 温暖粉 -> `soft pastel pink fur, rose-colored aesthetic` | |
| | **性格** | 构图 & 眼神光 | 活泼 -> `big curious eyes, dynamic paw gesture, energetic aura` | |
| | **形象** | 配饰 & 特征 | 戴眼镜 -> `wearing tiny round glasses, scholarly look` | |
|
|
| 【陪伴式朋友】【温柔照顾型长辈】【引导型 老师】 |
|
|
| **系统底座提示词 (System Base Prompt):** |
|
|
| > "A masterpiece cute stylized cat illustration, [Color] theme, [Personality] facial expression and posture, [Description]. Japanese watercolor style, clean minimalist background, high quality, soft studio lighting, 4k." |
| > |
|
|
| |
|
|
| |
|
|
| - **UI 渲染**:利用 `SwiftUI` 实现毛玻璃效果与治愈系猫咪插画的流畅加载。 |
| - **状态管理**:使用 `Combine` 或 `Observation` 框架同步心情颜色变化。 |
| - **硬件接口**:`CoreBluetooth`。 |
|
|
| |
|
|
| - **API 核心**:处理 ASR、NLP、RAG 和 Image Generation。 |
| - **存储**:本地 JSON 文件系统(`records.json`, `moods.json`, `todos.json`, `inspirations.json`)。 |
|
|
| |
|
|
| - **ASR**:语音转文字。 |
| - **GLM-4-Flash**:语义解析与 RAG 问答。 |
| - **GLM-Image (CogView)**:基于情绪映射生成的静态形象。 |
|
|
| |
|
|
| |
|
|
| - **功能描述:** |
| - 支持语音录音(5-30 秒)或文字直接输入。 |
| - **静态形象展示**:页面中心展示常驻形象。 |
| - 实时处理:完成录音后自动触发后端 ASR 与 NLP 流程。 |
| - **结果速览**:展示最近一次分析的**原文及摘要**(提取出的情绪、灵感标签或待办任务)。 |
| - **数据存储:** * 音频文件:`data/audio/{timestamp}.wav` |
| - 完整记录索引:`data/records.json`(包含关联的 JSON ID 和音频路径)。 |
|
|
| |
|
|
| - **功能描述:** |
| - **瀑布流展示**:以卡片形式展示所有灵感。 |
| - **核心要素**:显示 AI 总结的核心观点、自动生成的标签、所属分类(工作/生活/学习/创意)。 |
| - **筛选排序**:支持按分类筛选及时间顺序/倒序排列。 |
| - **数据结构:** `inspirations.json` 存储核心观点、关键字及原文引用。 |
|
|
| |
|
|
| - **功能描述:** |
| - **情绪可视化**:展示情绪分布柱状图(如:本周 60% 平静,20% 喜悦)。 |
| - **记录列表**:显示每条记录的情绪类型、强度(1-10)及当时的心情关键词。 |
| - **筛选**:可单独查看“喜”或“哀”等特定情绪的历史。 |
| - **数据结构:** `moods.json` 记录 `type`, `intensity`, `keywords` 等字段。 |
|
|
| |
|
|
| - **功能描述:** |
| - **任务管理**:从输入中自动提取出的任务(包含时间、地点、内容)。 |
| - **状态切换**:支持手动勾选“已完成”。 |
| - **统计**:显示待办/已完成的数量对比。 |
| - **数据结构:** `todos.json` 包含任务描述、时间实体及完成状态。 |
|
|
| |
|
|
| - **功能描述:** |
| - **智能检索**:用户询问“我上周关于论文有什么灵感?”时,系统通过 RAG 技术检索 `records.json` 并回答。 |
| - **快捷指令**:提供“总结今日心情”、“还有哪些待办”等快捷按钮。 |
| - **技术实现:** 基于 **GLM-4-Flash** 进行上下文理解与 RAG 检索。 |
|
|
| --- |
| |
| # 业务流程与数据流 |
|
|
| iOS 端在请求 GLM-4 时,使用以下 System Prompt 确保数据可被解析: |
|
|
| > "你是一个数据转换器。请将文本解析为 JSON 格式。维度包括:1.情绪(type,intensity); 2.灵感(core_idea,tags); 3.待办(task,time,location)。必须严格遵循 JSON 格式返回。" |
| > |
| |
| ### NLP 语义解析策略 |
| |
| | **提取维度** | **逻辑** | **去向** | |
| | --- | --- | --- | |
| | **情绪** | 识别情感极性与 1-10 的强度值 | `moods.json` | |
| | **灵感** | 提炼 20 字以内的核心观点 + 3个标签 | `inspirations.json` | |
| | **待办** | 识别时间词(如“明晚”)、地点与动词短语 | `todos.json` | |
| |
| # 技术栈总结 |
| |
| - **开发语言**:Swift 6.0 / SwiftUI |
| - **核心框架**:CoreBluetooth (硬件), SwiftData (存储), CoreHaptics (震动) |
| - **AI 接口**:智谱 API (HTTP/HTTPS 请求) |
| - **数据存储**:iOS Local SandBox (音频文件 + 结构化数据) |