# 康康 · 小红书长文正文与 9 宫格方案 > 参考风格:「Day5|30小时,用 AI 开发的 APP 完工了」这类独立开发记录口吻。 > 使用前替换:比赛官方话题、@官方账号、真机 tok/s 数字、开发耗时。 --- ## 标题备选 1. Day42|我做了个不上传的健康 AI App 2. 6 周做完:体检报告 AI 解读,但不联网 3. 把大模型塞进 iPhone,做了个健康档案 App 4. 体检报告别再乱拍给云端 AI 了 5. 用 MNN 在本地跑健康 AI,我把 demo 做完了 推荐主标题: **Day42|我做了个不上传的健康 AI App** 副标题可放封面小字: **Qwen + MNN + SME2,体检报告在手机本地解读** --- ## 正文主稿 Day42,这个 6 周 demo 终于能完整跑起来了。 我做了一个叫「康康」的 iOS App。它的目标很简单:把体检报告、化验指标、症状、日记和用药记录整理成一个本地健康档案,再让 AI 用大白话帮你看懂。 但我给自己加了一条硬限制: **健康数据不上传。** 这件事一开始听起来有点拧巴。因为现在最常见的 AI 解读方式,就是把报告拍照发给云端模型。可体检报告里有姓名、年龄、医院、检查指标、既往问题,基本是一个人最私密的数据之一。 所以我想做一个反过来的版本: 不是把报告交给云端 AI,而是把 AI 放进手机里。 --- 这版「康康」现在能完成一个比较完整的闭环: 1. 拍一张体检报告或化验单 2. 本地识别图片里的指标 3. 把数值、单位、参考范围、异常状态整理成结构化档案 4. 后续可以看趋势,比如体重、血糖、血脂、血压 5. 也可以问它:最近哪些指标异常?就诊前帮我整理一份摘要 整个过程不需要账号,不接云服务,没有广告 SDK,也没有第三方分析 SDK。 数据存在 iPhone 本地。报告原图进本地 Vault,SwiftData 存结构化记录,Face ID 可以给 App 加启动锁。 --- 技术上最核心的一点是端侧推理。 这次我主路径用的是: **Qwen3.5-2B + MNN + iPhone CPU/SME2** MNN 是阿里开源的推理框架。我的目标不是“能接上一个 API 就算 AI App”,而是让模型真的在手机本地吐 token。 App 里做了一个推理引擎页,可以看到当前后端: - 自动模式:真机优先走 MNN - MNN:CPU + SME2/NEON - MLX:兜底和对照 在支持 SME2 的设备上,MNN 会走端侧 CPU 加速。性能自检页会跑固定 prompt,直接显示 prefill 和 decode 速度。这里不是 PPT 数字,是 App 内可以复现的实测。 目前真机结果: **读入:122 tok/s,生成:33.0 tok/s,总耗时:1.1s** 这个速度已经足够支撑健康档案里的短问答、趋势解读和报告整理。 --- 为了让它不是“套壳聊天框”,我把 AI 链路拆成了几层: UI 不直接调模型。 拍照识别走 CaptureService,身体档案问答走 HealthExportService,趋势解读走 TrendInsightService,最后统一进入 AIRuntime。 AIRuntime 是 actor,里面做了推理闸门。同一时间只允许一个重推理任务占模型内存。因为端侧模型最怕的不是慢,而是多个任务同时加载,内存峰值上去以后直接被系统杀掉。 这也是做端侧 AI 和做云端 API 最大的区别之一: 云端是请求排队。 手机上是内存、功耗、模型加载、UI 响应一起排队。 --- 我觉得这个项目真正有价值的地方,不是“AI 能不能讲两句漂亮话”,而是它把健康资料变成了自己的长期记忆。 比如: 你不用再翻相册找去年那张化验单。 也不用每次看医生前,临时回忆“我最近到底哪几项不正常”。 你可以把症状、用药、指标、报告都记在一个地方,需要时生成一份就诊摘要。它不会替医生判断,也不会给剂量建议,只负责把你已有的信息整理清楚。 对普通人来说,这比一个会聊天的健康机器人更实用。 --- 这次我最想表达的创新点有三个: 第一,健康 AI 应该默认本地优先。 不是所有数据都适合上传。健康数据尤其应该有“不出设备也能用”的选择。 第二,端侧大模型已经能做完整产品闭环。 不是只跑一个 demo prompt,而是接进真实 App:模型管理、性能自检、拍照识别、趋势解读、问答摘要、失败兜底、隐私设置,这些都要一起工作。 第三,RAG 不一定非要 embedding。 康康里的健康记录本来就是结构化数据。指标名、时间、报告类型、症状、用药都很明确。很多问题可以先抽取意图,再从 SwiftData 里查相关记录,最后让本地模型生成回答。这样更轻,也更适合手机。 --- 现在还有很多地方可以继续打磨,比如报告详情页、飞行模式演示图、Live Activity 的实时 tok/s、更多真机性能对比。 但这版已经证明了一件事: **个人健康档案 + 本地大模型 + MNN 端侧推理,是可以组成一个完整应用的。** 如果说云端 AI 更像一个很聪明的外部顾问,那我希望康康更像一个安静放在手机里的私人健康档案员。 它不替你诊断。 不替医生做决定。 它只帮你把自己的身体记录收好、看懂、在需要的时候讲清楚。 这就是我这次做「康康」的原因。 参加 #比赛官方话题# 的作品记录。后面如果有时间,我会继续补飞行模式演示、Live Activity 和完整 demo 视频。 声明:康康只做健康信息记录、整理和科普式解读,不是医疗器械,不提供诊断、治疗、用药或剂量建议。任何健康决策请咨询专业医生。 --- ## 精简版正文 我做了一个叫「康康」的 iOS App。 它能把体检报告、化验指标、症状、日记和用药记录整理成一个本地健康档案,再用 AI 帮你做大白话解读。 最关键的是:不上传。 我不想把体检报告这种高度隐私的数据拍给云端模型,所以这次把 Qwen3.5-2B 放进了手机本地,主推理路径用 MNN,在支持 SME2 的 iPhone 上走端侧 CPU 加速。 现在 App 里已经能看到完整闭环: 拍报告 → 本地识别 → 结构化指标 → 趋势图 → 身体档案问答 → 就诊摘要。 技术上做了双后端: - MNN:真机主路径,CPU/SME2 - MLX:模拟器和兜底 App 里还有性能自检页,当前真机实测: 读入 122 tok/s,生成 33.0 tok/s,总耗时 1.1s。 我觉得这个项目最有意思的地方,不是做了一个 AI 聊天框,而是把本地大模型真正接进了健康档案系统。 它不会替你诊断,也不会给用药建议。它只做三件事: 帮你收好记录,帮你看懂变化,帮你在看医生前把重点讲清楚。 健康数据应该先属于自己。 这就是我做「康康」的原因。 #比赛官方话题# #端侧AI #MNN #Qwen #本地大模型 #健康管理 #iOS开发 #SwiftUI #隐私保护 #独立开发 --- ## 9 宫格图片排序 ### 当前素材可发版 | 顺序 | 图片 | 封面字/图中文字 | 作用 | |---|---|---|---| | 1 | `21-首页-健康日历趋势提醒.png` | 不上传的健康 AI 档案 | 封面,先讲产品是什么 | | 2 | `19-报告归档-核对报告信息.png` | 拍报告,自动变档案 | 展示核心创意:报告归档 | | 3 | `22-框选异常指标-本地识别中.png` | 图片在本地识别 | 展示视觉识别过程 | | 4 | `06-推理引擎-MNN-SME2性能自检.png` | Qwen + MNN + SME2 | 技术证据和比赛亮点 | | 5 | `07-模型管理-Qwen已就绪.png` | 1.19GB 模型在手机里 | 证明不是云端 API | | 6 | `11-身体档案-就诊摘要生成结果.png` | 就诊前 30 秒整理重点 | 展示应用价值 | | 7 | `09-趋势详情-体重AI解读.png` | 长期趋势,AI 讲人话 | 展示长期使用价值 | | 8 | `20-药品识别-核对药品.png` | 药盒也能本地识别 | 展示扩展场景 | | 9 | `02-Xcode开发调试界面.png` | 6 周独立开发记录 | 收尾,增强真实开发感 | ### 如果补图后的更强版 | 顺序 | 建议图片 | 封面字/图中文字 | |---|---|---| | 1 | 首页 + 大字封面 | 不上传的健康 AI 档案 | | 2 | 飞行模式 + 正在生成 | 断网也能 AI 解读 | | 3 | 报告拍照前后对比 | 拍一下,报告变档案 | | 4 | 报告详情三 Tab | 原图、解读、指标都留存 | | 5 | MNN 性能自检 | Qwen + MNN + SME2 | | 6 | 模型管理页 | 模型真的在本机 | | 7 | 身体档案摘要 | 看医生前自动整理 | | 8 | 趋势页 | 长期变化看得懂 | | 9 | Xcode/架构图 | SwiftUI + SwiftData + MNN | --- ## 封面字方案 ### 方案 A:大众向 主字: **体检报告 AI 解读** 副字: **不联网,不上传,只在手机里跑** 角标: **6 周独立开发 demo** ### 方案 B:技术向 主字: **把 Qwen 塞进 iPhone** 副字: **MNN + SME2 本地推理健康档案** 角标: **decode 33.0 tok/s** ### 方案 C:参考 Day 风格 主字: **Day42 做完一个本地健康 AI** 副字: **体检报告拍一下,但不交给云端** 角标: **SwiftUI + MNN + Qwen** 推荐使用方案 C,更贴近你给的参考笔记风格,同时还能保留项目技术点。 --- ## 每张图建议加字 1. `21-首页-健康日历趋势提醒.png` - 主字:Day42 做完一个本地健康 AI - 小字:体检报告、指标、症状、用药都存在手机里 2. `19-报告归档-核对报告信息.png` - 主字:拍报告,自动变档案 - 小字:原图和结构化信息一起保存 3. `22-框选异常指标-本地识别中.png` - 主字:图片识别也在本地 - 小字:异常指标可框选识别 4. `06-推理引擎-MNN-SME2性能自检.png` - 主字:Qwen + MNN + SME2 - 小字:生成 33.0 tok/s 5. `07-模型管理-Qwen已就绪.png` - 主字:模型真的在手机里 - 小字:Qwen3.5-2B 本地就绪 6. `11-身体档案-就诊摘要生成结果.png` - 主字:看医生前自动整理 - 小字:症状、指标、用药一份摘要带走 7. `09-趋势详情-体重AI解读.png` - 主字:长期变化看得懂 - 小字:折线图 + AI 大白话解读 8. `20-药品识别-核对药品.png` - 主字:药盒也能入档 - 小字:只记录,不提供用药建议 9. `02-Xcode开发调试界面.png` - 主字:不是套壳聊天框 - 小字:SwiftUI + SwiftData + MNN 端侧推理 --- ## 仍建议补充的截图 1. 飞行模式打开 + App 正在流式生成,这是“不上传”的最强证据。 2. 报告详情页三 Tab:原图 / 解读 / 指标,用于证明档案浏览闭环。 3. Face ID 启动锁页面,用于补足隐私三件套。 4. 如果 Live Activity 已能跑,补锁屏 tok/s,非常适合比赛记忆点。 --- ## 标签 #比赛官方话题# #端侧AI #MNN #Qwen #本地大模型 #健康管理 #体检报告解读 #隐私保护 #iOS开发 #SwiftUI #独立开发 #数字健康