华为创新赛获奖复盘:如何用纯端侧 AI 打造一款“有温度”的 HarmonyOS Next 应用?

前言:在刚刚结束的华为创新赛中,《智伴》凭借其独特的儿童陪伴场景荣获“场景奖”。作为一个单机运行的儿童应用,它在没有网络连接的情况下,依然实现了高质量的语音交互、视觉看护和体感游戏。这听起来似乎有些不可思议,但得益于 HarmonyOS Next 强大的端侧 AI 能力,这一切成为了现实。本文将复盘《智伴》的诞生过程,从架构设计到技术选型,揭秘这款获奖作品背后的技术细节。


一、 为什么选择做“单机”儿童应用?

在移动互联网时代,几乎所有应用都依赖云端服务。但对于一款面向儿童的陪伴应用,我们从立项之初就决定走“端侧优先,单机可用”的路线。

这一决策基于以下三点考量:

  1. 隐私安全(Privacy First)
    儿童的语音、照片、视频等数据极其敏感。如果将这些数据上传云端处理,一旦发生泄漏,后果不堪设想。HarmonyOS Next 的 AI 能力(Speech Kit, Vision Kit)完全在端侧 NPU 上运行,数据不出设备,从根源上保障了隐私安全。

  2. 全场景可用(All-Scenario Access)
    儿童的使用场景非常多样,可能是在户外公园、在行驶的汽车上,或者在没有 Wi-Fi 的老家。单机应用不依赖网络,随时随地都能提供稳定的陪伴体验。

  3. 零流量成本(Zero Cost)
    对于家长来说,无需担心应用消耗大量流量;对于开发者来说,省去了昂贵的服务器带宽和 AI API 调用费用,极大地降低了运营成本。


二、 《智伴》的技术架构:模块化与原子化

为了在单机环境下实现复杂的功能,《智伴》采用了基于 ArkTS 的模块化架构。

1. 总体架构图

《智伴》的架构可以分为三层:

  • UI 交互层 (Presentation Layer):基于 ArkUI 构建,采用 @ComponentV2 状态管理,提供流畅的动画和交互体验。
  • 业务逻辑层 (Business Logic Layer)
    • 游戏引擎:负责体感游戏的逻辑判定(如 MonsterComponent)。
    • 陪伴引擎:负责语音对话管理(如 AgentPage)。
    • 看护引擎:负责后台视觉监测(如 MonitorComponent)。
  • 原子能力层 (Capability Layer)
    • AI 能力:封装了 Core Speech Kit (TTS/ASR) 和 Core Vision Kit (Object/Skeleton Detection)。
    • 数据能力:使用 SQLite (relationalStore) 存储用户进度和古诗词数据。
    • 媒体能力:利用 AVPlayerTextReader 处理音视频播放。

2. Entry 模块结构解析

项目采用了标准的 HarmonyOS 工程结构,核心代码集中在 entry 模块中:

entry/src/main/ets/
├── common/             # 公共组件与工具
│   ├── speech/         # 语音能力封装 (TTSManager, TTSEngine)
│   ├── stotext/        # 语音识别封装 (SpeechRecognizer)
│   └── utils/          # 工具类 (Log, Permission)
├── model/              # 数据模型
│   ├── color/          # 颜色认知数据
│   └── entry/          # 视觉数据定义 (VisionBox, SafeRect)
├── pages/              # 页面视图
│   ├── game/           # 体感游戏 (VisionComponent, MonsterComponent)
│   ├── gushi/          # 古诗学习 (GushiPage - TextReader)
│   └── look/           # 智能看护 (MonitorComponent)
└── entryability/       # 应用入口

这种结构清晰地分离了界面、逻辑和底层能力,便于维护和扩展。


三、 核心技术选型:原生 AI 能力是关键

《智伴》能获得“场景奖”,核心在于它将鸿蒙的原生 AI 能力与儿童使用场景完美融合。

1. 听觉智能:Core Speech Kit & Speech Kit

  • 挑战:如何让应用“能听会说”,且不依赖云端?
  • 方案
    • 利用 textToSpeech 实现本地 TTS,为游戏提供低延迟的语音反馈(如“打得好!”)。
    • 利用 TextReader 朗读控件,为古诗学习提供带有标准播控 UI 的朗读体验。
    • 利用 speechRecognizer 实现离线语音指令识别,让孩子动动嘴就能控制应用。

2. 视觉智能:Core Vision Kit

  • 挑战:如何实现“隔空操作”和“坐姿提醒”?
  • 方案
    • skeletonDetection (骨骼点检测):实时捕捉手腕和脚踝的坐标,映射到游戏画面中,实现“拳打脚踢小怪兽”的体感玩法。
    • objectDetection (多目标检测):在后台监测屏幕前是否有“人体”,并计算人脸占比,从而判断距离是否过近。

3. 数据存储:SQLite

  • 挑战:海量的古诗词和百科知识如何离线存储?
  • 方案
    • 使用鸿蒙内置的 SQLite 数据库,将整理好的知识库预置在应用中,查询速度快且不占内存。

四、 结语

《智伴》的成功证明了:在 HarmonyOS Next 生态下,开发者无需依赖庞大的云端算力,仅凭端侧原生能力,就能构建出体验极佳的智能化应用。 这不仅保护了隐私,更让 AI 真正变得触手可及。

在接下来的系列文章中,我们将深入代码细节,手把手教你如何实现《智伴》中的每一个核心功能。下一篇,我们将从最基础也最实用的功能开始——如何使用 TextReader 实现一个古诗词朗读播放器

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐