我在开发个人知识管理应用时,发现用户最常见的需求其实很简单:找到某篇笔记、查看某个标签下的内容,或者把几篇相关资料整理到一起。
传统方式需要用户进入应用,手动输入关键词,再逐条浏览结果。如果能够通过系统智能入口直接表达需求,应用就有机会把这些操作整合成更自然的任务流程。
HarmonyOS 7 支持应用 Agent 构建,以及已有 Agent 通过端 A2A 等方式接入系统级智能入口。端侧方案尤其需要考虑应用内部能力如何开放、数据边界如何划分,以及交互结果如何呈现。
先将数据查询能力从页面中拆出来
我不希望智能体直接操作页面组件,因此先将笔记查询逻辑独立成一个服务。无论用户在应用内搜索,还是通过系统入口发起查询,都走相同的数据访问层。
interface Note {
id: string;
title: string;
tags: string[];
updatedAt: number;
}
interface NoteQuery {
keyword?: string;
tag?: string;
}
function filterNotes(
notes: Note[],
query: NoteQuery
): Note[] {
const keyword = (query.keyword ?? '')
.trim()
.toLowerCase();
return notes.filter((note) => {
const matchesKeyword =
!keyword ||
note.title.toLowerCase().includes(keyword);
const matchesTag =
!query.tag || note.tags.includes(query.tag);
return matchesKeyword && matchesTag;
});
}这里是本地业务逻辑示例,不是系统 Agent 的注册或通信接口。正式接入时,需要依据当前 SDK 文档完成相应的 Agent Extension Ability、调用链路及交互组件配置。
让智能体只获得完成任务所需的数据
假设用户说“找一下最近更新的 HarmonyOS 笔记”,系统需要将自然语言转换为查询条件,再由应用读取真实数据。返回结果可以只包含标题、标签和更新时间,不必默认传递笔记全文。
如果用户进一步要求整理笔记,应用应先展示候选内容和操作范围。批量修改标签、删除记录或导出文件等操作,需要按照业务风险设置确认和授权机制。
端侧运行也不意味着无需安全审查。应用仍要验证调用方、访问范围和参数合法性,并避免在日志中输出完整笔记内容。
让结果能够继续操作
智能体返回几条笔记标题,并不代表任务体验已经完成。对于合适的场景,应用可以提供结构化结果,让用户继续打开笔记、查看标签或确认整理操作。具体交互方式取决于系统支持的组件和接入规范。
我会测试应用处于前台、后台和未启动状态时的调用表现,并验证无搜索结果、权限不足、数据变化和重复请求等情况。尤其要确认,智能体展示的内容不会因为本地数据已经更新而变成过期信息。
这次实践让我认识到,端侧 Agent 的价值在于让应用原有能力更容易被发现和调用,而不是把应用的所有数据都交给模型。业务逻辑、数据访问和智能交互分层清楚,既有助于维护,也能让权限控制更加明确。
相关推荐
87年的鸿蒙开发者
25
0
16
0
21
0
22
0还可以
我还没有写个人简介......
帖子
提问
粉丝
1024码上尝鲜,让端侧 Agent 理解应用状态:本地知识管理能力的智能化改造
2026-10-27 11:23:09 发布学鸿蒙踩过的几个坑:ArkUI页面布局真没我想的那么简单!@向光而行 码向未来
2026-10-20 14:32:08 发布


京公网安备:11010502051901号