项目名称:智能影记 - Memoria
团队名称:Mnemosyne
时间:2026.03.23 - 2026.03.29 (实训第二周)
当前阶段:Phase 1 (基建与原型期) - 冲刺阶段


一、 本周核心里程碑:从蓝图到代码

如果说第一周的任务是“画好设计图”,那么本周 Mnemosyne 团队的核心任务就是“打好地基”。面对 Memoria 复杂的异构架构,团队兵分三路,在本周成功达成了以下三个技术里程碑:

  1. 客户端 UI 基建:将 Figma 设计稿 1:1 转化为 Flutter 响应式代码,确立全局主题规范与基础路由。
  2. 端侧 AI 桥接:成功在 Android 原生环境下完成 C/C++ 核心代码的 CMake 编译配置,初步打通 Dart 与原生底层推理引擎的 FFI 通信链路。
  3. 数据架构升级与服务端收口:经过深入预研,将本地数据库方案从 SQLite 升级为高性能 NoSQL 引擎 Isar;同时确立 Monorepo 管理策略,完成云端 API 在 ai_tools 目录下的统一脚手架搭建。

二、 视觉工程化:全局主题与响应式布局

优质的用户体验是“智能导演”系统不可或缺的一环。本周,前端组重点推进了 UI 工程的模块化建设:

  • 全局 Theme 抽离:在 lib/core/constants/app_colors.dart 中定义了统一的亮暗色模式基础色板,重点封装了设计稿中频繁使用的“毛玻璃(Glassmorphism)”半透明材质与沉浸式卡片视觉参数。

  • 瀑布流与交互动效:搭建了首页(home_page.dart)的视图骨架,为后续利用 flutter_staggered_grid_view 实现不规则照片墙渲染预留了插槽,并规划了平滑的路由转场动效。
    在Flutter中实现的软件首页

  • 状态管理落地:在 main.dart 的入口处基于 Provider 搭建了全局状态树的顶层结构,为后续的“端侧特征提取进度条”与“全链路状态同步”预留了顶层响应接口。


三、 硬核攻坚:打通 Dart 与 C/C++ 的“次元壁”

Memoria 的核心优势在于端侧计算,以保障用户的隐私安全。为了让 MobileCLIP 等模型能够在移动端全离线、低延迟运行,我们必须依托基于 C/C++ 开发的底层推理框架(如 NCNN/ONNX)。

本周,团队技术攻坚的最深水区,便是跨语言接口桥接(FFI)

  1. C/C++ 动态库编译与调试
    团队在 android/app/src/main/cpp 目录下统一了底层的编译工具链。通过配置 CMakeLists.txt,我们成功将封装好的底层推理逻辑(memoria_bridge.cpp)链接至标准的安卓日志库,并跑通了编译流程。在调试阶段,严格排查了 C/C++ 层面的内存泄漏与野指针风险,确保未来推理引擎的稳定性。
  2. 内存结构映射
    利用 Flutter 的 dart:ffi 库,我们在规划中定义了 Dart 侧与 C++ 端严格对应的结构体(Struct)。目标是攻克跨语言调用时最为棘手的图片内存数据拷贝高维特征向量指针回收问题,以期实现零拷贝(Zero-Copy)级别的底层通信优化。
  3. 连通性验证
    目前,我们已经通过 extern "C" 成功向 Dart 侧暴露了标准的 C 接口。通过传入模拟的图片路径,成功在底层触发并返回了模拟状态码,走通了底层通信的第一步“Hello World”。

四、 基础服务预热:Isar 数据引擎与 Monorepo 云端中台

在 UI 和底层通信打通的同时,负责数据与后端的成员也在本周进行了关键的架构迭代:

4.1 本地数据库架构升级 (Isar 落地)

在早期的技术预研中,团队发现传统关系型数据库(SQLite)在应对手机相册复杂的非结构化数据(如包含多维 List 的 AI 标签、时空聚类关系)时,存在查询性能与序列化瓶颈。
为此,我们果断进行架构升级,全面引入了底层由 Rust 编写的、专为 Flutter 优化的极速 NoSQL 数据库——Isar。本周完成了核心业务实体类 EventEntity 的 Schema 结构设计,预留了:

  • startTime & endTime:用于时空轨迹聚类。
  • locationName:预留给后续的高德逆地理编码。
  • tags:用于接收 MobileCLIP 提取的语义标签。
  • joyScore:用于美学与欢乐值计算,辅助 AI 筛选最佳封面图(coverPhotoId)。

4.2 云端 API 的“单体仓库” (Monorepo) 策略

为了保证云端后端逻辑与端侧模型工具链的高度一致性,我们放弃了多仓库管理,转而采用 Monorepo 策略。我们将基于 Python 构建的云端 Web 服务(FastAPI)与 AI 模型的量化、测试脚本,统一收口至项目根目录的 ai_tools/ 文件夹下。
本周,我们完成了 api_server.py 的脚手架搭建与跨域配置(CORS),并明确了核心的端云通信 JSON 契约:端侧绝不上传图片,仅需向云端 POST 脱敏后的语义标签(Semantic Tags),云端大模型即可返回结构化的剧本分镜(Scenes)与配乐 Prompt。


五、 总结与下周展望

经过第二周的高强度开发,Memoria 团队已完全克服了初期框架搭建带来的“水土不服”。无论是极具前瞻性的 Isar 数据库升级,还是严谨的 FFI 底层桥接,都为这台“AI 导演”装上了强劲的引擎和敏锐的基础神经。

下周(Phase 1 收尾)工作重点:

  1. 真实数据连通:完成 Android 系统的媒体库读取权限申请(photo_manager),打通“读取手机相册 -> 提取特征”的第一条真实数据流。
  2. 端云联调测试:将 ai_tools 中的云端接口正式部署或内网穿透,接入 Flutter 客户端,跑通“发起语义请求 -> 云端返回剧本 JSON”的全链路。

Mnemosyne 团队的代码引擎已全速运转,敬请期待下周的技术突破。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐