夜雨聆风学习资料网

ARTICLE · 1036270

你的 App 还在等人点图标?HarmonyOS 7 让小艺直接调你的功能

你的 App 还在等人点图标?HarmonyOS 7 让小艺直接调你的功能

HarmonyOS 7 把应用入口改了:功能不再等人点,而是被点名。V哥把 Skill 化压成一篇,读完带走三样东西:① 一套解剖图:一个 skills/ 目录、两份文件、一处 skillProfiles 注册,老业务一行不改;② 一份契约写法:SKILL.md 三段式(元数据/触发场景/能力契约),写糙了系统根本不调你;③ 一张上线自检表:三处命名一致、回包唯一出口、边界条款防误触发,六项全勾再提交。

兄弟们好,我是V哥。

先问个扎心的:用户要用你 App 里"排队取餐"这个功能,得点几步?解锁、找图标、进首页、过广告位、点 tabBar——五步。而用户心里想的就四个字:"帮我取餐。"

9 月 7 日 HarmonyOS 7(API 26)正式发布,这事有解了:应用内业务能力可以以 Skill 形式开放给系统智能体调用。用户说一句话,小艺找到你的能力、自己调。应用从"被打开",变成了"被调用"。


三秒钩子

图标时代,你的功能在等人点;意图时代,你的功能在被点名。SKILL.md 就是你在系统意图分发池里的简历——系统不进你代码,只看简历决定调不调你。


一个目录、两份文件、一处注册

物理形态官方规定得很死:模块下建 skills/ 目录,每个 Skill 一个文件夹,里面一份 SKILL.md 描述文件加一份入口脚本,再到 module.json5 的 skillProfiles 标签里注册一下,完事。

{   "module": {     "skillProfiles": [       {         "name": "vge-org-milktea-assistant",  // 三处必须完全一致         "abilityName": "EntryAbility",         "srcEntries": ["../../skills/vge-org-milktea-assistant/scripts/MilkteaSkill.ets"],         "version": "1.0.0"       }     ]   } }

最爽的一点:薄封装。入口脚本只是个"参数适配器",老业务一行不动,加个壳就能被系统调。V哥的奶茶点单示例里,MilkTeaService 这个既有业务类零改动,Skill 脚本只做四步:校验参数 → 调业务 → 按契约装回包 → 经 completeArkTSScriptInApp 上报。

// 薄适配层:只翻译参数,不装业务 import { scriptManager } from '@kit.AbilityKit';  export default class MilkteaSkill {   public async orderMilkTea(info: scriptManager.ArkTSScriptInfo,                             ...argv: string[]): Promise<void> {     // 校验 → 调 MilkTeaService → report 回包(略,见社区版全文)   } }

注意一个坑:回包必须全走唯一出口。V哥把 completeArkTSScriptInApp 收进一个 report 私有方法——回包点一散,某个分支忘了报,系统只会觉得这 Skill "失联",下次直接不调你。


契约写得好不好,决定你会不会被调用

SKILL.md 三段式,每段都有命门:

元数据name 三处一致(目录名、文件头、module.json5);description 是系统初次筛选的依据,写"奶茶相关服务"这种糊涂话,筛选关都过不去。

触发场景:官方建议除典型话术外,还要写"不调用的情况"。"附近的奶茶店"是搜店铺、"这杯多少钱"是查价格,一条条踢出去。误触发一次透支的是用户对整个入口的信任,这个保险丝不能省。

能力契约exec-cli 调用示例 + JSON Schema,anyOf 管二选一必填、oneOf 管回包分支互斥。回包里的 suggestion 是直接给用户看的,写"ERR_TIMEOUT_504"这不叫提示,叫劝退——按"用户下一步能干什么"来写人话。


V哥的判断:红利窗口就是现在

Skill 化真正改的是分发的粒度:从 App 降到了功能。以前用户装你的应用才能用你的功能,现在你的功能直接进意图分发池,长尾功能第一次有机会被"说"出来。

7.0 刚发一周,池子里占位的人还不多。以前V哥说过合规是上架的门票,现在补一句:Skill 化是新门票,门开着的窗口不会一直开着。

今天V哥去把V哥那杯"五分甜少冰"的真奶茶点了,兄弟们跟上。

【好文精选】

AI时代,真正的护城河不是会用AI

2026年的IT圈,看看谁在“裸泳”,谁在“吃肉”

AI时代,真正的护城河不是会用AI

WorkBuddy 高手使用手册(2026 版):从安装到组一支 AI 团队
A I时代下我们需要具备怎样的能力?
20多年北漂,最感谢的是推我上讲台的那个...
【V哥工作日常分享】

相关学习资料