@deveco-codegenie/mcp-win32-x64 0.1.8 → 0.2.3-beta
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 +188 -39
- package/THIRD_PARTY_LICENSES.md +4577 -0
- package/bin/codegenie-mcp-server.exe +0 -0
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -11,13 +11,16 @@
|
|
|
11
11
|
- [工程路径配置](#工程路径配置)
|
|
12
12
|
- [主要功能](#主要功能)
|
|
13
13
|
- [ArkTS 代码检查](#1-arkts-代码检查-check_ets_files)
|
|
14
|
-
- [
|
|
15
|
-
- [
|
|
16
|
-
- [
|
|
17
|
-
- [UI
|
|
18
|
-
- [UI
|
|
19
|
-
- [HiLog 日志采集](#7-hilog
|
|
20
|
-
- [HarmonyOS 知识库搜索](#8-harmonyos-知识库搜索-
|
|
14
|
+
- [C/C++ 代码检查](#2-c代码检查-check_cpp_files)
|
|
15
|
+
- [构建 HAP/HSP/HAR](#3-构建-haphsphar-build_project)
|
|
16
|
+
- [启动应用](#4-启动应用-start_app-仅-windows--macos)
|
|
17
|
+
- [UI 树获取](#5-ui-树获取-get_app_ui_tree-windows--macos)
|
|
18
|
+
- [UI 操作](#6-ui-操作-perform_ui_action-windows--macos)
|
|
19
|
+
- [HiLog 日志采集](#7-hilog-日志采集-windows--macos)
|
|
20
|
+
- [HarmonyOS 知识库搜索](#8-harmonyos-知识库搜索-harmonyos_knowledge_search-windows--macos)
|
|
21
|
+
- [UI 自动化校验](#9-ui-自动化校验-verify_ui-仅-windows--macos)
|
|
22
|
+
- [项目同步](#10-项目同步-project_sync)
|
|
23
|
+
- [初始化工程路径](#11-初始化工程路径-init_project_path)
|
|
21
24
|
- [平台支持](#平台支持)
|
|
22
25
|
|
|
23
26
|
---
|
|
@@ -60,12 +63,31 @@ $env:DEVECO_PATH = "C:\Program Files\Huawei\DevEco Studio"
|
|
|
60
63
|
|
|
61
64
|
2. **MCP 根目录协议**:服务启动后向 MCP 客户端请求 `roots/list`,取第一个根目录作为工程路径。
|
|
62
65
|
|
|
66
|
+
### 工具组配置
|
|
67
|
+
|
|
68
|
+
服务将工具分为 **默认工具组** 和 **额外工具组**。默认工具组在服务启动时自动加载,而额外工具组需要通过环境变量显式激活。
|
|
69
|
+
|
|
70
|
+
| 环境变量 | 说明 | 示例 |
|
|
71
|
+
|----------|------|------|
|
|
72
|
+
| `ADDITIONAL_TOOL_GROUPS` | 激活额外的工具组(逗号分隔) | `ui_integration_test,emulator_manager` |
|
|
73
|
+
|
|
74
|
+
**默认加载的工具:**
|
|
75
|
+
- ArkTS 代码检查、构建、同步
|
|
76
|
+
- 启动应用、UI 树获取、UI 操作(仅限 Windows/macOS)
|
|
77
|
+
- HiLog 日志采集、知识库搜索(仅限 Windows/macOS)
|
|
78
|
+
|
|
79
|
+
**可选激活的额外工具组:**
|
|
80
|
+
|
|
81
|
+
| 工具组名称 | 包含的工具 | 适用场景 |
|
|
82
|
+
|------------|------------|----------|
|
|
83
|
+
| `ui_integration_test` | `verify_ui`, `get_ui_verification_log`, `save_ui_screenshot` | 执行 UI 自动化脚本和意图校验 |
|
|
84
|
+
| `emulator_manager` | `emulator_image_manager`,`emulator_management` | 管理模拟器镜像和实例 |
|
|
63
85
|
|
|
64
86
|
---
|
|
65
87
|
|
|
66
88
|
## 主要功能
|
|
67
89
|
|
|
68
|
-
### 1. ArkTS
|
|
90
|
+
### 1. ArkTS 代码检查 check_ets_files
|
|
69
91
|
|
|
70
92
|
对指定的 `.ets` / `.ts` 文件执行静态诊断,返回语法错误、类型错误等诊断信息。
|
|
71
93
|
|
|
@@ -75,13 +97,31 @@ $env:DEVECO_PATH = "C:\Program Files\Huawei\DevEco Studio"
|
|
|
75
97
|
|
|
76
98
|
| 参数 | 类型 | 说明 |
|
|
77
99
|
|------|------|------|
|
|
78
|
-
| `files` | `string[]` |
|
|
100
|
+
| `files` | `string[]` | 待检查 ETS 文件路径列表 |
|
|
79
101
|
|
|
80
102
|
**实现原理:** 服务内嵌 arkts-lang-server JS 脚本,通过 Node.js 启动 LSP 代理进程,以 LSP 协议与 ArkTS 语言服务通信,收集诊断结果后返回。
|
|
81
103
|
|
|
82
104
|
---
|
|
83
105
|
|
|
84
|
-
### 2.
|
|
106
|
+
### 2. C/C++ 代码检查 check_cpp_files
|
|
107
|
+
|
|
108
|
+
对传入的 C/C++ 文件进行静态语法检查并返回 clangd 诊断信息。
|
|
109
|
+
|
|
110
|
+
**工具名称:** `check_cpp_files`
|
|
111
|
+
|
|
112
|
+
**参数:**
|
|
113
|
+
|
|
114
|
+
| 参数 | 类型 | 说明 |
|
|
115
|
+
|------|------|------|
|
|
116
|
+
| `files` | `string[]` | 待检查的 C/C++ 文件路径列表,格式为 `["file1.cpp","file2.hpp",...]` |
|
|
117
|
+
|
|
118
|
+
**实现原理:** 服务内嵌 clangd LSP wrapper JS 脚本,通过 Node.js 启动 LSP 代理进程,以 LSP 协议与 clangd 语言服务通信,收集诊断结果后返回。需要项目根目录下存在 `compile_commands.json` 文件。
|
|
119
|
+
|
|
120
|
+
**支持的文件类型:** `.c`, `.cc`, `.cpp`, `.cxx`, `.c++`, `.h`, `.hh`, `.hpp`, `.hxx`, `.h++`, `.ipp`, `.ixx`, `.inl`, `.inc`, `.tpp`
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
### 3. 构建 HAP/HSP/HAR build_project
|
|
85
125
|
|
|
86
126
|
调用 Hvigor 构建系统对 HarmonyOS 项目进行编译打包。
|
|
87
127
|
|
|
@@ -109,7 +149,7 @@ $env:DEVECO_PATH = "C:\Program Files\Huawei\DevEco Studio"
|
|
|
109
149
|
|
|
110
150
|
---
|
|
111
151
|
|
|
112
|
-
### 3.
|
|
152
|
+
### 3. 启动应用 start_app (仅 Windows / macOS)
|
|
113
153
|
|
|
114
154
|
在连接的真机或模拟器上安装并启动 HarmonyOS 应用。
|
|
115
155
|
|
|
@@ -128,7 +168,7 @@ $env:DEVECO_PATH = "C:\Program Files\Huawei\DevEco Studio"
|
|
|
128
168
|
|
|
129
169
|
---
|
|
130
170
|
|
|
131
|
-
### 4. UI
|
|
171
|
+
### 4. UI 树获取 get_app_ui_tree (Windows / macOS)
|
|
132
172
|
|
|
133
173
|
抓取设备当前界面的 UI 树信息,保存为 JSON 文件。
|
|
134
174
|
|
|
@@ -144,7 +184,7 @@ $env:DEVECO_PATH = "C:\Program Files\Huawei\DevEco Studio"
|
|
|
144
184
|
|
|
145
185
|
---
|
|
146
186
|
|
|
147
|
-
### 5. UI
|
|
187
|
+
### 5. UI 操作 perform_ui_action (Windows / macOS)
|
|
148
188
|
|
|
149
189
|
对设备屏幕执行模拟操作。
|
|
150
190
|
|
|
@@ -162,29 +202,7 @@ $env:DEVECO_PATH = "C:\Program Files\Huawei\DevEco Studio"
|
|
|
162
202
|
|
|
163
203
|
---
|
|
164
204
|
|
|
165
|
-
### 6.
|
|
166
|
-
|
|
167
|
-
基于自然语言测试用例计划,对已安装的应用执行自动化 UI 校验。
|
|
168
|
-
|
|
169
|
-
**工具名称:** `verifyUI`
|
|
170
|
-
|
|
171
|
-
| 参数 | 类型 | 说明 |
|
|
172
|
-
|------|------|------|
|
|
173
|
-
| `bundleName` | `string` | 待测试应用的包名 |
|
|
174
|
-
| `testPlan` | `string` | 自然语言描述的测试用例计划(包含步骤和预期结果) |
|
|
175
|
-
| `freshStart` | `boolean` | 是否在测试前重新启动应用 |
|
|
176
|
-
|
|
177
|
-
**工具名称:** `getLog`(获取校验运行日志)
|
|
178
|
-
|
|
179
|
-
| 参数 | 类型 | 说明 |
|
|
180
|
-
|------|------|------|
|
|
181
|
-
| `id` | `string` | 校验任务 ID |
|
|
182
|
-
| `maxLogSize` | `number` | 日志字符数上限,默认 5000,传 -1 不限制 |
|
|
183
|
-
| `searchKeywords` | `string` | 日志搜索关键词,传空字符串获取完整日志 |
|
|
184
|
-
|
|
185
|
-
---
|
|
186
|
-
|
|
187
|
-
### 7. HiLog 日志采集(Windows / macOS)
|
|
205
|
+
### 6. HiLog 日志采集 (Windows / macOS)
|
|
188
206
|
|
|
189
207
|
从真机或模拟器实时采集 HiLog 系统日志(或崩溃日志)。
|
|
190
208
|
|
|
@@ -199,11 +217,10 @@ $env:DEVECO_PATH = "C:\Program Files\Huawei\DevEco Studio"
|
|
|
199
217
|
| `domain` | 日志领域(如 `0xD002800`) |
|
|
200
218
|
| `bundleName` | 应用包名(自动获取 PID 过滤) |
|
|
201
219
|
| `keyword` | 关键字正则过滤(与 `tag` 互斥) |
|
|
202
|
-
| `logSize` | 日志缓冲区大小,范围 64K–16M,默认 4M |
|
|
203
220
|
|
|
204
221
|
---
|
|
205
222
|
|
|
206
|
-
###
|
|
223
|
+
### 7. HarmonyOS 知识库搜索 harmonyos_knowledge_search (Windows / macOS)
|
|
207
224
|
|
|
208
225
|
调用云端知识库,搜索 HarmonyOS 开发文档。
|
|
209
226
|
|
|
@@ -220,17 +237,149 @@ $env:DEVECO_PATH = "C:\Program Files\Huawei\DevEco Studio"
|
|
|
220
237
|
|
|
221
238
|
---
|
|
222
239
|
|
|
240
|
+
### 8. UI 自动化校验 verify_ui (仅 Windows / macOS)
|
|
241
|
+
|
|
242
|
+
> **注意**:此功能属于额外工具组,需设置环境变量 `ADDITIONAL_TOOL_GROUPS=ui_integration_test` 才能开启。
|
|
243
|
+
|
|
244
|
+
基于自然语言测试用例计划,在 HarmonyOS 设备上自动执行 UI 操作并验证结果。
|
|
245
|
+
|
|
246
|
+
**功能特性:**
|
|
247
|
+
|
|
248
|
+
- **自然语言驱动**:用中文描述测试步骤,无需编写代码
|
|
249
|
+
- **智能 UI 识别**:基于 AI 视觉分析自动识别界面元素
|
|
250
|
+
- **多种操作支持**:点击、滑动、输入文本、长按、启动应用等
|
|
251
|
+
- **实时截图验证**:每步操作后自动截图验证是否成功
|
|
252
|
+
- **截图保存**:可将每步截图保存到本地,便于复盘问题
|
|
253
|
+
- **日志记录**:详细的测试过程日志,便于问题排查
|
|
254
|
+
|
|
255
|
+
**环境要求:**
|
|
256
|
+
|
|
257
|
+
需配置以下环境变量以连接 AI 视觉模型服务(需支持 Function Call,如阿里云百炼 Qwen3-VL):
|
|
258
|
+
|
|
259
|
+
| 环境变量 | 说明 |
|
|
260
|
+
|----------|------|
|
|
261
|
+
| `UI_VERIFY_BASE_URL` | OpenAI 兼容接口地址 |
|
|
262
|
+
| `UI_VERIFY_API_KEY` | API Key |
|
|
263
|
+
| `UI_VERIFY_MODEL_NAME` | 模型名称(需支持视觉理解和 Function Call) |
|
|
264
|
+
|
|
265
|
+
**MCP 配置示例:**
|
|
266
|
+
|
|
267
|
+
```json
|
|
268
|
+
{
|
|
269
|
+
"mcpServers": {
|
|
270
|
+
"deveco-mcp": {
|
|
271
|
+
"command": "cmd",
|
|
272
|
+
"args": [
|
|
273
|
+
"/C",
|
|
274
|
+
"path/to/mcp-server.exe"
|
|
275
|
+
],
|
|
276
|
+
"env": {
|
|
277
|
+
"DEVECO_PATH": "path/to/DevEco Studio",
|
|
278
|
+
"PROJECT_PATH": "${workspaceFolder}",
|
|
279
|
+
"ADDITIONAL_TOOL_GROUPS": "ui_integration_test",
|
|
280
|
+
"UI_VERIFY_API_KEY": "your-api-key",
|
|
281
|
+
"UI_VERIFY_BASE_URL": "your-openai-compatible-base-url",
|
|
282
|
+
"UI_VERIFY_MODEL_NAME": "your-model-name"
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
**工具名称:** `verify_ui`(执行 UI 校验)
|
|
292
|
+
|
|
293
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
294
|
+
|------|------|------|------|
|
|
295
|
+
| `bundleName` | `string` | 否 | 待测试应用的包名,不填时自动从项目 `AppScope/app.json5` 中获取 |
|
|
296
|
+
| `testPlan` | `string` | 是 | 自然语言描述的测试用例计划,包含每步操作和预期结果 |
|
|
297
|
+
| `freshStart` | `boolean` | 否 | 是否在测试前重新启动应用,默认 `false` |
|
|
298
|
+
|
|
299
|
+
返回字段:`successPart`(成功步骤描述)、`failPart`(失败步骤描述)、`id`(校验任务 ID,供后续查日志或截图使用)。
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
303
|
+
**工具名称:** `get_ui_verification_log`(获取校验运行日志)
|
|
304
|
+
|
|
305
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
306
|
+
|------|------|------|------|
|
|
307
|
+
| `id` | `string` | 是 | 校验任务 ID |
|
|
308
|
+
| `maxLogSize` | `number` | 否 | 日志字符数上限,默认 5000,传 -1 不限制 |
|
|
309
|
+
| `searchKeywords` | `string` | 否 | 日志搜索关键词,传空字符串获取完整日志 |
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
**工具名称:** `save_ui_screenshot`(保存校验截图)
|
|
314
|
+
|
|
315
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
316
|
+
|------|------|------|------|
|
|
317
|
+
| `id` | `string` | 是 | 校验任务 ID |
|
|
318
|
+
| `dirname` | `string` | 是 | 截图保存目录(必须为绝对路径) |
|
|
319
|
+
|
|
320
|
+
返回该次校验每步操作的截图文件名列表。
|
|
321
|
+
|
|
322
|
+
---
|
|
323
|
+
|
|
324
|
+
### 9. 项目同步 project_sync
|
|
325
|
+
|
|
326
|
+
执行项目同步。包含 ohpm install 依赖安装和 hvigor 工程同步。通常在项目初始化或修改依赖配置后使用。
|
|
327
|
+
|
|
328
|
+
**工具名称:** `project_sync`
|
|
329
|
+
|
|
330
|
+
**参数:**
|
|
331
|
+
|
|
332
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
333
|
+
|------|------|------|------|
|
|
334
|
+
| `product` | `string` | 否 | 指定的 Product 名称。如果不传,默认为 'default'。 |
|
|
335
|
+
| `skip_ohpm_install` | `boolean` | 否 | 是否跳过 ohpm install。若环境中已安装依赖或遇到文件锁冲突,可设为 true。 |
|
|
336
|
+
| `log_path` | `string` | 否 | sync 日志保存路径:若指定,则将所有的同步日志保存到该路径下。 |
|
|
337
|
+
|
|
338
|
+
---
|
|
339
|
+
|
|
340
|
+
### 10. 初始化工程路径 init_project_path
|
|
341
|
+
|
|
342
|
+
当依赖工程路径的工具(如 ArkTS 代码检查、构建、sync等)因未配置工程路径而执行失败时,调用此工具来初始化或更新工程根目录路径。
|
|
343
|
+
|
|
344
|
+
**工具名称:** `init_project_path`
|
|
345
|
+
|
|
346
|
+
**参数:**
|
|
347
|
+
|
|
348
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
349
|
+
|------|------|------|------|
|
|
350
|
+
| `project_path` | `string` | 是 | 工程根目录的绝对路径 |
|
|
351
|
+
|
|
352
|
+
---
|
|
353
|
+
|
|
354
|
+
**最佳实践:**
|
|
355
|
+
|
|
356
|
+
在 AI 助手中配置好 MCP 后,建议在测试过程中加入以下指引,让 AI 自动串联完整开发测试流程:
|
|
357
|
+
|
|
358
|
+
```
|
|
359
|
+
开发完成后,请按以下流程完成验证:
|
|
360
|
+
1. 调用 build_project 编译构建项目
|
|
361
|
+
2. 调用 start_app 将应用安装并启动到设备
|
|
362
|
+
3. 调用 verify_ui 执行功能验证,用自然语言描述测试步骤和预期结果
|
|
363
|
+
4. 若验证失败,根据 failPart 描述定位问题,修复后重新执行上述流程,直到验证通过
|
|
364
|
+
5. 如需查看详细日志,使用 get_ui_verification_log 获取运行日志
|
|
365
|
+
6. 如需查看每步截图,使用 save_ui_screenshot 将截图保存到本地目录
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
---
|
|
369
|
+
|
|
370
|
+
|
|
223
371
|
## 平台支持
|
|
224
372
|
|
|
225
373
|
| 功能 | Windows | macOS |
|
|
226
374
|
|------|:-------:|:-----:|
|
|
227
375
|
| ArkTS 代码检查 | ✅ | ✅ |
|
|
376
|
+
| C/C++ 代码检查 | ✅ | ✅ |
|
|
228
377
|
| 构建 HAP/HSP/HAR | ✅ | ✅ |
|
|
229
378
|
| 启动应用 | ✅ | ✅ |
|
|
230
379
|
| UI 树获取 | ✅ | ✅ |
|
|
231
380
|
| UI 操作 | ✅ | ✅ |
|
|
232
|
-
| UI 自动化校验 | ✅ | ✅ |
|
|
233
381
|
| HiLog 日志采集 | ✅ | ✅ |
|
|
234
382
|
| 知识库搜索 | ✅ | ✅ |
|
|
383
|
+
| UI 自动化校验 | ✅ | ✅ |
|
|
235
384
|
|
|
236
385
|
---
|