New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

harmonyos-ai-workspace

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

harmonyos-ai-workspace

Rule pack + PostToolUse hooks + skills for AI coding assistants (Claude Code / Codex CLI / Cursor / Copilot) writing HarmonyOS / ArkTS code that actually compiles.

latest
Source
npmnpm
Version
0.4.5
Version published
Weekly downloads
3
200%
Maintainers
1
Weekly downloads
 
Created
Source

HarmonyOS AI Workspace

npm version License: MIT GitHub release

一行命令把"鸿蒙领域规则包"装进你的 app,让 Claude / Codex / Cursor / Copilot 写出能编译过的鸿蒙代码。

cd ~/WorkSpace/apps/my-harmony-app    # 进你的鸿蒙 app 根目录
npx -y harmonyos-ai-workspace          # 30 秒搞定,0 改你的源码

这个项目对谁有帮助?

你是你会得到
🆕 vibe coder(不熟鸿蒙,让 AI 写)AI 不再写 ArkTS 编译错;不再瞎编 OHPM 包名;不再让 UI 不刷新;编译失败时 AI 能精确定位
🛠 老 HarmonyOS 开发者(让 AI 协助)一套大家都遵守的硬约束(V1/V2 选型、状态铁律、装饰器规范);编辑 .ets 后自动校验;提审 Top 20 拒因预防式提示
👥 团队 lead(多人多 AI 工具)同一份规则同时喂 Claude Code / Codex / Cursor / Copilot;钩子保证违规 0 漏过;新人 git clone 即拥有完整规则

前置要求:你在用 Claude Code / Codex CLI / Cursor / GitHub Copilot 中至少一个;本仓库不是独立 IDE,是给它们装的"鸿蒙领域规则包"。

没装过 AI 助手 / DevEco Studio?看 docs/SETUP-FROM-SCRATCH.md(macOS 干净状态到 hello world,30-60 分钟)。

装了能解决什么问题?

痛点没装本仓库装了之后
AI 写 ArkTS Pass@1 仅 3.13%(ArkEval 论文 实测)AI 写 100 行代码 ~97 行编译不过规则注入 + 钩子校验,假阳率实测 21% → 0%
AI 瞎编 OHPM 包(如 @ohos/lottie-player、@ohos/axios)ohpm install 失败浪费 10 分钟安装时三层校验:黑名单 → 白名单 → ohpm view,假包当场拦截
AI 写 this.list.push(x) 状态不刷新(LLM 第一坑)UI 不更新,调试半小时才发现钩子立刻报 STATE-002 · High,给改写示例
AI 引用旧 API(DevEco 12 → 22 多次变化)用了已弃用的 picker.PhotoViewPickerARKTS-DEPRECATED-PICKER 即时拦截 + 给新 API
AGC 上架前才发现拒因提审被打回再修 = 1 周20 条 AGC-RJ-* 稳定 ID 编辑时就提示
多 AI 工具规则不一致(Claude / Cursor 各写一套)同一项目下 AI 给不同建议单源 fan-out:5 个默认 SKILL → Cursor 6 个 .mdc(按 globs 触发)+ Copilot root < 4KB + instructions/*.md 按 applyTo 触发

30 秒装好(推荐)

# 1) 进你的鸿蒙 app 根目录
cd ~/WorkSpace/apps/my-harmony-app

# 2) 一行装好
npx -y harmonyos-ai-workspace

# 3) 启动你的 AI 助手——CLAUDE.md / AGENTS.md 自动加载
claude    # 或 codex / cursor

v0.4 起的安全保障:

  • ✅ 已存在的 CLAUDE.md / AGENTS.md 会被保护(绝不覆盖)
  • ✅ 安装报告明示哪些 written / 哪些 skipped
  • ✅ 卸载只删本工具写入的(.harmonyos-ai-workspace.manifest + sha256 校验)

更多选项:

npx -y harmonyos-ai-workspace --dry-run                              # 预览不真写
npx -y harmonyos-ai-workspace --targets=claude,codex,cursor,copilot  # 加 Cursor / Copilot
npx -y harmonyos-ai-workspace --mirror=ghproxy                       # 国内 GitHub 不通时
npx -y harmonyos-ai-workspace --force                                # 覆盖已存在文件
npx -y harmonyos-ai-workspace --uninstall                            # 安全卸载

安装后还会带上 AI 调试闭环脚本:

bash tools/harmony-dev-cycle.sh quick-check   # 轻量 ArkTS/OHPM 扫描
bash tools/harmony-dev-cycle.sh build-check   # ohpm install → codeLinter → build HAP
bash tools/harmony-dev-cycle.sh cycle-once    # build → install → run → 抓 8s hilog 给 AI

5 分钟试一下(验收装好了)

# 1) 模拟 AI 写一个反模式(数组就地 mutation = LLM 写鸿蒙的第一大坑)
mkdir -p test && cat > test/Bad.ets <<'EOF'
@Entry @Component struct X {
  @State items: number[] = [];
  build() { Button('+').onClick(() => { this.items.push(1) }) }
}
EOF

# 2) 触发钩子(模拟 Claude Code 编辑文件后调用)
echo '{"tool_name":"Edit","tool_input":{"file_path":"test/Bad.ets"}}' | bash tools/hooks/post-edit.sh

# ✅ 预期看到:
#   [STATE-002 · High] test/Bad.ets:3: this.items.push(1) ...
#   ↳ 数组就地 mutation 不触发重渲染。改写:this.X = [...this.X, item]

# 3) 清理
rm -rf test

看到 STATE-002 · High = 钩子工作。从此每次 Claude Code 编辑 .ets / .ts 自动跑这套校验,违规会反馈给 AI 让它自我修正。

📖 完整使用说明书

装好之后怎么开始干活? → docs/USER-GUIDE.md

里面写了:

  • 首次使用:5 分钟验收 + 第一次让 AI 改个页面
  • 日常工作流:跟 Claude Code / Codex / Cursor / Copilot 一起写代码
  • 典型任务:写新页面、加权限、接 LLM API、做下拉刷新、深色模式、编译失败处理
  • AI 协作"魔法咒语":怎么让 AI 充分用规则(引稳定 ID、读 case study、跑 scanner)
  • 卸载与升级

它怎么工作(原理)

┌──────────────────────────────────────────────────────────────────┐
│   你的鸿蒙 app 项目                                              │
│   ┌─────────┐                                                    │
│   │ AI 助手 │  Claude Code / Codex / Cursor / Copilot           │
│   └────┬────┘                                                    │
│        │ 启动时自动加载                                          │
│        ▼                                                          │
│   CLAUDE.md / AGENTS.md / .cursor/rules/ / .github/copilot-…     │
│        │ AI 读到鸿蒙硬约束 + 8 SKILL 触发索引                    │
│        ▼                                                          │
│   AI 写代码 → Edit .ets / .ts / oh-package.json5                 │
│        │                                                          │
│        ▼ ⚡ 钩子触发(仅 Claude Code 强校验)                    │
│   ┌─────────────────────────────────────────────────────┐        │
│   │ tools/hooks/post-edit.sh                            │        │
│   │  ├─ scan-arkts.sh   31 条规则 + 装饰器上下文 + 折叠   │        │
│   │  ├─ check-ohpm-deps.sh  4 类(FAKE/NET/UNKNOWN/OK) │        │
│   │  └─ module.json5    权限提示                        │        │
│   └─────────────────────────────────────────────────────┘        │
│        │                                                          │
│        ├─ High 级 → exit 2 + stderr   ▶ AI 看到,自我修正        │
│        └─ Medium  → exit 0 + stderr   ▶ AI 看到,但不阻塞        │
│        │                                                          │
│        ▼                                                          │
│   写入 .claude/.harmonyos-last-scan.txt(下一轮 AI 可读)        │
│                                                                   │
│   人类 → hvigorw assembleHap → 设备                              │
│   或:AI agent → tools/harmony-dev-cycle.sh →                    │
│       build-check / cycle-once / device-check → hilog → AI 分析  │
│       (完整闭环,详见 04-build-debug-tools/README §⚡️)          │
└──────────────────────────────────────────────────────────────────┘

详细工作流见 docs/USER-GUIDE.md § 3。AI agent 自治调试闭环 (让 Claude / Codex / OpenClaw 在终端完整跑 build→install→run→log,不再切 DevEco GUI) 见 04-build-debug-tools/README.md §⚡️。

内置内容

资产内容
AI 规则集CLAUDE.md(Claude Code)+ AGENTS.md(agents.md 标准 24+ 工具通用)+ 8 个按需触发的 .claude/skills/
8 个 SKILL5 个默认 fan-out(arkts-rules / state-management / build-debug / signing-publish / runtime-pitfalls,对所有项目通用)+ 3 个领域专项(harmonyos-review / multimodal-llm / web-bridge,仅 Claude Code 自动激活,其他工具按需手动读)
PostToolUse 钩子链路Edit .ets/.ts/oh-package.json5 后自动跑 ArkTS 反模式扫描 + OHPM 包名核验 + 权限提示
多工具 fan-out5 个默认 SKILL → Cursor 6 个 .mdc(按 globs 触发,单文件 < 12KB)+ Copilot root < 4KB + .github/instructions/*.md 5 个按 applyTo 触发
doctor 体检npx harmonyos-ai-workspace doctor 或 bash tools/doctor.sh:PASS/WARN/FAIL 三态报告,含钩子端到端自测(喂故意的 STATE-002 看是否被抓)
CLI 工具集install.sh(manifest + sha256 安装)/ run-linter.sh(离线 codeLinter)/ check-ohpm-deps.sh(4 类校验)/ check-rename-module.sh(模块改名一致性)/ test-suite.sh(19 项回归断言)/ scaffold-deveco-project.sh(一键补 DevEco 脚手架 11 文件)/ harmony-dev-cycle.sh(quick-check / build-check / cycle-once / device-check,绕开 DevEco GUI Run 按钮)
Recipe Templates8 个可粘贴最小可用代码 — 基础 4 个:permission/ / list/ / dark-mode/ / login/;进阶 4 个(OctoDesk 抽取):web-bridge-h5-shell/ / llm-sse-client/ / huks-secure-store/ / scan-qrcode/
2026 提审 Top 20 拒因07-publishing/checklist-2026-rejection-top20.md,含 AGC-RJ-001..020 稳定 ID + 6 条高频项配可粘贴代码
Case Studiesdocs/case-studies/llm-chat-app.md — 真鸿蒙 LLM 对话 app M3-M13 实战(M3-M12 原始里程碑 + M13 运维期 layered icon / 9568297),12 节"症状/错误信息/修复 diff/教训"四段式 + docs/case-studies/android-parity-migration.md — paseo-harmony 14 阶段 Phase A/B 真修复笔记
测试 fixture9 个回归 fixture 覆盖 inline 装饰器 / @CustomDialog / @Reusable / 普通工具类等边界
MCP.mcp.json 接通 mcp-harmonyos(npx 自动);动作型 MCP 接入指引见 docs/MCP-INTEGRATION.md
可选官方文档镜像5300+ 中文 + 5100+ 英文 OpenHarmony md(按需 bootstrap-upstream-docs.sh -y 拉,~2.7 GB)

真正独有的能力(vs 同类项目)

PostToolUse 钩子并非孤例(yibaiba/harmonyos-skills-pack 也有 hooks),本仓库的真实差异点:

  • OHPM 包名四类校验(FAKE / NET / UNKNOWN / OK)+ 15s timeout —— tools/check-ohpm-deps.sh。同类无人做
  • AGC 提审 Top 20 拒因稳定 ID 体系(AGC-RJ-001..020)+ 高频项配可粘贴代码 —— harmonyos-review skill 与扫描器可用同一编号互引
  • awk 装饰器上下文检测 + inline-suppress + 真 collapse 折叠 —— tools/hooks/lib/scan-arkts.sh,PrivateTalk 真工程实测假阳率 0%
  • install/uninstall manifest + sha256 —— v0.4.0 起,用户原 CLAUDE.md 永不被吞,本工具写的所有文件可精确卸载
  • OpenHarmony 官方文档镜像 bootstrap(5300+ 中文 / 5100+ 英文 md 离线检索)+ 真鸿蒙 LLM Chat case study(实战四段式)

完整对比见 docs/USAGE-GUIDE.md § B。

规则编号体系(精确说明)

本仓库的规则按用途分四层,不应被合并表述为单一数字:

层数量位置用途
自动化扫描(钩子触发)32 条tools/hooks/lib/scan-arkts.sh 内联 + awk 装饰器上下文检测grep-based 快扫,毫秒级反馈;支持 inline-suppress
代码审查清单36 条(9 大类).claude/skills/harmonyos-review/references/checklist.mdreview skill 引用的稳定 ID(SEC-001 / STATE-002 / KIT-003 等)
AGC 提审拒因20 条07-publishing/checklist-2026-rejection-top20.md上架审核拒因映射,含 AGC-RJ-* 稳定 ID
OHPM 黑名单(已知伪包)~25 项tools/data/ohpm-blacklist.txt + 脚本内联防 AI 虚构包名

合计 ~95 条编号规则,分布在四层;它们用于不同场景。

接线层陷阱(scanner 抓不到、灰度才暴露的)单独整理在 05-best-practices/bridge-integration-pitfalls.md:12 类常见 Web Bridge + 原生外壳集成坑(capability 握手 fail-closed、javaScriptProxy 生命周期、idempotencyKey 强制、envelope schema validation、token / SecureStore 写入原子性、pasteboard 提示时机、App-Linking 双侧配置 + EntryAbility 双入口、HMS ScanKit dual-import 等),沉淀自下游真工程教训。

Monorepo 接入:HarmonyOS shell 是大 monorepo 子目录的项目(不是 npm app 形态),参考 samples/integrations/monorepo-consumer/ —— 三个文件薄 wrapper、scope 到子目录、单一来源、零文件复制;包含 token 成本实测与降噪方案。

版本契约(Version Contract)

# 鸿蒙系统侧(API 编号是单一权威,不同 API 对应不同 HarmonyOS 系统版本)
harmonyos_system:
  min_supported_api:        12   # API 12 = HarmonyOS 5(NEXT)时代起,本仓库规则适用最低线
  current_consumer_stable:  22   # API 22 = HarmonyOS 6.0.2,2026-01-23 起对 Mate 80/70/Pura 80 推送
  first_stable_release:     21   # API 21 = HarmonyOS 6.0.1,2025-11-25 随 Mate 80 首发
  developer_preview_api:    23   # API 23 Developer Beta(最新预览,跟随华为发布节奏 — 跑生产 app 别选)
  recommended_target:       21   # 新项目推荐 targetSDK
  recommended_min:          12   # 新项目推荐 minSDK

toolchain:
  arkts:          ">= 1.2.0"
  deveco_studio:  ">= 6.0"
  ohpm:           ">= 1.4"

ai_assistants:
  claude_code:    ">= 0.5"
  codex_cli:      ">= 0.1"
  cursor:         ">= 1.0"
  copilot:        "ChatGPT-class instructions OK"

last_verified_docs_snapshot: "2026-05-07"

如何读这张表:API 编号才是单一权威——HarmonyOS 5 = API 12+ 时代,HarmonyOS 6 = API 21+ 时代。"6.0" / "6.0.2" / "6.1" 这种系统版本号会在不同发布节点指向不同 API 编号,直接看 API 数字最准。

生产应用选 API 22(minSDK 12 / target 21–22 都行);developer beta(API 23)当下仅尝鲜用。鸿蒙生态快速迭代:本仓库每次发版前在 last_verified_docs_snapshot 日期对齐一次"当前消费稳定版"。

替代安装方式

用法 A2:curl one-liner(不依赖 npm)

curl -fsSL https://raw.githubusercontent.com/Octo-o-o-o/harmonyos-ai-workspace/main/tools/install.sh | bash

用法 B:clone 整个工作区(学习 / 贡献用)

git clone https://github.com/Octo-o-o-o/harmonyos-ai-workspace.git ~/WorkSpace/HarmonyOS_DevSpace
cd ~/WorkSpace/HarmonyOS_DevSpace
bash tools/bootstrap-upstream-docs.sh   # 拉 OpenHarmony 官方文档镜像(~2.7 GB,可选)
bash tools/verify-environment.sh        # 检查本机环境

适合:想系统学习鸿蒙、想让 AI 在本目录开发、想给本仓库贡献。

用法 C:从零开始(macOS 干净状态)

git clone https://github.com/Octo-o-o-o/harmonyos-ai-workspace.git ~/WorkSpace/HarmonyOS_DevSpace
cd ~/WorkSpace/HarmonyOS_DevSpace
bash tools/setup-from-scratch.sh        # 半自动向导:装基础工具 → 引导装 DevEco → 配 PATH → 装 Claude Code

完整指南见 docs/SETUP-FROM-SCRATCH.md。

常见故障排查

编译/构建失败时,怎么把信号传给 AI 让它修

vibe coding 卡死的 90% 场景是"AI 写完看起来 OK 但 hvigorw 报错;我把错误贴给 AI,它瞎猜"。最高效路径:

# 1) 直接复制 hvigorw 的报错原文,含错误码
hvigorw assembleHap -p buildMode=debug 2>&1 | tail -30 | pbcopy   # macOS 进剪贴板

# 2) 把这段贴给 Claude/Codex/Cursor,附一句:
#    "请按 .claude/skills/arkts-rules/references/spec-quick-ref.md 里的稳定 ID
#     找出违反的规则编号 + 给最小 diff,不要重写整个文件"

# 3) 装包失败贴 hilog(hdc 真机)
hdc hilog | grep -E "FAULT|ERROR|9568" | tail -30

# 4) 钩子已经写过的违规会落到这里——下一轮启动 AI 前先让它读
cat .claude/.harmonyos-last-scan.txt 2>/dev/null

钩子没反应(Edit .ets 后没看到扫描输出)

cat .claude/settings.json                                          # 应含 PostToolUse + post-edit.sh 路径
echo '{"tool_name":"Edit","tool_input":{"file_path":"x.ets"}}' | \
  bash tools/hooks/post-edit.sh                                    # 直接跑钩子测试
HOOK_DEBUG=1 bash tools/hooks/post-edit.sh < /dev/null             # 开调试日志
chmod +x tools/hooks/post-edit.sh tools/hooks/lib/*.sh             # 修可执行位
# settings.json 改动需重启 Claude Code 才生效

OHPM 校验报"无法离线核验"

# 让 ohpm CLI 在 PATH(DevEco 装好就有)
ls ~/Library/Huawei/Sdk/*/openharmony/toolchains/ohpm*
export PATH="$PATH:~/Library/Huawei/Sdk/HarmonyOS-NEXT-DB1/openharmony/toolchains/ohpm/bin"

hvigorw codeLinter 找不到

which hvigorw   # 应有;没有就到鸿蒙工程根目录跑
cd ~/WorkSpace/apps/my-app && bash ../../HarmonyOS_DevSpace/tools/run-linter.sh

想 fork 维护自己版本

grep -rln 'Octo-o-o-o' --include='*.md' --include='*.sh' --include='*.json' . | \
  xargs sed -i '' 's|Octo-o-o-o|YOUR_GITHUB_USER|g'

涉及文件:README.md / CHANGELOG.md / tools/install.sh 顶部 REPO_OWNER。

更多故障场景见 docs/USER-GUIDE.md § 6。

给 AI 助手用的关键规则(精华版)

  • 不要凭训练数据写 API:先查 upstream-docs/.../reference/,没有再上 developer.huawei.com
  • 状态变更必须替换引用(统计学第一坑):this.list.push(x) 不会重渲染,要 this.list = [...this.list, x]
  • ArkTS 严格子集:禁 any / 解构 / 索引签名 / 对象字面量无类型 / for…in / delete
  • import 用 @kit.*,不要 @ohos.*(旧式)
  • V1 / V2 状态装饰器不混用:一个 .ets 文件二选一;默认 V1(生态最成熟)
  • 改完代码必跑:hvigorw codeLinter && hvigorw assembleHap -p buildMode=debug
  • 不要引入 npm 包:只能用 OHPM 发布的 .har/.hsp

完整版见 CLAUDE.md 第 0、11、12、13 节 + 8 个 SKILL(按需触发)。

进阶 / 文档

关键事实(2026-05)

  • 当前消费稳定版:HarmonyOS 6.0.2 / API 22(2026-01-23 起推送)
  • 首发稳定版:HarmonyOS 6.0.1 / API 21(2025-11-25)
  • 开发者 Beta:API 23,跟随华为发布节奏
  • 新项目建议:targetSDK API 21,minSDK API 12
  • API 20 是 2025-09-25 仅开发者版,不要选作 targetSDK
  • 主语言:ArkTS(增强 TypeScript) / UI:ArkUI(声明式,V1 默认)/ 应用模型:Stage(FA 已废弃)
  • 包格式:.hap(单 module)/ .app(应用包)/ .har(静态库)/ .hsp(共享库)

贡献与反馈

  • 贡献流程:CONTRIBUTING.md
  • 版本历史:CHANGELOG.md
  • 评审归档:docs/archive/reviews/ — 6 轮多视角评审 + PrivateTalk 真用户验收
  • 发现规则错误 / 补 API / 加 Skill:欢迎 PR
  • 找了一圈也没解决你的鸿蒙问题:开 issue,附 DevEco 版本、API Level、hvigorw codeLinter 输出

许可

  • 本仓库自创内容(指南、CLAUDE.md、AGENTS.md、.claude/skills/、脚本、示例):MIT License(详见 LICENSE)
  • upstream-docs/openharmony-docs/(运行 bootstrap 拉取):CC-BY-4.0,版权归 OpenAtom Foundation / OpenHarmony 项目

相关链接

Keywords

harmonyos

FAQs

Package last updated on 22 May 2026

Related posts