بنقرة واحدة
hmos-arkts-knowledge-retriever
检索 ArkTS 语言指南文档,为代码开发、审查和调试提供语法参考。当需要查找 ArkTS 语法规则、库使用方法或代码示例时使用。提供基于索引的高效检索和可追溯的文档引用。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
检索 ArkTS 语言指南文档,为代码开发、审查和调试提供语法参考。当需要查找 ArkTS 语法规则、库使用方法或代码示例时使用。提供基于索引的高效检索和可追溯的文档引用。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
**MUST** use 'devecocli' for HarmonyOS apps (scaffold, build, run, debug, devices, emulators, logs, docs, 鸿蒙开发文档, skills). **REQUIRED** and **MANDATORY** if workspace has build-profile.json5 or oh-package.json5, or user mentions HarmonyOS, 鸿蒙, DevEco, ArkTS, ArkUI, docs, 鸿蒙文档, 知识, 搜索, or skills.
检查 HarmonyOS 项目中的废弃 SDK 接口并提供修复建议。当需要清理废弃 API、升级 API 版本、优化代码质量或进行静态语法检查时使用。提供详细的迁移方案、修复优先级分类和代码示例。
检查并修复 HarmonyOS 项目的 ArkTS 语法错误,自动化构建项目。当需要编译项目、修复编译错误、生成 HAP/App 产物时使用。提供静态语法检查、错误自动修复、循环构建直到成功的完整工作流程。支持错误优先级分类(P0/P1/P2)、最大重试机制、构建产物自动定位。
编写、审查或改进ArkUI代码,遵循状态管理(V1/V2)、组件结构、布局选择、性能优化的最佳实践。触发场景:构建新页面或组件、实现状态管理、开发布局(列表/网格/瀑布流)、添加动画手势、搭建导航路由、处理弹窗模态、MVVM架构设计、V1迁移V2。
帮助开发者将ArkUI状态管理从V1迁移到V2。触发场景:(1) V1项目升级到V2;(2) 迁移@Component/@State/@Prop/@Link/@Observed/@ObjectLink/@Provide/@Consume/@Watch/@Reusable装饰器;(3) 迁移LocalStorage/AppStorage/PersistentStorage/Environment应用级状态;(4) 将ForEach/LazyForEach迁移到Repeat;(5) 解决animateTo在V2中的兼容问题;(6) 处理V1与V2混用场景;(7) 询问V1和V2装饰器对应关系或差异。
Handle HarmonyOS avoid-area adaptation through a declarative scene and resource index. Use when the task involves safe area expansion, status bar or navigation bar avoidance, notch or cutout handling, immersive full-screen layouts, or soft keyboard overlap handling.
| name | hmos-arkts-knowledge-retriever |
| description | 检索 ArkTS 语言指南文档,为代码开发、审查和调试提供语法参考。当需要查找 ArkTS 语法规则、库使用方法或代码示例时使用。提供基于索引的高效检索和可追溯的文档引用。 |
本技能用于快速检索 ArkTS 语言指南文档,为 HarmonyOS 开发提供准确的语法参考。通过结构化索引实现高效检索,返回可追溯的文档引用,帮助开发者在编码、审查和调试时快速找到正确的语法规则。
根据用户问题确定检索类型:
| 查询类型 | 关键词示例 | 目标文档范围 |
|---|---|---|
| 语法规则 | 类、函数、接口、泛型 | 02-Basic-Syntax |
| 库使用 | JSON、XML、容器 | 03-Common-Library |
| 并发编程 | TaskPool、Worker、线程 | 04-Concurrency |
| 运行时 | 动态导入、模块加载 | 05-Runtime |
| 工具链 | 编译、混淆、字节码 | 07-Compilation-Toolchain |
| 迁移 | TypeScript 转 ArkTS | 09-Migration-Guide |
使用检索脚本查询索引:
python3 scripts/search_docs.py --query "<查询内容>"
检索参数:
--query: 查询字符串(必需)--scope: 限定范围(可选,如 02-Basic-Syntax)--top-k: 返回结果数量(默认 5)检索结果包含以下信息:
- Reference: <文档路径>
- Section: <章节路径>
- Why it matches: <匹配原因>
- Guidance: <简要指导>
- Verification: <验证级别>
验证级别说明:
snippet_validated: 代码示例已通过验证doc_only: 仅文档说明,无代码验证按照标准格式返回检索结果:
单结果格式:
📚 **参考文档**: [classes.md](references/arkts-language-guide/02-basic-syntax/classes.md)
📍 **章节**: Declaring a Class
💡 **匹配原因**: 查询涉及类声明语法,该章节详细说明了 class 关键字的使用方法。
📖 **指导**: 使用 `class` 关键字定义类,字段必须在类体中声明。ArkTS 不支持类表达式,必须使用命名类声明。
✅ **验证状态**: snippet_validated
多结果格式:
找到 3 个相关文档:
1. **类声明** - [classes.md](references/...)
- 章节: Declaring a Class
- 匹配: 类定义语法
2. **接口定义** - [interfaces.md](references/...)
- 章节: Declaring an Interface
- 匹配: 类型定义方式
3. **泛型使用** - [generics.md](references/...)
- 章节: Generic Classes
- 匹配: 泛型类语法
如果检索结果不够详细,打开原文档:
# 读取完整文档
Read: references/arkts-language-guide/02-basic-syntax/classes.md
用户查询
│
├─ 查询类型?
│ ├─ 语法规则 → 检索 02-Basic-Syntax
│ ├─ 库使用 → 检索 03-Common-Library
│ ├─ 并发编程 → 检索 04-Concurrency
│ ├─ 运行时 → 检索 05-Runtime
│ ├─ 工具链 → 检索 07-Compilation-Toolchain
│ └─ 迁移 → 检索 09-Migration-Guide
│
├─ 检索结果数量?
│ ├─ 0 个 → 扩大检索范围或建议用户重新描述
│ ├─ 1 个 → 返回详细结果
│ └─ 多个 → 按相关性排序,返回前 N 个
│
├─ 结果验证状态?
│ ├─ snippet_validated → 标注已验证,可信度高
│ └─ doc_only → 标注仅文档,建议用户验证
│
└─ 用户需要更多?
├─ 是 → 打开原文档,提供完整内容
└─ 否 → 结束检索
文档索引,包含所有语言指南的元数据:
{
"documents": [
{
"path": "02-Basic-Syntax/classes.md",
"title": "Classes",
"sections": ["Declaring a Class", "Fields", "Methods"],
"keywords": ["class", "field", "method", "constructor"],
"verification_level": "snippet_validated"
}
]
}
代码片段索引,包含已验证的代码示例:
{
"snippets": [
{
"file": "02-Basic-Syntax/classes.md",
"line": 15,
"code": "class User { name: string = ''; }",
"validated": true
}
]
}
主题别名映射,用于查询扩展:
{
"aliases": {
"类": ["class", "classes", "类型定义"],
"函数": ["function", "functions", "方法"],
"并发": ["concurrency", "thread", "worker", "taskpool"]
}
}
当查询包含明确的技术术语时:
# 查询: "ArkTS 如何定义类"
python3 scripts/search_docs.py --query "class declaration" --scope "02-Basic-Syntax"
当查询描述较为模糊时:
# 查询: "如何处理异步任务"
python3 scripts/search_docs.py --query "async task concurrency"
当需要查找相关内容时:
# 先检索主要主题
python3 scripts/search_docs.py --query "generic class"
# 再检索关联主题
python3 scripts/search_docs.py --query "interface generic"
📚 **参考文档**: <文档名称>
📍 **章节**: <章节路径>
💡 **匹配原因**: <一句话说明>
📖 **指导**: <一两句基于文档的指导>
✅ **验证状态**: <snippet_validated/doc_only>
参考: [classes.md](references/...) - 类声明语法
📚 **参考文档**: [classes.md](references/arkts-language-guide/02-basic-syntax/classes.md)
📍 **章节路径**: Classes > Declaring a Class
💡 **匹配原因**: 查询涉及类声明语法,该章节详细说明了 class 关键字的使用方法、字段声明和实例创建。
📖 **指导**:
- 使用 `class` 关键字定义类
- 字段必须在类体中声明,不能动态添加
- ArkTS 不支持类表达式,必须使用命名类声明
- 使用 `new` 关键字创建实例
📝 **代码示例**:
```typescript
class User {
name: string = '';
age: number = 0;
}
let user: User = new User();
user.name = 'Alice';
✅ 验证状态: snippet_validated(代码示例已通过验证)
🔗 相关文档:
## 注意事项
- ⚠️ 检索结果基于索引文件,如果文档更新需要重建索引
- ⚠️ 某些文档可能只有英文版本,检索时需使用英文关键词
- ⚠️ 代码示例的验证状态表示是否通过 arkts-cli 验证
- ⚠️ 对于复杂查询,建议多次检索并综合结果
## 相关资源
- [ArkTS 官方文档](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/arkts-get-started)
- [ArkTS API 参考](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/)
- [HarmonyOS 开发指南](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/)