鸿蒙意图框架快速入门:5 分钟实现你的第一个意图
前言:为什么你需要关注意图框架?
回想一下,上次你打开一个 App 只为了看一个信息:电影票座位、快递物流、航班动态……结果被迫经历了启动页、广告弹窗、首页推荐、层层菜单,最后才找到想要的内容。
如果下次你只需要对小艺说出你的需求,你的 App 就能直接从系统层拉起目标页面,用户会不会更喜欢用你的应用?
就像以下动图中展示的那样:查天气、买电影票、设闹钟,都能对小艺一句话实现。你的 App 功能,同样可以拥有这种体验。这不是产品愿景,而是鸿蒙意图框架此刻就能提供的接入能力。
意图框架(Insight-Intent)是鸿蒙生态中连接应用与系统级 AI 入口的关键桥梁。通过它,你可以将 App 的核心功能封装成标准化「意图」,让小艺语音、小艺建议等系统入口能够智能识别并直接调用——用户一句话,你的功能即刻响应。
目前鸿蒙意图框架已覆盖影音娱乐、出行导航、便捷生活、金融理财、健康医疗等十余个垂域,开放了上百种标准可接入能力,例如播放音视频、骑行/驾车导航、查快递缴话费、查社保公积金、股票基金交易、医院挂号等常见场景,开发者既可接入官方预置标准意图,也可自定义专属业务意图。官方标准意图垂域与能力清单可查阅:标准意图接入规范 https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/insight-intent-access-specifications
本文用最通俗的语言讲透基础概念,再手把手带你 5 分钟完成首个意图 Demo。
一、意图框架基础概念
1. 什么是意图框架
意图框架是鸿蒙提供的应用功能开放框架,让 App 的核心能力能够被小艺等系统入口直接调用,实现「一句话直达」的智能体验。
简单举例:
传统方式:用户想买电影票 → 打开你的 App → 找到电影模块 → 选影片 → 选场次 → 确认购买(5 步操作)
意图框架方式:用户对小艺说「帮我买《给阿嬷的情书》今晚7点半的电影票」→ 小艺识别意图 → 直接拉起你的 App 购票页面,并自动填充影片、场次信息→ 用户只需确认支付(2 步完成)
2. 核心基础名词(新手必懂)
| 名词 | 一句话解释 | 举例 |
|---|---|---|
| 意图 | 功能执行的最小单元 | 购买电影票、查看电影票、播放音乐 |
| 意图参数 | 系统从用户语音或文字中提取并传给 App 的数据 | {movieName: "给阿嬷的情书", time: "19:30"} |
| 意图执行结果 | App 执行后返回给系统的反馈 | {success: true, orderId: "NO20260520001", seatNumber: "4排9座"} |
3. 运行机制极简拆解
意图开发:开发者基于 App 业务功能,通过配置文件或装饰器,定义意图、参数和执行逻辑。
意图查询:系统入口可以查询注册到意图框架的意图及其功能。
意图执行:系统入口解析用户自然语言或操作指令,匹配对应意图,传递参数给 App,App 执行对应功能后将执行结果回传给系统,系统将结果反馈给用户。
4. 两种开发方式对比
意图框架提供两种开发方式,新手优先推荐装饰器开发:
| 开发方式 | 适配版本 | 核心特点 | 适用场景 |
|---|---|---|---|
| 通过配置文件开发 | API 11 及以上 | 需新建配置文件+执行文件,绑定 Ability 组件 | 适用于接入意图框架预定义意图,复杂业务定制 |
| 通过装饰器开发(推荐) | API 20 及以上(鸿蒙 6.0+) | 代码注解快速定义,复用现有功能,无需额外配置文件 | 新手入门、已实现的功能快速接入意图框架 |
二、意图框架接入 Demo(5 分钟上手)
前置准备
开发环境:DevEco Studio,适配API 20(鸿蒙 6.0 及以上);
设备:鸿蒙6.0及以上版本手机;
开发方式:通过装饰器开发,无需额外配置文件,极简实现。
Demo 目标
实现一个拉起 App 订票页面意图:通过系统意图调试工具触发,自动拉起 App 的订票页面,新手快速验证意图调用能力。
步骤 1:创建鸿蒙工程
新建Empty Ability工程,API 版本选择API 20及以上版本,等待工程同步完成。
步骤 2:创建订票信息页面
新建 entry/src/main/ets/pages/BookingInfoPage.ets,添加页面信息:
@Entry@Componentstruct BookingInfoPage{@StateorderNumber:string='NO20260520001';@StatemovieName:string='给阿嬷的情书';@Statecinema:string='嘉年华影城(滨江店)';@StateshowTime:string='2026年5月20日 19:30';@StateseatInfo:string='4排9座';@Statestatus:string='已出票';build(){Column(){// 标题栏Row(){Text('🎬 订票信息').fontSize(24).fontWeight(FontWeight.Bold)}.width('100%').margin({top:30,bottom:20}).justifyContent(FlexAlign.Center)// 订单卡片Column(){Text(`订单号:${this.orderNumber}`).fontSize(16).fontColor('#666666').margin({bottom:15})Divider()Row(){Text('🎞️ 影片:').fontSize(16)Text(this.movieName).fontSize(16).fontWeight(FontWeight.Medium)}.width('100%').margin({top:12})Row(){Text('🏢 影院:').fontSize(16)Text(this.cinema).fontSize(16)}.width('100%').margin({top:8})Row(){Text('⏰ 场次:').fontSize(16)Text(this.showTime).fontSize(16)}.width('100%').margin({top:8})Row(){Text('💺 座位:').fontSize(16)Text(this.seatInfo).fontSize(16).fontColor('#FF6600')}.width('100%').margin({top:8})Row(){Text('📌 状态:').fontSize(16)Text(this.status).fontSize(16).fontColor('#00AA00')}.width('100%').margin({top:8})}.width('90%').padding(20).backgroundColor('#F5F5F5').borderRadius(12).margin({top:20})// 取票码Column(){Text('取票码').fontSize(14).fontColor('#999999').margin({bottom:5})Text('1234 5678').fontSize(20).fontWeight(FontWeight.Bold).fontColor('#FF6600').letterSpacing(4)}.width('90%').padding(15).backgroundColor('#FFF8E7').borderRadius(8).margin({top:20}).alignItems(HorizontalAlign.Center)}.width('100%').height('100%').backgroundColor('#FFFFFF')}}步骤 3:添加意图装饰器定义意图
在 BookingInfoPage 页面上添加 @InsightIntentPage 装饰器:
// 导入意图框架装饰器import{InsightIntentPage}from'@kit.AbilityKit';// 为订票信息页面添加意图注解——声明这是一个可被系统入口拉起的页面@InsightIntentPage({intentName:'ViewBookingInfo',// 意图唯一标识domain:'MovieTicketsDomain',// 所属领域:电影票务intentVersion:'1.0.1',// 版本号displayName:'查看订票信息',// 意图显示名称llmDescription:'查看用户的电影票订票信息,包括影片名称、影院、场次、座位和取票码',// 用于AI理解描述uiAbility:'EntryAbility',// 绑定的 AbilitypagePath:'./ets/pages/BookingInfoPage',// 目标页面路径})@Entry@Componentstruct BookingInfoPage{// ... 页面代码同上}步骤 4:开启意图调试开关&验证意图执行
4.1 App 编译安装
编译运行 App,安装至手机。
4.2 设备开启意图调试开关(仅首次需要)
打开设备的「设置」应用;
选择「系统」菜单;
选择「开发者选项」菜单;
选择「意图框架调试」菜单;
打开「意图框架调试」功能开关。
4.3 验证执行意图
点击「查看设备上所有意图」,可以查看所有已注册意图;
点击「查看订票信息」意图;
点击「执行意图」;
✅ App 自动拉起,直接展示订票信息页面——成功!
相关官方链接
1. 通过小艺端到端调测意图:开发者测试
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/intents-skill-all-rec-dp-self-validation
2. 意图上架指导:意图标准协议上架指导
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/intents-kit-listing-standard-protocol
3. 意图框架开发指南:意图框架开发指导
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/insight-intent
