Skill 真机测试通过,上架后却搜不到:别名、设备范围和可发现性怎么逐项核对
测试白名单上的真机能够调用,不等于所有用户都能搜索到。开发、审核、分发是三条不同链路:白名单证明指定账号能测试,审核通过决定版本能否上线,名称、别名、设备和系统范围则影响用户能否在当前环境发现它。
证据边界:本文把华为官方资料、可执行的应用侧模型和待补的 API 26 设备证据分开记录。当前本机 SDK 为 API 24,且没有连接 HarmonyOS 7 真机;文中的 TypeScript 断言用于验证状态与边界,不冒充 API 26 编译、云端联调或真机结果。接入时应以目标版本官方文档、控制台配置和真实错误码为准。
用漏斗而不是一句“搜不到”排查
第一步确认线上是否存在审核通过版本;第二步确认当前设备与系统是否在支持范围;第三步用名称和别名分别搜索;最后再看入口分发和用户表达是否匹配。
案例一:手机能搜到,平板搜不到
先看 Skill 或关联 Agent 的支持设备范围,而不是反复改名称。设备范围没包含平板时,搜索词再准确也不会解决问题。
案例二:开发者账号能用,普通账号不能用
这往往仍处在测试白名单或审核阶段。需要核对上架记录和当前线上版本,不能拿白名单结果当全量发布证据。
一个最小可发现性判定器
type Context = { approved: boolean; device: string; supported: string[]; query: string; aliases: string[] }; function discoverable(c: Context): boolean { const q = c.query.trim().toLowerCase(); return c.approved && c.supported.includes(c.device) && c.aliases.some(x => x.toLowerCase() === q); } if (discoverable({ approved: true, device: 'tablet', supported: ['phone'], query: '记账', aliases: ['记账'] })) { throw new Error('不支持设备不应判定可发现'); }为什么不建议不停增加别名
别名太泛会扩大错误分发,太多近义词也会让运营数据难以解释。先用真实用户表达聚类,再为清晰任务增加少量别名;每个别名都要能映射到确定能力,而不是为了“什么都能搜到”。
发布验证表
| 层级 | 证据 |
| 测试 | 白名单账号与设备上的调用记录 |
| 审核 | 当前版本上架记录与结果 |
| 范围 | 支持设备、系统和地区配置 |
| 发现 | 名称、别名与真实查询样本 |
| 调用 | 入口命中后完整成功与失败路径 |
官方资料
1. Skill 上下架流程介绍
2. 小艺开放平台配置与测试白名单
3. 2026 年 8 月开发者月刊