【OpenHarmony/HarmonyOs 】CheckMe 智能能力扩展:人脸识别开放能力、端侧 AI 与元服务集成设计

本文基于 CheckMe 项目展开,讨论如何把人脸识别开放能力、端侧 AI、元服务能力集成到一个设备监控类 HarmonyOS 项目中。项目当前已经具备设备信息、媒体能力、硬件检测、权限管理、服务卡片和响应式布局等基础,本文重点写“可落地的扩展设计”,不虚构项目已经完成的人脸识别或端侧 AI 功能。

当我们写 HarmonyOS 项目文章时,很容易只停留在“展示设备信息”“做服务卡片”这些常规方向。其实 CheckMe 这种设备工具类应用,还可以进一步扩展到智能能力:

  • 用人脸识别或生物认证保护敏感检测报告
  • 用端侧 AI 对设备状态做异常判断
  • 用元服务降低用户获取工具能力的门槛
  • 用媒体能力和硬件检测作为 AI 分析的数据基础

这篇文章会以 CheckMe 为例,讲如何把这些能力组织成一个可信、轻量、可扩展的方案。🤖


一、为什么 CheckMe 适合接入智能能力

CheckMe 的核心数据包括:

  • CPU 使用率和核心频率
  • 内存占用
  • 存储空间
  • 电池状态
  • 网络状态
  • GPS 位置和精度
  • 蓝牙、传感器、相机等硬件检测结果
  • 媒体编解码能力

这些数据本身就是 AI 分析的输入。

比如:

  • CPU 长时间高负载,可能是后台任务异常
  • 电池温度和充电状态结合,可以判断是否存在高温风险
  • WiFi 信号、网关延迟、网络类型结合,可以判断网络体验
  • 硬件检测结果可以生成健康评分
  • 媒体能力可以判断设备适合什么视频播放规格

所以端侧 AI 并不是为了“显得高级”而接入,而是能把原始数据变成更容易理解的建议。


二、现有数据模型已经具备 AI 输入基础

项目中 DeviceInfoData 已经是一个综合数据模型:

export interface DeviceInfoData {
  cpu: CpuInfo;
  memory: MemoryInfo;
  screen: ScreenInfo;
  battery: BatteryInfo | null;
  network: NetworkInfo | null;
  storage: StorageInfo | null;
  gpu: GpuInfo;
  system: SystemInfo;
  camera: CameraInfo[];
  sensor: SensorInfo[];
  fetchTimestamp?: number;
  dataAccuracy?: DataAccuracy;
}

这类结构很适合进一步派生为 AI 特征:

interface DeviceAiFeatures {
  cpuUsage: number;
  memoryUsage: number;
  storageUsage: number;
  batteryLevel: number;
  batteryTemperature: number;
  networkRtt: number;
  networkSignal: number;
  sensorAvailableCount: number;
  updatedAt: number;
}

有了特征层,后续不管是规则判断、轻量模型推理,还是本地评分,都可以独立于页面实现。


三、端侧 AI 第一阶段:先做规则智能

很多项目一谈 AI 就想直接上模型,其实没必要。CheckMe 这种设备监控工具,第一阶段完全可以先做规则智能。

例如:

interface AiSuggestion {
  level: 'normal' | 'warning' | 'critical';
  title: string;
  reason: string;
  action: string;
}

function analyzeDeviceHealth(features: DeviceAiFeatures): AiSuggestion[] {
  const suggestions: AiSuggestion[] = [];

  if (features.cpuUsage > 85 && features.memoryUsage > 80) {
    suggestions.push({
      level: 'warning',
      title: '设备负载偏高',
      reason: 'CPU 与内存同时处于高占用状态',
      action: '建议关闭高耗资源应用后再次检测'
    });
  }

  if (features.batteryTemperature > 42) {
    suggestions.push({
      level: 'critical',
      title: '电池温度偏高',
      reason: '当前温度已超过舒适使用范围',
      action: '建议暂停充电或降低设备负载'
    });
  }

  return suggestions;
}

这种方案的优点:

  • 不依赖云端
  • 不需要模型文件
  • 结果可解释
  • 容易写进毕业设计或项目答辩
  • 用户更容易相信

等规则智能稳定后,再考虑接入 MindSpore Lite 等端侧推理能力。


四、端侧 AI 第二阶段:本地推理而不是默认上传

如果后续需要更智能的异常检测,可以把历史状态序列输入本地模型。

例如采集最近一段时间的状态:

interface DeviceMetricPoint {
  cpuUsage: number;
  memoryUsage: number;
  batteryTemperature: number;
  networkRtt: number;
  timestamp: number;
}

模型可以输出:

interface DeviceAiResult {
  healthScore: number;
  abnormalCpu: boolean;
  abnormalBattery: boolean;
  abnormalNetwork: boolean;
  confidence: number;
}

端侧 AI 的关键不是“模型多复杂”,而是隐私边界:

  • 设备状态不上传
  • 精确位置不进入模型
  • 图片和人脸不作为默认输入
  • 推理结果只本地展示
  • 用户主动导出报告时再脱敏

这样既能写出“端侧 AI”主题,也不会违背工具类应用的可信定位。


五、人脸识别开放能力:更适合做身份保护

对于 CheckMe 来说,人脸识别不适合用来“识别用户是谁”,更适合用于保护敏感操作,例如:

  • 查看完整设备诊断报告前验证身份
  • 导出报告前验证身份
  • 查看精确定位前验证身份
  • 打开隐私设置前验证身份
  • 清除历史记录前验证身份

也就是说,人脸能力在这个项目中应该是“认证”,而不是“识图”。

可以设计一个安全入口:

interface SecureAction {
  actionId: string;
  title: string;
  requiredAuth: boolean;
  authReason: string;
}

const exportReportAction: SecureAction = {
  actionId: 'export_device_report',
  title: '导出设备报告',
  requiredAuth: true,
  authReason: '导出报告可能包含设备状态和网络信息'
};

用户点击导出报告时:

  1. 弹出说明
  2. 调用系统用户认证能力
  3. 认证通过后生成报告
  4. 导出前执行脱敏策略

这样写更符合隐私保护原则,也更适合 CSDN 技术文章表达。


六、媒体能力与 AI:从“能播什么”到“推荐什么”

项目中 MediaService 已经整理了视频、音频、图片、流媒体支持能力:

public getMediaSummary(): {
  totalCodecs: number;
  videoCodecs: number;
  audioCodecs: number;
  imageFormats: number;
  streamingProtocols: number;
} {
  const allCaps: MediaCapability[] = this.getAllMediaCapabilities();
  const imageCaps: MediaCapability[] = this.getSupportedImageFormats();
  const streamCaps: MediaCapability[] = this.getStreamingProtocols();

  return {
    totalCodecs: allCaps.length,
    videoCodecs: allCaps.filter((c: MediaCapability) =>
      c.supportedFormats.some((f: string) =>
        ['mp4', 'mkv', 'avi', 'mov', 'webm', 'mpg', 'vob', 'ts'].includes(f)
      )
    ).length,
    audioCodecs: allCaps.filter((c: MediaCapability) =>
      c.supportedFormats.some((f: string) =>
        ['m4a', 'mp4', 'mp3', 'flac', 'wav', 'ogg', 'opus', 'ac3', 'dts'].includes(f)
      )
    ).length,
    imageFormats: imageCaps.length,
    streamingProtocols: streamCaps.length
  };
}

这部分可以扩展为“智能播放建议”:

  • 设备支持 AV1:优先推荐高压缩视频格式
  • 网络 RTT 较高:建议降低流媒体清晰度
  • 电量较低:建议关闭高帧率播放
  • 存储不足:建议使用更高压缩格式

这类智能建议不需要读取用户隐私文件,只基于设备能力和当前状态即可完成。


七、元服务能力:把 CheckMe 做得更轻

CheckMe 当前是完整应用,module.json5 中配置为:

"deliveryWithInstall": true,
"installationFree": false

如果要扩展成元服务思路,可以拆出几个轻量入口:

  • 设备健康速查
  • 电池状态速查
  • 网络质量检测
  • 硬件检测报告
  • 媒体能力查询

元服务更适合“用完即走”的场景。比如用户只想快速测网络,不一定愿意完整安装或打开应用主界面。

可以这样拆:

完整 App:CheckMe
  - 深度设备信息
  - 全量仪表盘
  - 多页面工具
  - 服务卡片管理

元服务:CheckMe Quick Check
  - 一键设备健康评分
  - 一键网络检测
  - 一键电池状态查看
  - 检测报告轻量分享

这样既保留完整应用的深度,又让高频场景更轻。


八、推荐的智能能力架构

综合以上能力,我建议把智能扩展拆成四层:

采集层
  DeviceInfoService / LocationService / MediaService / HardwareTest

特征层
  DeviceAiFeatureBuilder

智能层
  RuleEngine / LocalAiModel / SecureAuth

触达层
  App Page / Widget / Live View / Atomic Service / Report

对应代码结构可以这样规划:

entry/src/main/ets/ai/
  DeviceAiFeatureBuilder.ts
  DeviceHealthRuleEngine.ts
  DeviceAiModelRunner.ts
  SecureActionGuard.ts

entry/src/main/ets/security/
  PrivacySettingsStore.ts
  ReportDesensitizer.ts
  UserAuthService.ts

这里的重点是边界清晰:

  • 采集层不关心 AI
  • AI 层不直接操作 UI
  • 安全层统一处理认证和脱敏
  • 触达层只展示结果

这样后续无论接规则、模型、人脸认证还是元服务,都不会把主页面写得越来越臃肿。


九、落地优先级建议

如果要真的继续开发,我建议按这个顺序:

  1. 先做规则智能评分。
  2. 再做报告脱敏和安全导出。
  3. 然后接用户认证,保护敏感操作。
  4. 最后考虑端侧模型推理。
  5. 元服务可以单独拆一个轻量入口,不要一开始就改动主应用结构。

原因很简单:规则智能和脱敏最容易落地,也最符合项目当前基础。人脸认证和端侧模型属于增强能力,应该在数据模型稳定后再接入。


十、文章小结

CheckMe 要写“人脸识别、端侧 AI、元服务”主题,最好的角度不是硬凑功能,而是围绕设备工具类应用的真实需求:

  • 人脸识别用于敏感操作认证
  • 端侧 AI 用于设备健康分析
  • 元服务用于轻量化高频入口
  • 媒体和硬件检测数据作为智能分析基础
  • 隐私保护贯穿整个设计

这样写出来的文章会更可信,也更像一个真正可以继续迭代的 HarmonyOS 项目。

最后一句总结:智能能力不是为了让 App 看起来更复杂,而是让用户更快理解设备状态,并且始终掌握自己的数据。


参考资料

img

img

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐