logo
积分中心
从自然语言到业务动作:为任务管理应用设计 HarmonyOS 7 Skill 原创
头像 还可以 2026-10-27 11:24:18    发布
27 浏览 4 点赞 4 收藏

很多应用已经具备完整的任务管理能力,但用户仍然需要进入应用、找到新增入口、填写内容,才能完成一次简单操作。对高频任务来说,这条路径还有进一步优化的空间。

HarmonyOS 7 的 Skill 能力支持应用将特定功能接入系统级智能入口,使用户有机会通过自然语言调用应用服务。在我的设计中,Skill 不负责重新实现任务管理,而是负责把已有的业务能力以清晰的方式开放出去。

先梳理适合开放的功能

我会优先选择边界明确、调用频率较高的能力,例如新增任务、查询任务和查看截止时间。删除任务、批量修改等操作则需要更严格的确认机制。

对于新增任务,我先定义统一的数据模型:

interface TodoTask {
  title: string;
  dueAt?: number;
  priority: 'low' | 'normal' | 'high';
}

function validateTask(task: TodoTask): string | null {
  if (!task.title.trim()) {
    return '任务标题不能为空';
  }

  if (
    task.dueAt !== undefined &&
    !Number.isFinite(task.dueAt)
  ) {
    return '截止时间格式无效';
  }

  return null;
}

这段代码是应用侧的参数校验示例,不是 HarmonyOS 7 Skill 的官方定义格式。正式接入时,需要按官方文档完成 Skill 描述、参数声明、能力注册、调测和审核配置。

让自然语言参数变成可靠的数据

用户可能说“明天下午提醒我交报告”,但系统需要进一步确定日期、具体时间和任务标题。如果缺少必要信息,应该继续询问用户,而不是根据模型猜测直接创建任务。

因此,我会把自然语言理解和业务执行分开。Skill 的调用参数进入应用后,先转换成标准的数据结构,再由业务层进行校验和持久化。页面按钮和智能入口共用同一个任务服务,避免两套实现出现规则不一致。

时间处理尤其需要注意时区、日期边界和模糊表达。对于“下周”“月底”等表达,必须遵循明确的解析规则;如果无法确定具体日期,就应要求补充信息。

调测不能只测一次成功调用

我会测试正常创建、缺少标题、截止时间无效、重复调用和用户取消等情况。还要验证 Skill 调用成功后,应用内的任务列表是否同步更新,以及重新启动应用后数据是否仍然存在。

如果创建任务涉及系统通知或提醒能力,还需要单独处理对应的授权、触发时间和失败反馈,不能把“创建任务成功”直接等同于“提醒一定会按时触发”。

这次实践让我认识到,Skill 的接入重点不是增加一个新的输入入口,而是将应用能力整理成系统能够理解、调用和验证的服务。业务逻辑越独立,Skill 的复用空间越大;参数和权限边界越清晰,智能入口的执行结果也越可靠。


©本站发布的所有内容,包括但不限于文字、图片、音频、视频、图表、标志、标识、广告、商标、商号、域名、软件、程序等,除特别标明外,均来源于网络或用户投稿,版权归原作者或原出处所有。我们致力于保护原作者版权,若涉及版权问题,请及时联系我们进行处理。
分类
HarmonyOS
头像

还可以

我还没有写个人简介......

5

帖子

10

提问

2

粉丝

关注
地址:北京市朝阳区北三环东路三元桥曙光西里甲1号第三置业A座1508室 电话:13391790444或(010)62178877
版权所有:电脑商情信息服务集团 北京赢邦策略咨询有限责任公司
声明:本媒体部分图片、文章来源于网络,版权归原作者所有,我司致力于保护作者版权,如有侵权,请与我司联系删除

京ICP备:2022009079号-2

京公网安备:11010502051901号

ICP证:京B2-20230255