@deveco-test/deveco-code-darwin-arm64 0.1.0-TD.24.test2 → 0.1.0-TD.24.test4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +217 -0
- package/bin/deveco +0 -0
- package/package.json +2 -2
- package/vendor/android2harmony/README.md +407 -0
- package/vendor/android2harmony/agents/code-reviewer.md +477 -0
- package/vendor/android2harmony/agents/logic-coder.md +212 -0
- package/vendor/android2harmony/agents/logic-context-builder.md +199 -0
- package/vendor/android2harmony/agents/scripts/hmos-precheck/arkts.mjs +534 -0
- package/vendor/android2harmony/agents/scripts/hmos-precheck/codelinter.mjs +362 -0
- package/vendor/android2harmony/agents/scripts/hmos-precheck/index.mjs +918 -0
- package/vendor/android2harmony/agents/scripts/platform_query.mjs +535 -0
- package/vendor/android2harmony/dist/index.js +119 -0
- package/vendor/android2harmony/dist/index.js.map +7 -0
- package/vendor/android2harmony/package.json +29 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/SKILL.md +141 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/conversion-procedure.md +217 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/mappings/android-to-harmonyOS-ui-atomic-component-mapping-reference.md +2533 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/mappings/android-to-harmonyOS-ui-interaction-mapping-reference.md +555 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/mappings/android-to-harmonyOS-ui-layout-mapping-reference.md +117 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/mvvm/@Link/350/243/205/351/245/260/345/231/250/357/274/232/347/210/266/345/255/220/345/217/214/345/220/221/345/220/214/346/255/245.md +648 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/mvvm/@Observed/350/243/205/351/245/260/345/231/250/345/222/214@ObjectLink/350/243/205/351/245/260/345/231/250/357/274/232/345/265/214/345/245/227/347/261/273/345/257/271/350/261/241/345/261/236/346/200/247/345/217/230/345/214/226.md +2089 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/mvvm/@Prop/350/243/205/351/245/260/345/231/250/357/274/232/347/210/266/345/255/220/345/215/225/345/220/221/345/220/214/346/255/245.md +1033 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/mvvm/@Provide/350/243/205/351/245/260/345/231/250/345/222/214@Consume/350/243/205/351/245/260/345/231/250/357/274/232/344/270/216/345/220/216/344/273/243/347/273/204/344/273/266/345/217/214/345/220/221/345/220/214/346/255/245.md +1183 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/mvvm/@State/350/243/205/351/245/260/345/231/250/357/274/232/347/273/204/344/273/266/345/206/205/347/212/266/346/200/201.md +576 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/mvvm/@Track/350/243/205/351/245/260/345/231/250/357/274/232class/345/257/271/350/261/241/345/261/236/346/200/247/347/272/247/346/233/264/346/226/260.md +297 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/mvvm/@Watch/350/243/205/351/245/260/345/231/250/357/274/232/347/212/266/346/200/201/345/217/230/351/207/217/346/233/264/346/224/271/351/200/232/347/237/245.md +395 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/mvvm/AppStorage/357/274/232/345/272/224/347/224/250/345/205/250/345/261/200/347/232/204UI/347/212/266/346/200/201/345/255/230/345/202/250.md +903 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/mvvm/Environment/357/274/232/350/256/276/345/244/207/347/216/257/345/242/203/346/237/245/350/257/242.md +106 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/mvvm/LocalStorage/357/274/232/351/241/265/351/235/242/347/272/247UI/347/212/266/346/200/201/345/255/230/345/202/250.md +1178 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/mvvm/MVVM/346/250/241/345/274/217/357/274/210V1/357/274/211.md +911 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/mvvm/PersistentStorage/357/274/232/346/214/201/344/271/205/345/214/226/345/255/230/345/202/250UI/347/212/266/346/200/201.md +355 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/mvvm//347/256/241/347/220/206/345/272/224/347/224/250/346/213/245/346/234/211/347/232/204/347/212/266/346/200/201/346/246/202/350/277/260.md +11 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/mvvm-v2/!!/350/257/255/346/263/225/357/274/232/345/217/214/345/220/221/347/273/221/345/256/232.md +206 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/mvvm-v2/@Computed/350/243/205/351/245/260/345/231/250/357/274/232/350/256/241/347/256/227/345/261/236/346/200/247.md +373 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/mvvm-v2/@Event/350/243/205/351/245/260/345/231/250/357/274/232/350/247/204/350/214/203/347/273/204/344/273/266/350/276/223/345/207/272.md +158 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/mvvm-v2/@Local/350/243/205/351/245/260/345/231/250/357/274/232/347/273/204/344/273/266/345/206/205/351/203/250/347/212/266/346/200/201.md +750 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/mvvm-v2/@Monitor/350/243/205/351/245/260/345/231/250/357/274/232/347/212/266/346/200/201/345/217/230/351/207/217/344/277/256/346/224/271/345/274/202/346/255/245/347/233/221/345/220/254.md +1704 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/mvvm-v2/@ObservedV2/350/243/205/351/245/260/345/231/250/345/222/214@Trace/350/243/205/351/245/260/345/231/250/357/274/232/347/261/273/345/261/236/346/200/247/345/217/230/345/214/226/350/247/202/346/265/213.md +1012 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/mvvm-v2/@Once/350/243/205/351/245/260/345/231/250/357/274/232/345/210/235/345/247/213/345/214/226/345/220/214/346/255/245/344/270/200/346/254/241.md +164 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/mvvm-v2/@Param/350/243/205/351/245/260/345/231/250/357/274/232/347/273/204/344/273/266/345/244/226/351/203/250/350/276/223/345/205/245.md +840 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/mvvm-v2/@Provider/350/243/205/351/245/260/345/231/250/345/222/214@Consumer/350/243/205/351/245/260/345/231/250/357/274/232/350/267/250/347/273/204/344/273/266/345/261/202/347/272/247/345/217/214/345/220/221/345/220/214/346/255/245.md +856 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/mvvm-v2/@Type/350/243/205/351/245/260/345/231/250/357/274/232/346/240/207/350/256/260/347/261/273/345/261/236/346/200/247/347/232/204/347/261/273/345/236/213.md +83 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/mvvm-v2/AppStorageV2/357/274/232/345/272/224/347/224/250/345/205/250/345/261/200UI/347/212/266/346/200/201/345/255/230/345/202/250.md +294 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/mvvm-v2/MVVM/346/250/241/345/274/217/357/274/210V2/357/274/211.md +1407 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/mvvm-v2/PersistenceV2/357/274/232/346/214/201/344/271/205/345/214/226/345/255/230/345/202/250UI/347/212/266/346/200/201.md +1220 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/mvvm-v2/_/350/214/203/345/274/217/351/200/211/346/213/251/350/257/264/346/230/216.md +47 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/references/mvvm-v2//347/212/266/346/200/201/347/256/241/347/220/206V1/345/220/221V2/350/277/201/347/247/273/344/270/216/346/267/267/347/224/250/346/214/207/345/257/274.md +840 -0
- package/vendor/android2harmony/skills/hmos-batch-ui-align/scripts/android_parse_fast.ts +1750 -0
- package/vendor/android2harmony/skills/hmos-convert-pipeline/SKILL.md +441 -0
- package/vendor/android2harmony/skills/hmos-fix-build-errors/SKILL.md +266 -0
- package/vendor/android2harmony/skills/hmos-fix-build-errors/references/arkts-strict-patterns.md +219 -0
- package/vendor/android2harmony/skills/hmos-fix-build-errors/references/known-patterns.md +157 -0
- package/vendor/android2harmony/skills/hmos-fix-build-errors/references/rdb-entity-pattern.md +131 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/SKILL.md +654 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/references/conversion-rules.md +663 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/references/dependency-analysis-rules.md +388 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/references/resource-mapping-rules.md +457 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/references/xml-drawable-to-svg-rules.md +513 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/AppScope/app.json5 +10 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/AppScope/resources/base/element/string.json +8 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/AppScope/resources/base/media/background.png +0 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/AppScope/resources/base/media/foreground.png +0 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/AppScope/resources/base/media/layered_image.json +7 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/build-profile.json5 +42 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/code-linter.json5 +32 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/entry/build-profile.json5 +33 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/entry/hvigorfile.ts +6 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/entry/obfuscation-rules.txt +23 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/entry/oh-package.json5 +10 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/entry/src/main/ets/entryability/EntryAbility.ets +48 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/entry/src/main/ets/entrybackupability/EntryBackupAbility.ets +16 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/entry/src/main/ets/pages/Index.ets +23 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/entry/src/main/module.json5 +55 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/entry/src/main/resources/base/element/color.json +8 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/entry/src/main/resources/base/element/float.json +8 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/entry/src/main/resources/base/element/string.json +16 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/entry/src/main/resources/base/media/background.png +0 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/entry/src/main/resources/base/media/foreground.png +0 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/entry/src/main/resources/base/media/layered_image.json +7 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/entry/src/main/resources/base/media/startIcon.png +0 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/entry/src/main/resources/base/profile/backup_config.json +3 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/entry/src/main/resources/base/profile/main_pages.json +5 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/entry/src/main/resources/dark/element/color.json +8 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/entry/src/mock/mock-config.json5 +2 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/entry/src/ohosTest/ets/test/Ability.test.ets +35 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/entry/src/ohosTest/ets/test/List.test.ets +5 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/entry/src/ohosTest/module.json5 +16 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/entry/src/test/List.test.ets +5 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/entry/src/test/LocalUnit.test.ets +33 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/hvigor/hvigor-config.json5 +23 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/hvigorfile.ts +6 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/oh-package-lock.json5 +28 -0
- package/vendor/android2harmony/skills/hmos-resources-convert/template/oh-package.json5 +10 -0
- package/vendor/android2harmony/skills/hmos-spec-generate/SKILL.md +402 -0
- package/vendor/deveco-cli/.version +1 -0
- package/vendor/deveco-cli/package.json +7 -0
- package/vendor/ui-verification-mcp/package.json +59 -0
- package/vendor/ui-verification-mcp/uiVerification.mjs +3426 -3356
- package/assets/readme/readme-screenshot.png +0 -0
- package/bin/README.md +0 -6
- package/vendor/mcp-bridge-native/napi_bridge.node +0 -0
- package/vendor/mcp-bridge-native/package.json +0 -15
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## v0.1.7 (2026-08-03)
|
|
4
|
+
|
|
5
|
+
### DevEco Code 核心
|
|
6
|
+
|
|
7
|
+
#### 新特性
|
|
8
|
+
|
|
9
|
+
- 地区访问策略新增 UTC+8 偏移回退与系统区域检测,扩展中国时区白名单(`bc637c8`)
|
|
10
|
+
|
|
11
|
+
### TUI 终端界面
|
|
12
|
+
|
|
13
|
+
#### 缺陷修复
|
|
14
|
+
|
|
15
|
+
- 修复流式编辑/写入字数统计因 JSON 转义未解码导致计数虚高(`a6e432e`)
|
|
16
|
+
- 修复启动时布局竞争导致的偶现启动失败问题(`c17c895`)
|
|
17
|
+
|
|
18
|
+
## v0.1.6 (2026-08-01)
|
|
19
|
+
|
|
20
|
+
### DevEco Code 核心
|
|
21
|
+
|
|
22
|
+
#### 新特性
|
|
23
|
+
|
|
24
|
+
- 新增地区访问策略,基于时区与实名国籍限制中国大陆区域使用(`5810c71`、`2e408b5`)
|
|
25
|
+
- 集成 Magpie 埋点:采集工具调用链路,复用端点配置,过滤非 DevEco 事件,优化归因精度与统一同意管理(`8a0413a`、`6e6043e`、`1776688`、`766509a`、`fbfd228`、`4a888ee`)
|
|
26
|
+
- 新增 GitCode CI/CD 工作流,涵盖发版、类型检查与测试(`7df5df8`)
|
|
27
|
+
|
|
28
|
+
#### 缺陷修复
|
|
29
|
+
|
|
30
|
+
- 安全加固:密码采用恒定时间比对、登录 URL 防命令注入、工具参数限制为 JSON(`20e4567`、`9fb4045`、`273b7d7`)
|
|
31
|
+
|
|
32
|
+
### TUI 终端界面
|
|
33
|
+
|
|
34
|
+
#### 新特性
|
|
35
|
+
|
|
36
|
+
- 编辑流式输出时实时显示字数统计(`af0d72d`)
|
|
37
|
+
|
|
38
|
+
#### 优化
|
|
39
|
+
|
|
40
|
+
- 移除 `/btw` 命令说明文本(`c0191d1`)
|
|
41
|
+
|
|
42
|
+
## v0.1.5 (2026-07-27)
|
|
43
|
+
|
|
44
|
+
### DevEco Code 核心
|
|
45
|
+
|
|
46
|
+
#### 新特性
|
|
47
|
+
|
|
48
|
+
- 启动前弹出工作区信任确认,防止在不受信目录下误执行(`e4c18b6`)
|
|
49
|
+
|
|
50
|
+
### TUI 终端界面
|
|
51
|
+
|
|
52
|
+
#### 新特性
|
|
53
|
+
|
|
54
|
+
- 新增通知设置对话框,支持全局开关、音量调节及 6 类事件的独立音效选择(`c3f91a6`)
|
|
55
|
+
|
|
56
|
+
#### 优化
|
|
57
|
+
|
|
58
|
+
- 移除日志收集菜单与崩溃后自动上报弹窗(`0483e25`)
|
|
59
|
+
|
|
60
|
+
#### 缺陷修复
|
|
61
|
+
|
|
62
|
+
- 规范化 btw 浮层错误展示:按错误码映射 i18n 文案,修复出错时提示键误显示(`1f0e98e`)
|
|
63
|
+
|
|
64
|
+
## v0.1.4 (2026-07-24)
|
|
65
|
+
|
|
66
|
+
### DevEco Code 核心
|
|
67
|
+
|
|
68
|
+
#### 新特性
|
|
69
|
+
|
|
70
|
+
- 新增崩溃检测与日志自动上传,上传前对敏感信息做脱敏处理(`a7d9157`、`17e1bc4`、`99dafcc`、`3722c14`)
|
|
71
|
+
- 新增 TUI 使用遥测与会话级 AI 追踪打点(`0e9ff88`、`ab5d917`、`5f0ec58`)
|
|
72
|
+
- 同步会话级调试能力,增强 debug 命令的会话诊断(`2e41d04`)
|
|
73
|
+
|
|
74
|
+
#### 优化
|
|
75
|
+
|
|
76
|
+
- 清理冗余 `.ts` 技能脚本源文件(`af8bf56`)
|
|
77
|
+
- 修复斜杠命令需额外空格才能退出搜索模式的问题(`8754402`)
|
|
78
|
+
- 技能默认资源新增 `customize-deveco`,修复 `deveco-create-project` 的 codeCheck 校验规则(`89f9fd0`、`21a76ef`)
|
|
79
|
+
- 0-1 技能新增 `AGENTS.md` 配置引导,修复 goal 模式 `plan.md` 未指定 v2 状态管理(`845fa8d`、`7cd45ac`)
|
|
80
|
+
|
|
81
|
+
### TUI 终端界面
|
|
82
|
+
|
|
83
|
+
#### 新特性
|
|
84
|
+
|
|
85
|
+
- 新增 `/btw` 浮层,支持会话中随时提追问(`3902edf`)
|
|
86
|
+
- 智能 Esc 中断:单击中断生成,再按确认取消对话(`510cbca`)
|
|
87
|
+
- 登录页展示错误信息,未通过时即时反馈原因(`29afa10`)
|
|
88
|
+
|
|
89
|
+
#### 缺陷修复
|
|
90
|
+
|
|
91
|
+
- 修复 JetBrains Terminal 下鼠标悬停异常(`806bd0a`)
|
|
92
|
+
- 修复反复 `Ctrl+C` 重启后终端黑屏(`cefa9a8`)
|
|
93
|
+
|
|
94
|
+
## v0.1.3 (2026-07-17)
|
|
95
|
+
|
|
96
|
+
### DevEco Code 核心
|
|
97
|
+
|
|
98
|
+
#### 新特性
|
|
99
|
+
|
|
100
|
+
- 新增离线发版说明查看器,登录后可在 TUI 内直接浏览历史版本的更新内容(`44540db`)
|
|
101
|
+
- 登录流程增加实名校验环节,未通过时引导用户完成实名(`a8671f2`)
|
|
102
|
+
- 协议需重新签署时显示 toast 提示,及时告知用户协议状态变更(`dff7998`)
|
|
103
|
+
- 适配 API >= 26 的 `sdkVersion` 格式,确保新版本 API 元数据与构建链一致(`9ce4d1f`)
|
|
104
|
+
- 过滤技能加载时引入的冗余 `skill_files`,仅保留运行所需文件(`25acb4d`)
|
|
105
|
+
- OpenAI 兼容 provider 支持 `user_id` 透传,便于追踪与会话关联(`4ed0b88`)
|
|
106
|
+
|
|
107
|
+
#### 优化
|
|
108
|
+
|
|
109
|
+
- 缓存认证检查结果,执行 `/new` 命令时跳过重复校验,提升新建会话响应速度(`82eb48d`)
|
|
110
|
+
- 升级版本时,patch 版本(x.y.z → x.y.z+1)的更新无需用户确认(`e4d57ef`)
|
|
111
|
+
|
|
112
|
+
### TUI 终端界面
|
|
113
|
+
|
|
114
|
+
#### 新特性
|
|
115
|
+
|
|
116
|
+
- 终端支持双击选词,便于按词粒度复制或编辑(`8f7b12c`)
|
|
117
|
+
- `Ctrl+C` / `Ctrl+D` 退出改为两段式确认,避免误触导致会话意外终止(`14a16c3`)
|
|
118
|
+
- 替换 AI 提示的警告图标,并补齐对应 i18n 文案(`a292d16`)
|
|
119
|
+
|
|
120
|
+
#### 缺陷修复
|
|
121
|
+
|
|
122
|
+
- 优化 onboarding 页面间距与滚动条可见性,改善长内容场景下的浏览体验(`70f52b5`)
|
|
123
|
+
|
|
124
|
+
## v0.1.2 (2026-07-09)
|
|
125
|
+
|
|
126
|
+
### DevEco Code 核心
|
|
127
|
+
|
|
128
|
+
#### 新特性
|
|
129
|
+
|
|
130
|
+
- 全面更新 `arkts` 技能知识库,扩展 ArkUI 组件参考与 API 护栏,提升代码生成准确性(`638c180`)
|
|
131
|
+
|
|
132
|
+
#### 优化
|
|
133
|
+
|
|
134
|
+
- goal 模式 `plan.md` 工程结构输出对齐 ArkUI 最佳实践(`3b11304`)
|
|
135
|
+
|
|
136
|
+
#### 缺陷修复
|
|
137
|
+
|
|
138
|
+
- 加固认证链路:改进 token 刷新错误处理,启动时自动检测 JWT 过期并提示重登录(`802431c`、`b45c586`)
|
|
139
|
+
- 修复 `arkts-check` 对 `$$` / `$` 绑定语法糖的假阳性告警(`f427e94`)
|
|
140
|
+
- plan 模式阶段评审检测需求范围变化并强制回溯(`16e4024`)
|
|
141
|
+
|
|
142
|
+
#### 重构
|
|
143
|
+
|
|
144
|
+
- 登录与 `DEVECO_HOME` 检测迁移至 TUI onboarding,统一引导入口(`7c26d1e`)
|
|
145
|
+
- 清理过时 `arkui-knowledge` 技能引用(`43b826e`)
|
|
146
|
+
- 提示词补充 DevEco Studio 签名配置手动操作提醒(`6cc90ad`)
|
|
147
|
+
|
|
148
|
+
### TUI 终端界面
|
|
149
|
+
|
|
150
|
+
#### 优化
|
|
151
|
+
|
|
152
|
+
- `/feedback` 跳转修正为 GitCode issues 页面(`a8ba6c8`)
|
|
153
|
+
|
|
154
|
+
#### 缺陷修复
|
|
155
|
+
|
|
156
|
+
- 恢复主视图选中即复制(copy-on-select)功能(`5901beb`)
|
|
157
|
+
|
|
158
|
+
## v0.1.1 (2026-07-02)
|
|
159
|
+
|
|
160
|
+
### DevEco Code 核心
|
|
161
|
+
|
|
162
|
+
#### 新特性
|
|
163
|
+
|
|
164
|
+
- 新增 `arkts_check` 静态检查工具,于项目构建前置执行,并替代原有的 `check_ets_files` 校验(`30ebb05`、`f7afb1b`、`471fd82`)
|
|
165
|
+
- 新增 `debug` 调试命令,并完善其中文使用说明(`32bfb77`、`0ea5493`)
|
|
166
|
+
- 为 DevEco Code 推理模型启用 `thinking` 参数,支持推理过程输出(`766e2d6`)
|
|
167
|
+
- 默认启用后台 subagent 运行时开关,提升并行任务处理能力(`7eb2c42`)
|
|
168
|
+
- 模板复制脚本(`copy-template.mjs`)执行完成后,会话工作目录自动切换至生成的项目根目录(`44a56b1`)
|
|
169
|
+
- 新增 Windows baseline 版本包发布,以兼容不支持 AVX2 指令集的 CPU(`f198b45`)
|
|
170
|
+
|
|
171
|
+
#### 优化
|
|
172
|
+
|
|
173
|
+
- 强化 goal 模式需求澄清能力,并在 spec-implementation 阶段抽离专用 subagent 承载实现(`615b731`、`4963e0d`)
|
|
174
|
+
- 工具调用支持并行执行,缩短多工具场景耗时(`9c89cc1`)
|
|
175
|
+
- 加固 `arkts_check` 的 `ensureScriptOnDisk` 校验,提升脚本落盘检查的稳健性(`b6790b0`)
|
|
176
|
+
- 主包打包纳入 `README.md` 与 `assets/` 资源,保障安装后文档与素材随包可用(`1d54cef`)
|
|
177
|
+
- 调整一项 runtime flag 默认值为 `false`,收敛默认行为(`0fdb5fc`)
|
|
178
|
+
|
|
179
|
+
#### 缺陷修复
|
|
180
|
+
|
|
181
|
+
- 加固 token 刷新链路:整合刷新逻辑、防御空 `accessToken`、新增 `SESSION_EXPIRED` 状态并在刷新时同步更新内存态 token,避免会话因令牌失效而中断(`b545602`、`17ad7a5`、`cb71b79`)
|
|
182
|
+
- `deveco-create-project` 的 SDK 错误改为立即终止而非回退兜底,并完善 SDK 版本确认逻辑(含 codeCheck),防止错误被静默吞没(`c185817`、`8b3270b`、`2277984`)
|
|
183
|
+
- 修复复制模板时 `modelVersion` 与 `EntryAbility_label` 字段未正确同步的问题(`d438216`)
|
|
184
|
+
- 修复内置技能提取与开发模式加载失效的问题(`0e9dee5`)
|
|
185
|
+
- 升级 `@deveco-codegenie/mcp-bridge` 至 1.1.11,并将其从 `minimumReleaseAge` 发布门禁中豁免(`f60775a`、`c93e1cc`)
|
|
186
|
+
- 恢复 deveco-code 打包的自定义构建配置,并补回 ripgrep / mcp-bridge 下载的 postinstall 钩子,保障安装期二进制就位(`5ff55b5`、`107cfb8`)
|
|
187
|
+
- 对齐 `build.ts` 与 `pipeline-build.ts` 中的 vendor 路径,消除本地与流水线构建产物差异(`7dded29`)
|
|
188
|
+
- 修复 PowerShell 下中文输出乱码,保障 Windows 终端中文可读(`5d72cbb`)
|
|
189
|
+
|
|
190
|
+
#### 重构
|
|
191
|
+
|
|
192
|
+
- 将全部 `Log.create` 调用迁移至 `Effect.log*`,并移除旧版 Log 模块,统一日志体系(`d169b1c`)
|
|
193
|
+
|
|
194
|
+
#### 文档
|
|
195
|
+
|
|
196
|
+
- 上线离线文档站点,并于 README 中补充访问入口(`42b361f`)
|
|
197
|
+
- 移除冗余的 overview 条目与 Releases 下载说明,精简文档表述(`6c7e6a5`)
|
|
198
|
+
- 在 UI 校验文档中澄清多模态模型的使用方式,避免误用(`4453391`)
|
|
199
|
+
|
|
200
|
+
### TUI 终端界面
|
|
201
|
+
|
|
202
|
+
#### 新特性
|
|
203
|
+
|
|
204
|
+
- 落地中英文国际化首版,覆盖命令菜单、权限提示、`/init`、`/review` 等交互节点,支持运行时语言切换(`999e6df`、`89d5698`、`093451b`、`80b4eb7`、`ba3701d`)
|
|
205
|
+
- 点击 logo 时新增交互式爆破动效,增强启动时刻的视觉反馈(`bace2c3`)
|
|
206
|
+
- `@` 弹层新增「输入即过滤」提示,提升智能体 / 文件检索的引导性(`d86ac61`)
|
|
207
|
+
|
|
208
|
+
#### 优化
|
|
209
|
+
|
|
210
|
+
- 默认启用会话滚动条,改善长会话浏览体验(`05e6a93`)
|
|
211
|
+
|
|
212
|
+
#### 缺陷修复
|
|
213
|
+
|
|
214
|
+
- 移除 `/language` 斜杠命令(保留调色板入口)并清理冗余的 `prompt.*` i18n 键(`fac0737`、`57ed63b`)
|
|
215
|
+
- 退出尾声 logo 配色与 CLI banner 调色板对齐,统一视觉收尾(`f0a93b4`)
|
|
216
|
+
- 恢复 `DEVECO_HOME` 自动检测与登录检查(含 `requireLogin` 前置校验),避免未登录态误入主界面(`b33e8d4`、`cd4a560`)
|
|
217
|
+
- 修复 `unknown component type: spinner` 运行报错,消除启动期组件渲染异常(`912ab20`)
|
package/bin/deveco
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deveco-test/deveco-code-darwin-arm64",
|
|
3
|
-
"version": "0.1.0-TD.24.
|
|
3
|
+
"version": "0.1.0-TD.24.test4",
|
|
4
4
|
"preferUnplugged": true,
|
|
5
5
|
"os": [
|
|
6
6
|
"darwin"
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"files": [
|
|
12
12
|
"bin/**/*",
|
|
13
13
|
"vendor/**/*",
|
|
14
|
-
"
|
|
14
|
+
"CHANGELOG.md",
|
|
15
15
|
"README.md"
|
|
16
16
|
]
|
|
17
17
|
}
|
|
@@ -0,0 +1,407 @@
|
|
|
1
|
+
# 安卓应用迁移鸿蒙指导
|
|
2
|
+
|
|
3
|
+
**a2h工具用于辅助鸿蒙开发者完成原生安卓应用迁移到鸿蒙应用,为应用迁移的各个环节提供能力支持。**
|
|
4
|
+
|
|
5
|
+
**本文档为使用a2h工具进行应用迁移的流程指导。**
|
|
6
|
+
|
|
7
|
+
[](LICENSE)
|
|
8
|
+
[](https://nodejs.org/en/download)
|
|
9
|
+
|
|
10
|
+
[](#选择本地editor)
|
|
11
|
+
[](#选择本地editor)
|
|
12
|
+
[](#选择本地editor)
|
|
13
|
+
[](#选择本地editor)
|
|
14
|
+
[](#选择本地editor)
|
|
15
|
+
[](#选择本地editor)
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 安装DevEco Studio以及Android Studio
|
|
20
|
+
|
|
21
|
+
1. **安装DevEco Studio** — 下载地址:<https://developer.huawei.com/consumer/cn/download/>。安装完成后,配置以下 **PATH环境变量**:
|
|
22
|
+
|
|
23
|
+
| 工具 | PATH中加入的目录 |
|
|
24
|
+
|------|------------------|
|
|
25
|
+
| java | `<DevEco安装目录>\jbr\bin` |
|
|
26
|
+
| hdc | `<DevEco安装目录>\sdk\default\openharmony\toolchains` |
|
|
27
|
+
|
|
28
|
+
验证方式:执行 `java -version`、`hdc -v` 均返回正常
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
2. **安装Android Studio** — 下载地址:<https://developer.android.com/studio>,并在 **SDK Manager** 中安装SDK。
|
|
32
|
+
|
|
33
|
+
验证方式:执行 `adb version` 返回正常
|
|
34
|
+
|
|
35
|
+
被依赖:
|
|
36
|
+
- 步骤1.1UI迁移(可选,仅自动抓取页面快照时需要)
|
|
37
|
+
- 步骤1.2UI对齐(必需)
|
|
38
|
+
|
|
39
|
+
注:也可用真机替代模拟器用于UI迁移和对齐。但当前工具不支持部分系统(Android API 16及更早版本、华为emui、部分车机.IOT设备)
|
|
40
|
+
|
|
41
|
+
## 安装Node.js
|
|
42
|
+
|
|
43
|
+
安装 **Node.js(版本需 >= 22.18)** — 下载地址:<https://nodejs.org/en/download>。
|
|
44
|
+
|
|
45
|
+
验证方式:执行 `node -v`、`npm -v`、`npx -v` 均返回正常,且 `node -v` 显示版本不低于 22.18
|
|
46
|
+
|
|
47
|
+
## 安装a2h
|
|
48
|
+
|
|
49
|
+
执行 `npm install -g android2harmony`。
|
|
50
|
+
|
|
51
|
+
验证方式:执行 `a2h --version` 返回正常
|
|
52
|
+
|
|
53
|
+
## 环境初始化
|
|
54
|
+
|
|
55
|
+
执行 `a2h init`。
|
|
56
|
+
|
|
57
|
+
> 如果在PowerShell下运行,命令需要加上 `.cmd` 后缀,如 `a2h.cmd --version`、`a2h.cmd init`。
|
|
58
|
+
|
|
59
|
+
### 选择本地editor:
|
|
60
|
+

|
|
61
|
+
|
|
62
|
+
### 参数配置:
|
|
63
|
+
|
|
64
|
+
#### 配置鸿蒙SDK:
|
|
65
|
+

|
|
66
|
+
|
|
67
|
+
#### 配置多模态模型(不执行UI对齐以及集成测试可以跳过该配置):
|
|
68
|
+

|
|
69
|
+
|
|
70
|
+
| 参数 | 含义 |
|
|
71
|
+
|-----------------|---------|
|
|
72
|
+
| `model_api_key` | 用于模型API请求认证的令牌 |
|
|
73
|
+
| `model_name` | 多模态(视觉)模型的名字 |
|
|
74
|
+
| `model_base_url` | 模型API服务的基础地址 |
|
|
75
|
+
|
|
76
|
+
##### 配置参考
|
|
77
|
+
|
|
78
|
+
前往[阿里云百炼平台](https://bailian.console.aliyun.com/)开通服务并申请 API Key,选用 Qwen 系列多模态(视觉)模型(如 `qwen3.5-plus`)。
|
|
79
|
+
|
|
80
|
+
| 参数 | 取值 |
|
|
81
|
+
|---|-----------------------------------------------------|
|
|
82
|
+
| `model_api_key` | 百炼控制台申请的 API Key(形如 `sk-xxxxxxxx`) |
|
|
83
|
+
| `model_name` | `qwen3.5-plus` |
|
|
84
|
+
| `model_base_url` | `https://dashscope.aliyuncs.com/compatible-mode/v1` |
|
|
85
|
+
|
|
86
|
+
#### 将配置信息添加到环境变量:
|
|
87
|
+

|
|
88
|
+
|
|
89
|
+
### 准备项目
|
|
90
|
+
|
|
91
|
+
准备 **Android源项目** 与 **HarmonyOS目标项目目录**。
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
## 迁移流程
|
|
95
|
+

|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## 步骤1:UI迁移
|
|
100
|
+
|
|
101
|
+
### 1.1 UI迁移
|
|
102
|
+
|
|
103
|
+
> 📦 依赖:Android Studio + 安卓真机/模拟器(可选,仅自动抓取页面快照时需要)。
|
|
104
|
+
|
|
105
|
+
打开本地editor(claude code,open code等),在会话中通过 `斜杠/ `或者 `自然语言 `的方式调用skill--hmos-batch-ui-align,并且传递相关参数)
|
|
106
|
+
|
|
107
|
+
斜杠调用方式举例
|
|
108
|
+
```
|
|
109
|
+
/hmos-batch-ui-align android_project_dir=<安卓项目路径> harmony_project_dir=<鸿蒙项目路径> ui_info_root=<页面快照目录> apk_path=<安卓apk路径>
|
|
110
|
+
```
|
|
111
|
+
自然语言调用方式举例
|
|
112
|
+
```
|
|
113
|
+
帮我使用skill:hmos-batch-ui-align完成安卓应用页面到鸿蒙应用的迁移,传递的参数是 android_project_dir=<安卓项目路径> harmony_project_dir=<鸿蒙项目路径> ui_info_root=<页面快照目录> apk_path=<安卓apk路径>
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
**输入参数**
|
|
117
|
+
|
|
118
|
+
| 参数 | 类型 | 说明 |
|
|
119
|
+
|------|------|-------------------------------------------------------------------------------------------------------------|
|
|
120
|
+
| `android_project_dir` | **必选** | Android项目根目录路径 |
|
|
121
|
+
| `harmony_project_dir` | **必选** | HarmonyOS项目输出路径 |
|
|
122
|
+
| `ui_info_root` | 可选 | 包含 `page_NNNN_ActivityName` 格式子目录的父目录(每子目录含 `meta.json` + `view.xml` + 可选 `screenshot.png`);不提供时自动通过adb抓取 |
|
|
123
|
+
| `pages` | 可选 | 显式列出的页面子集(不提供则处理所有页面) |
|
|
124
|
+
| `apk_path` | 可选 | Android APK文件路径;透传给内部的 `hmos-resources-convert`,提供后跳过Gradle构建,直接用apktool解包该APK提取资源 |
|
|
125
|
+
|
|
126
|
+
**输出产物**
|
|
127
|
+
|
|
128
|
+
| 产物 | 位置 | 说明 |
|
|
129
|
+
|------|------|------|
|
|
130
|
+
| ArkTS页面文件 | HarmonyOS项目下 | 由Android Activity转换生成的ArkTS页面 |
|
|
131
|
+
| 资源文件 | HarmonyOS项目下 | 页面所需资源(含UI迁移内部触发的资源转换产物) |
|
|
132
|
+
| 批量转换报告 | HarmonyOS项目下 | 各页面转换结果、缺陷与统计 |
|
|
133
|
+
|
|
134
|
+
### 1.2 UI对齐(按需)
|
|
135
|
+
|
|
136
|
+
> 📦 依赖:DevEco Studio、Android Studio(必需);安卓真机/模拟器 + 鸿蒙真机/模拟器(必需)。
|
|
137
|
+
|
|
138
|
+
打开本地editor(claude code,open code等),在会话中通过 `斜杠/ `或者 `自然语言 `的方式调用skill--hmos-incremental-ui-align,并且传递相关参数)
|
|
139
|
+
|
|
140
|
+
斜杠调用方式举例
|
|
141
|
+
```
|
|
142
|
+
/hmos-incremental-ui-align android_project_dir=<安卓工程路径> harmony_project_dir=<鸿蒙工程路径>
|
|
143
|
+
```
|
|
144
|
+
自然语言调用方式举例
|
|
145
|
+
```
|
|
146
|
+
帮我使用skill:hmos-incremental-ui-align完成安卓和鸿蒙应用的页面对齐,传递的参数是 android_project_dir=<安卓工程路径> harmony_project_dir=<鸿蒙工程路径>
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
**输入参数**
|
|
150
|
+
|
|
151
|
+
| 参数 | 类型 | 说明 |
|
|
152
|
+
|------|------|------|
|
|
153
|
+
| `android_project_dir` | 必填 | 安卓源码根目录;用于自动解析安卓app名/包名 |
|
|
154
|
+
| `harmony_project_dir` | 必填 | 鸿蒙工程根目录(会被直接修改);用于自动解析鸿蒙app名/包名 |
|
|
155
|
+
| `capture_output_dir` | 可选 | 采集产物输出目录,默认 `<harmony_project_dir>/.hometrans/capture_output` |
|
|
156
|
+
|
|
157
|
+
**输出产物**
|
|
158
|
+
|
|
159
|
+
| 产物 | 位置 | 说明 |
|
|
160
|
+
|------|------|------|
|
|
161
|
+
| 修改后的ArkTS页面文件 | HarmonyOS项目下 | 对齐目标页面后的代码改动 |
|
|
162
|
+
| 双端页面截图与视图树 | `capture_output_dir` | Android/HarmonyOS两侧 `screenshot.png` + 视图树文件 |
|
|
163
|
+
| 对齐差异/修复报告 | `capture_output_dir` | 差异分析与修复说明 |
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## 步骤2:生成需求规格
|
|
168
|
+
|
|
169
|
+
> 📦 依赖:homegraph(必需)。
|
|
170
|
+
|
|
171
|
+
> 👤 前置:用户编写 `REQ.txt` 文件 — 以自然语言描述原始需求,如有多个需求则在文件中使用空行进行分隔,需求中建议包含页面跳转路径的说明以及业务逻辑的描述。
|
|
172
|
+
|
|
173
|
+
`REQ.txt` 示例:
|
|
174
|
+
|
|
175
|
+
```text
|
|
176
|
+
设置-歌词-歌词界面-卡拉OK歌词动画兼容策略(播放页歌词设置同步实现)
|
|
177
|
+
逐字歌词效果,默认是当前行
|
|
178
|
+
1,当前行:只为前歌曲的歌词中有单字时间戳的歌词行显示逐字特效
|
|
179
|
+
2,扩展全部:当前歌曲的歌词中只要有一行歌词带单字时间戳,所有歌词行都显示逐字特效
|
|
180
|
+
3,总是:当前歌曲所有歌词行都显示逐字特效
|
|
181
|
+
|
|
182
|
+
设置-用户界面-圆形播放封面(圆形支持旋转)
|
|
183
|
+
开关,默认关闭,打开后,在播放页以圆形展示封面,并且自动旋转
|
|
184
|
+
|
|
185
|
+
设置-用户界面-允许不规则封面(支持长方形封面,参考无归)
|
|
186
|
+
开关,默认打开,播放页封面以大小一致的正方形展示,打开后,在播放页封面以原始样式展示
|
|
187
|
+
|
|
188
|
+
设置-歌词-悬浮窗状态栏歌词
|
|
189
|
+
开关 ,默认关闭,打开前需要申请悬浮窗权限,打开后在悬浮窗滚动展示歌词
|
|
190
|
+
1,左右位置:默认0%
|
|
191
|
+
2,上下位置:默认0px
|
|
192
|
+
3,宽度:默认150dp
|
|
193
|
+
4,大小:默认14.0dp
|
|
194
|
+
5,选择颜色:默认蓝色
|
|
195
|
+
6,歌词文本居左对齐:开关 默认关闭,歌词在设置的宽度内中对齐
|
|
196
|
+
7,状态栏歌词不显示翻译:开关 默认关闭
|
|
197
|
+
8,在播放界面隐藏:开关 默认关闭 打开后如果切换到播放页,则不在悬浮窗区域显示歌词
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
打开本地editor(claude code,open code等),在会话中通过 `斜杠/ `或者 `自然语言 `的方式调用skill--hmos-spec-generate,并且传递相关参数)
|
|
201
|
+
|
|
202
|
+
斜杠调用方式举例
|
|
203
|
+
```
|
|
204
|
+
/hmos-spec-generate requirement_description_file=<需求描述文件路径> android_project_dir=<安卓项目路径> spec_output_dir=<规格输出目录>
|
|
205
|
+
```
|
|
206
|
+
自然语言调用方式举例
|
|
207
|
+
```
|
|
208
|
+
帮我使用skill:hmos-spec-generate生成需求spec文档,传递的参数是 requirement_description_file=<需求描述文件路径> android_project_dir=<安卓项目路径> spec_output_dir=<规格输出目录>
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
**输入参数**
|
|
212
|
+
|
|
213
|
+
| 参数 | 类型 | 说明 |
|
|
214
|
+
|------|------|------|
|
|
215
|
+
| `requirement_description_file` | **必选** | 需求描述 `.txt` 文件路径(每段以 `REQ` 开头,空行分隔) |
|
|
216
|
+
| `android_project_dir` | **必选** | Android项目根目录路径(必须位于Git仓库内) |
|
|
217
|
+
| `spec_output_dir` | **必选** | 规格文档输出目录(自动创建;每个REQ生成 `<feature>-SPEC.md` + `.trace/<feature>.md`) |
|
|
218
|
+
|
|
219
|
+
**输出产物**
|
|
220
|
+
|
|
221
|
+
| 产物 | 位置 | 说明 |
|
|
222
|
+
|------|------|------|
|
|
223
|
+
| `<feature>-SPEC.md` | `spec_output_dir` | 每个REQ对应一份原子场景规格文档 |
|
|
224
|
+
| `.trace/<feature>.md` | `spec_output_dir/.trace/` | 每个REQ对应的代码trace(homegraph探索结果) |
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## 步骤3:逻辑代码转换流水线
|
|
229
|
+
|
|
230
|
+
> 📦 依赖:DevEco Studio(必需,构建/评审修复);Node.js (≥ 18,运行 `self-test-runner.js` 等编译后的入口) + 鸿蒙真机(集成测试阶段需要,可经 `skip_test` 跳过)。
|
|
231
|
+
|
|
232
|
+
> 👤 前置:
|
|
233
|
+
> 1. 如果执行集成测试,需要**准备测试用例文档**:可由 [`hmos-test-case-generation` skill](#测试用例生成可独立运行产出喂给集成测试) 自动生成,其产出的 `test_case.md` 作为 `test_case_path` 传入;`pre_test_case.md` 为前置测试用例(非必须,用于测试用例的环境准备等),作为 `pre_test_case_path` 传入。
|
|
234
|
+
> 2. 如果执行集成测试,需要**连接HarmonyOS真机**并且在DevEco Studio中[**配置签名**](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/networkboost-preparations#%E9%85%8D%E7%BD%AE%E7%AD%BE%E5%90%8D)。
|
|
235
|
+
|
|
236
|
+
打开本地editor(claude code,open code等),在会话中通过 `斜杠/ `或者 `自然语言 `的方式调用skill--hmos-convert-pipeline,并且传递相关参数)
|
|
237
|
+
|
|
238
|
+
斜杠调用方式举例
|
|
239
|
+
```
|
|
240
|
+
/hmos-convert-pipeline android_project_dir=<安卓项目路径> harmony_project_dir=<鸿蒙项目路径> spec_file_path=<需求规格文档路径>
|
|
241
|
+
```
|
|
242
|
+
自然语言调用方式举例
|
|
243
|
+
```
|
|
244
|
+
帮我使用skill:hmos-convert-pipeline完成逻辑代码开发,代码检视,集成测试,传递的参数是 android_project_dir=<安卓项目路径> harmony_project_dir=<鸿蒙项目路径> spec_file_path=<需求规格文档路径>
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
**输入参数**
|
|
248
|
+
|
|
249
|
+
| 参数 | 类型 | 说明 |
|
|
250
|
+
|------|------|------|
|
|
251
|
+
| `android_project_dir` | **必选** | Android项目根目录路径 |
|
|
252
|
+
| `harmony_project_dir` | **必选** | HarmonyOS项目根目录路径 |
|
|
253
|
+
| `spec_file_path` | **必选** | 需求规格文档路径(各阶段直接读取,无需复制到输出目录) |
|
|
254
|
+
| `assets_output_path` | 可选 | 输出/报告文件存放目录(默认鸿蒙工程下 `.hometrans`,自动创建) |
|
|
255
|
+
| `test_case_path` | 可选 | 自测用例文件路径(默认读输出目录下 `test_case.md`;不存在则跳过自测循环) |
|
|
256
|
+
| `pre_test_case_path` | 可选 | 前置用例文件路径(默认读输出目录下 `pre_test_case.md`;存在才传给自测) |
|
|
257
|
+
| `max_rounds_review` | 可选 | 代码检视循环最大轮数(正整数 `>= 1`,默认 `2`) |
|
|
258
|
+
| `max_rounds_test` | 可选 | 自测循环最大轮数(正整数 `>= 1`,默认 `2`) |
|
|
259
|
+
| `skip_test` | 可选 | `true` 跳过集成测试阶段(无真机验证环境时设为 `true`,默认 `false`) |
|
|
260
|
+
|
|
261
|
+
> 参数按位置传递:要传某个可选参数,需先显式给出它前面的所有可选参数。
|
|
262
|
+
|
|
263
|
+
**输出产物**
|
|
264
|
+
|
|
265
|
+
| 产物 | 位置 | 说明 |
|
|
266
|
+
|------|------|------|
|
|
267
|
+
| 已签名HAP | HarmonyOS项目下 `build/` | 通过自测/评审循环后的最终发布包 |
|
|
268
|
+
| `pipeline-manifest.md` | `assets_output_path` | 流水线清单:阶段耗时、轮数、缺陷统计 |
|
|
269
|
+
| 构建阶段报告 | `assets_output_path` | 编译错误与修复记录 |
|
|
270
|
+
| 评审阶段报告 | `assets_output_path` | 代码检视报告与修复记录 |
|
|
271
|
+
| 自测阶段报告 | `assets_output_path` | 测试结果、失败用例与修复记录 |
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## 步骤4:人工验收
|
|
276
|
+
|
|
277
|
+
**输入**
|
|
278
|
+
|
|
279
|
+
| 输入 | 说明 |
|
|
280
|
+
|------|------|
|
|
281
|
+
| `pipeline-manifest.md` | 流水线清单与缺陷统计 |
|
|
282
|
+
| 自测报告 | 集成测试skill/步骤3自测阶段产出的测试报告 |
|
|
283
|
+
| 已签名HAP | 步骤3流水线产出的最终发布包 |
|
|
284
|
+
|
|
285
|
+
**输出**
|
|
286
|
+
|
|
287
|
+
| 产物 | 说明 |
|
|
288
|
+
|------|------|
|
|
289
|
+
| 可发布的HarmonyOS应用 | 已处理报告中的遗留缺陷/TODO,通过核心场景走查 |
|
|
290
|
+
|
|
291
|
+
通读 `pipeline-manifest.md` 与自测报告,真机走查核心场景,处理报告中的遗留缺陷/TODO后发布。
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
## 独立skill能力
|
|
296
|
+
|
|
297
|
+
以下能力包含在迁移流程中也可按需独立调用。
|
|
298
|
+
|
|
299
|
+
### 资源转换
|
|
300
|
+
|
|
301
|
+
> 📦 依赖:DevEco Studio中的java(可选,缺失时回退读取源码 `res/`)。
|
|
302
|
+
|
|
303
|
+
> ⚠️ 提示:如果步骤1采用 **UI迁移**(`hmos-batch-ui-align`),则跳过当前能力(UI迁移内部已包含资源转换)。
|
|
304
|
+
|
|
305
|
+
打开本地editor(claude code,open code等),在会话中通过 `斜杠/ `或者 `自然语言 `的方式调用skill--hmos-resources-convert,并且传递相关参数)
|
|
306
|
+
|
|
307
|
+
斜杠调用方式举例
|
|
308
|
+
```
|
|
309
|
+
/hmos-resources-convert android_project_dir=<安卓项目路径> harmony_project_dir=<鸿蒙项目路径> resource_mapping_path=<资源映射文档路径>
|
|
310
|
+
```
|
|
311
|
+
自然语言调用方式举例
|
|
312
|
+
```
|
|
313
|
+
帮我使用skill:hmos-resources-convert完成安卓应用到鸿蒙应用的资源转换,传递的参数是 android_project_dir=<安卓项目路径> harmony_project_dir=<鸿蒙项目路径> resource_mapping_path=<资源映射文档路径>
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
**输入参数**
|
|
317
|
+
|
|
318
|
+
| 参数 | 类型 | 说明 |
|
|
319
|
+
|------|------|------|
|
|
320
|
+
| `android_project_dir` | **必选** | Android项目根目录路径(含 `build.gradle` 或 `build.gradle.kts`) |
|
|
321
|
+
| `harmony_project_dir` | **必选** | HarmonyOS项目输出路径 |
|
|
322
|
+
| `resource_mapping_path` | **必选** | Android ↔ HarmonyOS资源映射文档的完整输出路径(`.md`) |
|
|
323
|
+
| `apk_path` | 可选 | Android APK文件路径;提供后跳过Gradle构建,直接用apktool解包该APK提取资源 |
|
|
324
|
+
|
|
325
|
+
**输出产物**
|
|
326
|
+
|
|
327
|
+
| 产物 | 位置 | 说明 |
|
|
328
|
+
|------|------|------|
|
|
329
|
+
| `resources/` 目录 | HarmonyOS项目下 | 转换后的HarmonyOS资源(strings、colors、dimensions、images等) |
|
|
330
|
+
| 资源映射文档 | `resource_mapping_path` | Android ↔ HarmonyOS资源条目映射(`.md`) |
|
|
331
|
+
| 转换报告 | HarmonyOS项目下 | 资源转换过程与统计 |
|
|
332
|
+
|
|
333
|
+
### 测试用例生成(可独立运行;产出喂给集成测试)
|
|
334
|
+
|
|
335
|
+
> 📦 依赖:Node.js ≥ 22.18 / 23.6(必需,非LLM校验脚本 `validate.ts`、BFS crawler 和 mapping 转换脚本经 Node 原生类型擦除运行,无需编译、无依赖);ADB + Android 设备/模拟器(可选,仅在需 TCG 自动产 `ui_elements.json` 时需要);其余由LLM编排。
|
|
336
|
+
|
|
337
|
+
TCG 的主流程是测试用例生成:输入 spec-generate 产出的 `<feature>-SPEC.md`(`## 场景N` 原子场景块),输出自带四诚实证据的 `test_case.md` / `pre_test_case.md`,可直接作为集成测试skill的 `test_case_path` / `pre_test_case_path`。
|
|
338
|
+
|
|
339
|
+
`ui_elements.json` 是这个生成流程的可选软参照,用于把操作具化为真实控件路径。若没有传入 `ui-elements-path`,但提供了 `package` 或 `android-project-dir`,TCG 会先运行 viewtree-based UI elements mapping 生成:使用 `tools/bfs-crawl/android_viewtree_bfs_crawler.ts` 采集 Android 运行时 viewtree dump,再通过转换脚本生成 mapping。
|
|
340
|
+
|
|
341
|
+
打开本地editor(claude code,open code等),在会话中通过 `斜杠/ `或者 `自然语言 `的方式调用skill--hmos-test-case-generation,并且传递相关参数)
|
|
342
|
+
|
|
343
|
+
斜杠调用方式举例
|
|
344
|
+
```
|
|
345
|
+
/hmos-test-case-generation spec-path=<SPEC文档路径> package=<包名>
|
|
346
|
+
```
|
|
347
|
+
自然语言调用方式举例
|
|
348
|
+
```
|
|
349
|
+
帮我使用skill:hmos-test-case-generation基于规格文档生成测试用例,传递的参数是 spec-path=<SPEC文档路径> package=<包名>
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
**输入参数**
|
|
353
|
+
|
|
354
|
+
| 参数 | 类型 | 说明 |
|
|
355
|
+
|------|------|------|
|
|
356
|
+
| `spec-path` | **必选** | `<feature>-SPEC.md`(spec-generate 产出,含 `## 场景N` 原子场景块) |
|
|
357
|
+
| `ui-elements-path` | 可选 | `ui_elements.json`(软参照,不保真、可缺;缺但给了 `package` 或 `android-project-dir` 时 TCG 自动产) |
|
|
358
|
+
| `package` | 可选 | Android 应用包名(如 `com.example.app`);`ui-elements-path` 缺时直接用它跑 dump,优先于 `android-project-dir` |
|
|
359
|
+
| `android-project-dir` | 可选 | Android 源码工程根目录;`package` 也缺时从 `build.gradle` 推导包名再跑 dump(需 ADB + 设备) |
|
|
360
|
+
| `references-dir` | 可选 | 参考资料(操作定义/页面描述/模板/可复用前置用例库/特殊测试数据) |
|
|
361
|
+
| `output-path` | 可选 | 输出目录;默认 `spec-path` 同级的 `testcase-output/` |
|
|
362
|
+
|
|
363
|
+
**主要交付产物**
|
|
364
|
+
|
|
365
|
+
| 产物 | 位置 | 说明 |
|
|
366
|
+
|------|------|------|
|
|
367
|
+
| `test_case.md` | `<output-path>/` 顶层 | 主测试用例(固定文件名,自带四诚实证据,作为下游 `hmos-integration-test` 的 `test_case_path`) |
|
|
368
|
+
| `pre_test_case.md` | `<output-path>/` 顶层 | 前置用例(从「见前置用例」前提反向组装;无命中则不出) |
|
|
369
|
+
| `review_notes.md` | `<output-path>/` 顶层 | 单一人工伴随件(阻塞区 + 非阻塞区合一;不得另产 `manual-intervention.md`) |
|
|
370
|
+
|
|
371
|
+
> `output-path` 只放上表中的交付产物。运行时会在其同级创建 `{output-path}.work/`,保存 `_bfs_dump/`、`cases-report.json`、`md-report.json` 等过程产物。
|
|
372
|
+
|
|
373
|
+
> 完成时 stdout 最后一行 `TCG_COMPLETE specs={N} ok={K} failed={A} output={output-path}`(N=场景数,K=两门均放行的场景数,A=留记号/FATAL的场景数)。
|
|
374
|
+
|
|
375
|
+
### 集成测试(已包含在步骤3的流水线,也可以单独运行)
|
|
376
|
+
|
|
377
|
+
> 📦 依赖:DevEco Studio(必需,真机调试);鸿蒙真机(必需)。
|
|
378
|
+
|
|
379
|
+
打开本地editor(claude code,open code等),在会话中通过 `斜杠/ `或者 `自然语言 `的方式调用skill--hmos-integration-test,并且传递相关参数)
|
|
380
|
+
|
|
381
|
+
斜杠调用方式举例
|
|
382
|
+
```
|
|
383
|
+
/hmos-integration-test test_case_path=<测试用例路径> hap_path=<签名HAP路径>
|
|
384
|
+
```
|
|
385
|
+
自然语言调用方式举例
|
|
386
|
+
```
|
|
387
|
+
帮我使用skill:hmos-integration-test基于测试用例完成鸿蒙应用的集成测试,传递的参数是 test_case_path=<测试用例路径> hap_path=<签名HAP路径>
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
**输入参数**
|
|
391
|
+
|
|
392
|
+
| 参数 | 类型 | 说明 |
|
|
393
|
+
|------|------|------|
|
|
394
|
+
| `test_case_path` | **必选** | `test_case.md` 测试用例文件路径 |
|
|
395
|
+
| `hap_path` | **必选** | 已签名的HAP文件路径 |
|
|
396
|
+
| `output_path` | 可选 | 报告输出目录 |
|
|
397
|
+
| `pre_test_case_path` | 可选 | 前置用例文件路径 |
|
|
398
|
+
| `android_project_dir` | 可选 | Android项目路径(修复时参考) |
|
|
399
|
+
| `max_rounds` | 可选 | 测试-修复循环最大轮数(默认 `3`) |
|
|
400
|
+
|
|
401
|
+
**输出产物**
|
|
402
|
+
|
|
403
|
+
| 产物 | 位置 | 说明 |
|
|
404
|
+
|------|------|------|
|
|
405
|
+
| 测试报告 | `output_path` | 测试结果、通过/失败用例统计 |
|
|
406
|
+
| 失败用例详情 | `output_path` | 失败用例的复现步骤与日志 |
|
|
407
|
+
| 修复建议 | `output_path` | 针对失败用例的修复方向(进入测试-修复循环时生效) |
|