harmonyos-ai-skill:让 Cursor 按 ArkTS 规范写鸿蒙,不再瞎编 API
端侧 Kit、MCP 接线都写过之后,写代码的人仍会遇到:Cursor 生成「像 React 的 ArkTS」、编造不存在的 Kit 名。社区项目harmonyos-ai-skill用可安装知识包,把API 11+ / DevEco 6约束塞进 AI 工具链。
1. 问题:通用大模型不懂你的 API 版本
典型幻觉:
- 混用已废弃接口名
@Component生命周期写法像 React- 忽略 HarmonyOS 权限声明位置
单靠一句「请用 ArkTS」不够,需要可版本化的规范文件。
2. harmonyos-ai-skill 是什么
GitHub 上的HarmonyOS AI 编程知识包,目标:
- 覆盖11+ 种 AI 编程工具(Cursor、Claude Code 等)的配置方式
- 对齐DevEco Studio 6与API 11+
- 提供 ArkTS / 声明式 UI / 权限 等检查清单
它不是华为官方发行版,但是工程师可 fork 的自维护规则源。
3. 在 Cursor 里接入(推荐 globs)
- Clone 或 submodule 到仓库,例如
third_party/harmonyos-ai-skill/ - 在
.cursor/rules/新建harmonyos-arkts.mdc:
---description:ArkTS 与 HarmonyOS API 11+ 编写约束globs:-"**/*.ets"-"**/harmony/**"alwaysApply:false---正文
@引用知识包里的禁止项 / 推荐模式(勿全文 alwaysApply)写鸿蒙模块时手动
@harmonyos-arkts双保险
4. 实测对比(无规则 vs 有规则)
| 场景 | 无规则 | 有 harmonyos-ai-skill 约束 |
|---|---|---|
| 新建页面组件 | 偶发 React 风格 hooks | 声明式@State为主 |
| 调用系统能力 | 编造 Kit 名 | 提示查官方 API 索引 |
| 权限 | 漏module.json5 | 提醒权限块 |
原创锚点:同一 prompt「写一个带列表的 ArkTS 页」,有/无规则各生成一次。无规则时曾出现useEffect式写法;有规则后改为@State+ForEach,并提示补module.json5权限块——约减少1~2 轮对话返工。
- // 无规则生成(错误示例) - useEffect(() => { loadData() }, []) + @State items: string[] = [] + aboutToAppear() { this.loadData() }5. 与 DevEco CodeGenie 的分工
| 工具 | 场景 |
|---|---|
| CodeGenie | IDE 内编译错误、官方文档 RAG |
| harmonyos-ai-skill + Cursor | 跨文件重构、非 IDE 脚本、仓库级规则 |
两者并行,不要互斥。
6. 避坑
- 知识包版本落后于 API时,以 developer.huawei.com 为准及时 fork 更新
- 不要把签名证书、AGC 密钥写进 rules
- CSDN 发文仍要鸿蒙关联句:本篇对应「ArkTS 工程规范 + AI 协作」
7. 下一步
- 下篇可把Agent Framework Kit(今日 001)与MCP 工具层串成完整 Demo
- 在 CI 里对
*.ets跑hvigorw assembleApp做最终门禁
项目:github.com/DengShiyingA/harmonyos-ai-skill · 定位 AI+鸿蒙工程协作
