_HarmonyOS开发小技巧:用Agent Framework Kit快速加智能体入口
agentId一定要复制正确,错一个字符都拉不起智能体;测试的时候必须用真实手机/平板,模拟器不管用;只有中国境内的设备能使用,海外版本的App暂时用不了这个功能;可以根据自己的App风格,自定义按钮的标题、提示文字,让入口更融入App界面。总的来说,Agent Framework Kit就是个“懒人工具”,不用自己写复杂的唤起逻辑,靠现成组件就能快速给App加智能体入口,对HarmonyOS开发
大家好,我是陈杨。相信大家也都认识我了,我们前面也写了很多篇文章,感兴趣可以打开我的主页去了解一下。觉得写的好的,不要忘记给我点赞哦,感谢!!
最近智能体超级火,相信大家都体会到了,薅了不少羊毛吧。但是我们想自己开发一个智能体,那肯定很难,也很复杂,成本也很高。那鸿蒙为了解决鸿蒙所有APP都可以开发自己的智能体,让用户能直接唤起小艺开放平台上的智能体,那今天说的Agent Framework Kit(智能体框架服务)绝对能帮上忙。它不用你从零开发复杂的交互逻辑,靠现成的组件就能实现智能体拉起,操作起来还挺简单。
一、先搞懂:这个Kit到底能干嘛?
简单说,Agent Framework Kit就是个“桥梁”——你的App在小艺开放平台上完线智能体后,用这个Kit就能快速添加一个入口(比如图标或按钮),用户点击后就能直接唤起对应的智能体,实现“App+智能体”的组合服务。
比如你做了个办公App,想加个“智能生成文档”的功能,只要在小艺开放平台创建好这个智能体,再通过这个Kit在App里放个按钮,用户点一下就能唤起智能体帮着写文档,不用再跳转到其他地方,体验特别顺。
它的核心就是Function组件,分两种类型:
- 图标组件:没设置标题的时候默认显示,就像个“总入口”,不带具体功能指向,适合当App里智能体的主入口;
- 按钮组件:可以自定义文字描述,比如“智能创建”“一键生成”,用户一看就知道点了能干嘛,针对性更强。
二、哪些设备能用?有啥限制?
先把使用范围说清楚,避免白忙活:
- 支持设备:目前只支持手机和平板,其他设备暂时用不了;
- 适用地区:仅限中国境内(不含香港、澳门、台湾地区);
- 模拟器:暂时不支持,得用真实设备测试才靠谱。
三、一步步教你:怎么用Function组件拉起智能体
其实开发步骤不复杂,跟着走就能搞定,咱们用通俗的话拆解一下:
1. 开发前准备
- 先在小艺开放平台创建好你的智能体(具体步骤可以看平台的“快速创建智能体”指南);
- 测试用的设备要登录华为账号,而且得联网,不然拉不起智能体。
2. 引入必要的“工具”
打开项目里的src/main/ets/pages/Index.ets文件,先把需要的组件和工具引进来,就像做饭前先把食材准备好:
import { FunctionComponent, FunctionController } from '@kit.AgentFrameworkKit';
import { BusinessError } from "@kit.BasicServicesKit";
import { hilog } from "@kit.PerformanceAnalysisKit";
3. 写核心代码:添加智能体入口
接下来就是创建一个页面,把智能体入口(图标或按钮)放上去。这里有几个关键信息要注意:
agentId:相当于智能体的“身份证”,必须填对,不然找不到要唤起的智能体;onError:出错处理,比如智能体拉不起来的时候,这里可以写点提示逻辑;- 可选参数:比如
title(按钮标题)、queryText(给智能体的提示文字),可以根据需求加。
简单的代码示例长这样(复制过去改改agentId就能用):
@Entry
@Component
export struct AgentExample {
// 创建控制器,相当于“开关”,用来控制智能体的打开关闭
private controller: FunctionController = new FunctionController();
// 你的智能体ID,替换成自己的就行
private agentId: string = 'agentproxy65481da1fa2293a8482d45';
build() {
Column() {
// 智能体入口组件
FunctionComponent({
agentId: this.agentId, // 智能体身份证
onError: (err: BusinessError) => {
// 出错了可以在这里加提示,比如弹个“智能体暂时不可用”
console.log(`出错啦:${err.message}`);
},
options: {
title: '智能创建', // 按钮标题,填了就显示按钮,不填显示图标
queryText: '创建一个新的情景', // 告诉智能体要做什么
isShowShadow: true // 给按钮加个阴影,看着更立体
},
controller: this.controller
})
}
}
}
4. 可选优化:先判断智能体是否能用
有时候可能会遇到智能体ID无效,或者设备不支持的情况,这时候可以先做个判断,能用再显示入口,避免用户点了没反应:
@State isAgentSupport: boolean = false;
// 页面加载前先检查
aboutToAppear () {
this.checkAgentSupport()
}
// 检查智能体是否可用
async checkAgentSupport () {
try {
let context = this.getUIContext()?.getHostContext() as common.UIAbilityContext;
// 调用控制器的方法,判断当前智能体能不能用
this.isAgentSupport = await this.controller.isAgentSupport(context, this.agentId)
} catch (err) {
console.log(`检查失败:${err.message}`)
}
}
// 只有能用的时候才显示入口
build() {
Column() {
if (this.isAgentSupport) {
FunctionComponent({
agentId: this.agentId,
onError: (err: BusinessError) => {},
options: {
title: '智能创建',
queryText: '创建一个新的模式'
}
})
}
}
}
5. 加个“监听”:知道智能体什么时候打开/关闭
如果想知道用户什么时候打开了智能体,什么时候关掉了,还能加个监听事件,比如统计使用次数:
// 页面加载时初始化监听
aboutToAppear () {
this.initListeners()
}
// 设置监听:打开和关闭智能体时触发
initListeners () {
this.controller?.on('agentDialogOpened', () => {
console.log('用户打开了智能体');
// 这里可以加统计逻辑,比如上报“智能体打开次数”
})
this.controller?.on('agentDialogClosed', () => {
console.log('用户关闭了智能体');
})
}
// 页面消失时取消监听,避免占用资源
aboutToDisappear () {
this.controller?.off('agentDialogOpened')
this.controller?.off('agentDialogClosed')
}
四、最后提个醒
agentId一定要复制正确,错一个字符都拉不起智能体;- 测试的时候必须用真实手机/平板,模拟器不管用;
- 只有中国境内的设备能使用,海外版本的App暂时用不了这个功能;
- 可以根据自己的App风格,自定义按钮的标题、提示文字,让入口更融入App界面。
总的来说,Agent Framework Kit就是个“懒人工具”,不用自己写复杂的唤起逻辑,靠现成组件就能快速给App加智能体入口,对HarmonyOS开发者来说还挺实用的。如果你的App需要集成智能体功能,不妨试试这个Kit,操作简单还省时间~
更多推荐



所有评论(0)