@buaa_smat/hometrans 0.1.14 → 0.1.15
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/README.md +76 -70
- package/agents/build-fixer.md +384 -384
- package/agents/code-reviewer.md +240 -240
- package/agents/logic-coder.md +199 -199
- package/agents/logic-context-builder.md +194 -194
- package/agents/review-fixer.md +405 -405
- package/agents/self-test-fixer.md +296 -296
- package/agents/self-tester.md +393 -393
- package/agents/spec-generator.md +540 -540
- package/dist/cli/config-store.js +36 -1
- package/dist/cli/config.js +1 -1
- package/dist/cli/init.js +43 -4
- package/env-requirements.json +181 -181
- package/package.json +1 -1
- package/resource/migration_process.svg +94 -0
- package/resource/migration_process_transparent.svg +93 -0
- package/skills/hmos-batch-ui-align/SKILL.md +108 -108
- package/skills/hmos-convert-pipeline/SKILL.md +429 -429
- package/skills/hmos-fix-build-errors/SKILL.md +272 -272
- package/skills/hmos-incremental-ui-align/{readme.md → README.md} +237 -237
- package/skills/hmos-incremental-ui-align/SKILL.md +218 -218
- package/skills/hmos-integration-test/{readme.md → README.md} +309 -309
- package/skills/hmos-integration-test/SKILL.md +380 -380
- package/skills/hmos-resources-convert/SKILL.md +623 -623
- package/skills/hmos-spec-generate/SKILL.md +331 -331
package/README.md
CHANGED
|
@@ -24,43 +24,43 @@
|
|
|
24
24
|
验证方式:执行 `node -v`、`java -version`、`hdc -v` 均返回正常
|
|
25
25
|
|
|
26
26
|
被依赖:
|
|
27
|
-
-
|
|
28
|
-
- 步骤
|
|
29
|
-
- 步骤
|
|
30
|
-
-
|
|
27
|
+
- 资源转换skill(java可选,缺失时回退读取源码 `res/`)
|
|
28
|
+
- 步骤1.2UI对齐(必需)
|
|
29
|
+
- 步骤3逻辑代码转换流水线(必需,构建/评审修复)
|
|
30
|
+
- 集成测试skill(必需,真机调试)
|
|
31
31
|
2. **安装Android Studio** — 下载地址:<https://developer.android.com/studio>,并在 **SDK Manager** 中安装SDK。
|
|
32
32
|
|
|
33
33
|
验证方式:执行 `adb version` 返回正常
|
|
34
34
|
|
|
35
35
|
被依赖:
|
|
36
|
-
- 步骤
|
|
37
|
-
- 步骤
|
|
36
|
+
- 步骤1.1UI迁移(可选,仅自动抓取页面快照时需要)
|
|
37
|
+
- 步骤1.2UI对齐(必需)
|
|
38
38
|
3. **安装uv** — 安装指引:<https://docs.astral.sh/uv/getting-started/installation/>。
|
|
39
39
|
|
|
40
40
|
验证方式:执行 `uv --version` 返回正常
|
|
41
41
|
|
|
42
42
|
被依赖:
|
|
43
|
-
- 步骤
|
|
44
|
-
-
|
|
43
|
+
- 步骤3逻辑代码转换流水线的自测阶段(可经 `skip_test` 跳过)
|
|
44
|
+
- 集成测试skill(必需,AutoTest在uv下运行)
|
|
45
45
|
4. **安装python** — 安装指引:<https://www.python.org/downloads/>,要求 ≥ 3.10。
|
|
46
46
|
|
|
47
47
|
验证方式:执行 `python --version` 返回正常
|
|
48
48
|
|
|
49
49
|
被依赖:
|
|
50
|
-
- 步骤
|
|
51
|
-
- 步骤
|
|
50
|
+
- 步骤1.1UI迁移(必需,页面快照解析脚本)
|
|
51
|
+
- 步骤1.2UI对齐(必需,双端页面采集脚本)
|
|
52
52
|
5. **安装 [GitNexus](https://github.com/abhigyanpatwari/GitNexus)** — 执行 `npm install -g gitnexus && gitnexus setup`
|
|
53
53
|
|
|
54
54
|
验证方式:执行 `gitnexus --version` 返回正常
|
|
55
55
|
|
|
56
56
|
被依赖:
|
|
57
|
-
- 步骤
|
|
57
|
+
- 步骤2生成需求规格(必需)
|
|
58
58
|
6. **连接设备** — 连接安卓和鸿蒙真机,或启动模拟器
|
|
59
59
|
|
|
60
60
|
被依赖:
|
|
61
|
-
- 安卓真机/模拟器 — 步骤
|
|
62
|
-
- 鸿蒙真机/模拟器 — 步骤
|
|
63
|
-
- 鸿蒙**真机** — 步骤
|
|
61
|
+
- 安卓真机/模拟器 — 步骤1 UI迁移
|
|
62
|
+
- 鸿蒙真机/模拟器 — 步骤1.2UI对齐
|
|
63
|
+
- 鸿蒙**真机** — 步骤3流水线自测阶段、集成测试skill
|
|
64
64
|
|
|
65
65
|
### 0.2安装hometrans
|
|
66
66
|
|
|
@@ -86,13 +86,13 @@
|
|
|
86
86
|
+ OHOS_SDK_PATH : <DevEco安装目录>\sdk\default\openharmony\ets
|
|
87
87
|
+ HMS_SDK_PATH : <DevEco安装目录>\sdk\default\hms\ets
|
|
88
88
|
```
|
|
89
|
-
### 0.2.3 UI对齐配置(如果不执行步骤
|
|
89
|
+
### 0.2.3 UI对齐配置(如果不执行步骤1.2UI对齐,则可以不配置):
|
|
90
90
|

|
|
91
91
|
- `GLM_API_KEY` — UI对齐中过程中GLM phone agent所用的LLM API key。
|
|
92
92
|
|
|
93
93
|
申请方式:在[智谱官方网站](https://bigmodel.cn/apikey/platform)注册用户后,申请一个API KEY即可,调用的是免费的auto-glm模型,无需充值。
|
|
94
94
|
|
|
95
|
-
### 0.2.4集成测试配置(如果不执行步骤
|
|
95
|
+
### 0.2.4集成测试配置(如果不执行步骤3的自测阶段与集成测试skill,则可以不配置):
|
|
96
96
|

|
|
97
97
|
- `autotest api_key` — 集成测试agent执行测试用例(真机自测)所用的多模态大模型API key。各配置项含义如下,`init` 环节只配置前4项,其余参数在`config.json`中配置。
|
|
98
98
|
|
|
@@ -123,39 +123,14 @@
|
|
|
123
123
|
准备 **Android源项目** 与 **HarmonyOS目标项目目录**。
|
|
124
124
|
|
|
125
125
|
---
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
> 📦 依赖:DevEco Studio中的java(可选,缺失时回退读取源码 `res/`)。
|
|
130
|
-
|
|
131
|
-
> ⚠️ 提示:如果步骤2的UI迁移采用**全量迁移**(`hmos-batch-ui-align`),则跳过当前步骤(全量UI迁移内部已包含资源转换)。
|
|
132
|
-
|
|
133
|
-
```
|
|
134
|
-
/hmos-resources-convert android_project_dir=<安卓项目路径> harmony_project_dir=<鸿蒙项目路径> resource_mapping_path=<资源映射文档路径>
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
**输入参数**
|
|
138
|
-
|
|
139
|
-
| 参数 | 类型 | 说明 |
|
|
140
|
-
|------|------|------|
|
|
141
|
-
| `android_project_dir` | **必选** | Android项目根目录路径(含 `build.gradle` 或 `build.gradle.kts`) |
|
|
142
|
-
| `harmony_project_dir` | **必选** | HarmonyOS项目输出路径 |
|
|
143
|
-
| `resource_mapping_path` | **必选** | Android ↔ HarmonyOS资源映射文档的完整输出路径(`.md`) |
|
|
144
|
-
| `apk_path` | 可选 | Android APK文件路径;提供后跳过Gradle构建和apktool解包,直接从APK提取资源 |
|
|
145
|
-
|
|
146
|
-
**输出产物**
|
|
147
|
-
|
|
148
|
-
| 产物 | 位置 | 说明 |
|
|
149
|
-
|------|------|------|
|
|
150
|
-
| `resources/` 目录 | HarmonyOS项目下 | 转换后的HarmonyOS资源(strings、colors、dimensions、images等) |
|
|
151
|
-
| 资源映射文档 | `resource_mapping_path` | Android ↔ HarmonyOS资源条目映射(`.md`) |
|
|
152
|
-
| 转换报告 | HarmonyOS项目下 | 资源转换过程与统计 |
|
|
126
|
+
## 迁移流程
|
|
127
|
+

|
|
153
128
|
|
|
154
129
|
---
|
|
155
130
|
|
|
156
|
-
## 步骤
|
|
131
|
+
## 步骤1:UI迁移
|
|
157
132
|
|
|
158
|
-
###
|
|
133
|
+
### 1.1UI迁移(`hmos-batch-ui-align`)
|
|
159
134
|
|
|
160
135
|
> 📦 依赖:python(必需,页面快照解析脚本);Android Studio + 安卓真机/模拟器(可选,仅自动抓取页面快照时需要)。
|
|
161
136
|
|
|
@@ -177,10 +152,10 @@
|
|
|
177
152
|
| 产物 | 位置 | 说明 |
|
|
178
153
|
|------|------|------|
|
|
179
154
|
| ArkTS页面文件 | HarmonyOS项目下 | 由Android Activity转换生成的ArkTS页面 |
|
|
180
|
-
| 资源文件 | HarmonyOS项目下 | 页面所需资源(
|
|
155
|
+
| 资源文件 | HarmonyOS项目下 | 页面所需资源(含UI迁移内部触发的资源转换产物) |
|
|
181
156
|
| 批量转换报告 | HarmonyOS项目下 | 各页面转换结果、缺陷与统计 |
|
|
182
157
|
|
|
183
|
-
###
|
|
158
|
+
### 1.2UI对齐(`hmos-incremental-ui-align`,按需)
|
|
184
159
|
|
|
185
160
|
> 📦 依赖:DevEco Studio、Android Studio、python(必需,双端页面采集脚本);安卓真机/模拟器 + 鸿蒙真机/模拟器(必需)。
|
|
186
161
|
|
|
@@ -206,7 +181,7 @@
|
|
|
206
181
|
|
|
207
182
|
---
|
|
208
183
|
|
|
209
|
-
## 步骤
|
|
184
|
+
## 步骤2:生成需求规格(`hmos-spec-generate`)
|
|
210
185
|
|
|
211
186
|
> 📦 依赖:GitNexus(必需)。
|
|
212
187
|
|
|
@@ -260,7 +235,7 @@
|
|
|
260
235
|
|
|
261
236
|
---
|
|
262
237
|
|
|
263
|
-
## 步骤
|
|
238
|
+
## 步骤3:逻辑代码转换流水线(`hmos-convert-pipeline`)
|
|
264
239
|
|
|
265
240
|
> 📦 依赖:DevEco Studio(必需,构建/评审修复);uv + 鸿蒙真机(集成测试阶段需要,可经 `skip_test` 跳过)。
|
|
266
241
|
|
|
@@ -300,7 +275,58 @@
|
|
|
300
275
|
|
|
301
276
|
---
|
|
302
277
|
|
|
303
|
-
## 步骤
|
|
278
|
+
## 步骤4:人工验收(👤 用户介入)
|
|
279
|
+
|
|
280
|
+
**输入**
|
|
281
|
+
|
|
282
|
+
| 输入 | 说明 |
|
|
283
|
+
|------|------|
|
|
284
|
+
| `pipeline-manifest.md` | 流水线清单与缺陷统计 |
|
|
285
|
+
| 自测报告 | 集成测试skill/步骤3自测阶段产出的测试报告 |
|
|
286
|
+
| 已签名HAP | 步骤3流水线产出的最终发布包 |
|
|
287
|
+
|
|
288
|
+
**输出**
|
|
289
|
+
|
|
290
|
+
| 产物 | 说明 |
|
|
291
|
+
|------|------|
|
|
292
|
+
| 可发布的HarmonyOS应用 | 已处理报告中的遗留缺陷/TODO,通过核心场景走查 |
|
|
293
|
+
|
|
294
|
+
通读 `pipeline-manifest.md` 与自测报告,真机走查核心场景,处理报告中的遗留缺陷/TODO后发布。
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
## 独立skill能力
|
|
299
|
+
|
|
300
|
+
以下能力包含在迁移流程中也可按需独立调用。
|
|
301
|
+
|
|
302
|
+
### 资源转换(`hmos-resources-convert`)
|
|
303
|
+
|
|
304
|
+
> 📦 依赖:DevEco Studio中的java(可选,缺失时回退读取源码 `res/`)。
|
|
305
|
+
|
|
306
|
+
> ⚠️ 提示:如果步骤1采用 **UI迁移**(`hmos-batch-ui-align`),则跳过当前能力(UI迁移内部已包含资源转换)。
|
|
307
|
+
|
|
308
|
+
```
|
|
309
|
+
/hmos-resources-convert android_project_dir=<安卓项目路径> harmony_project_dir=<鸿蒙项目路径> resource_mapping_path=<资源映射文档路径>
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
**输入参数**
|
|
313
|
+
|
|
314
|
+
| 参数 | 类型 | 说明 |
|
|
315
|
+
|------|------|------|
|
|
316
|
+
| `android_project_dir` | **必选** | Android项目根目录路径(含 `build.gradle` 或 `build.gradle.kts`) |
|
|
317
|
+
| `harmony_project_dir` | **必选** | HarmonyOS项目输出路径 |
|
|
318
|
+
| `resource_mapping_path` | **必选** | Android ↔ HarmonyOS资源映射文档的完整输出路径(`.md`) |
|
|
319
|
+
| `apk_path` | 可选 | Android APK文件路径;提供后跳过Gradle构建和apktool解包,直接从APK提取资源 |
|
|
320
|
+
|
|
321
|
+
**输出产物**
|
|
322
|
+
|
|
323
|
+
| 产物 | 位置 | 说明 |
|
|
324
|
+
|------|------|------|
|
|
325
|
+
| `resources/` 目录 | HarmonyOS项目下 | 转换后的HarmonyOS资源(strings、colors、dimensions、images等) |
|
|
326
|
+
| 资源映射文档 | `resource_mapping_path` | Android ↔ HarmonyOS资源条目映射(`.md`) |
|
|
327
|
+
| 转换报告 | HarmonyOS项目下 | 资源转换过程与统计 |
|
|
328
|
+
|
|
329
|
+
### 集成测试(`hmos-integration-test`,已包含在步骤3的流水线,也可以单独运行)
|
|
304
330
|
|
|
305
331
|
> 📦 依赖:DevEco Studio(必需,真机调试);uv(必需,AutoTest在uv下运行);鸿蒙真机(必需)。
|
|
306
332
|
|
|
@@ -326,23 +352,3 @@
|
|
|
326
352
|
| 测试报告 | `output_path` | 测试结果、通过/失败用例统计 |
|
|
327
353
|
| 失败用例详情 | `output_path` | 失败用例的复现步骤与日志 |
|
|
328
354
|
| 修复建议 | `output_path` | 针对失败用例的修复方向(进入测试-修复循环时生效) |
|
|
329
|
-
|
|
330
|
-
---
|
|
331
|
-
|
|
332
|
-
## 步骤6:人工验收(👤 用户介入)
|
|
333
|
-
|
|
334
|
-
**输入**
|
|
335
|
-
|
|
336
|
-
| 输入 | 说明 |
|
|
337
|
-
|------|------|
|
|
338
|
-
| `pipeline-manifest.md` | 流水线清单与缺陷统计 |
|
|
339
|
-
| 自测报告 | 步骤5/步骤4自测阶段产出的测试报告 |
|
|
340
|
-
| 已签名HAP | 步骤4流水线产出的最终发布包 |
|
|
341
|
-
|
|
342
|
-
**输出**
|
|
343
|
-
|
|
344
|
-
| 产物 | 说明 |
|
|
345
|
-
|------|------|
|
|
346
|
-
| 可发布的HarmonyOS应用 | 已处理报告中的遗留缺陷/TODO,通过核心场景走查 |
|
|
347
|
-
|
|
348
|
-
通读 `pipeline-manifest.md` 与自测报告,真机走查核心场景,处理报告中的遗留缺陷/TODO后发布。
|