鸿蒙意图框架快速入门:5 分钟实现你的第一个意图
鸿蒙意图框架让应用功能可通过语音指令直接调用,提升用户体验。本文介绍了意图框架的基本概念、运行机制和两种开发方式,重点演示了如何通过装饰器快速实现订票页面意图接入。开发者只需5分钟即可完成首个Demo,将App功能接入系统级AI入口,实现"一句话直达"的智能交互体验。该技术适用于影音娱乐、出行导航等十余个领域,支持标准意图接入和自定义业务意图开发。
前言:为什么你需要关注意图框架?
回想一下,上次你打开一个 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
@Component
struct BookingInfoPage {
@State orderNumber: string = 'NO20260520001';
@State movieName: string = '给阿嬷的情书';
@State cinema: string = '嘉年华影城(滨江店)';
@State showTime: string = '2026年5月20日 19:30';
@State seatInfo: string = '4排9座';
@State status: 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', // 绑定的 Ability
pagePath: './ets/pages/BookingInfoPage', // 目标页面路径
})
@Entry
@Component
struct 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
更多推荐




所有评论(0)