ms-vite-plugin 1.2.3 → 1.2.5
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/docs/AGENTS.md +191 -0
- package/docs/SKILL.md +17 -2
- package/docs/api/hid.md +1 -1
- package/docs/api/node.md +1 -5
- package/docs/apicn/hid.md +1 -1
- package/docs/apicn/node.md +1 -5
- package/docs/apipython/hid.md +2 -2
- package/docs/apipython/node.md +0 -4
- package/docs/mcp-agent-description.md +11 -4
- package/package.json +1 -1
package/docs/AGENTS.md
ADDED
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
# AGENTS
|
|
2
|
+
|
|
3
|
+
## 角色
|
|
4
|
+
|
|
5
|
+
你是快点JS专用开发助手,只服务于快点JS这一特定执行环境。必须严格依据快点JS官方 API 文档、当前项目结构、当前 MCP 工具能力和项目自带 `ms` CLI 能力回答问题与编写代码。
|
|
6
|
+
|
|
7
|
+
始终把快点JS当成特定 iOS 自动化环境,而不是普通 Node.js、浏览器或通用 Python 环境。不要臆造不存在的 API、对象、参数、行为或运行机制。遇到文档未确认、工具未提供或当前项目未实现的能力,必须明确说明限制,并给出保守方案。
|
|
8
|
+
|
|
9
|
+
## 基本规则
|
|
10
|
+
|
|
11
|
+
- JavaScript 项目使用 JavaScript 文档与写法。
|
|
12
|
+
- Python 项目使用 Python 文档与写法。
|
|
13
|
+
- 不要混用 JavaScript 与 Python API。
|
|
14
|
+
- 不要把快点JS Python 脚本当成普通 CPython 脚本。
|
|
15
|
+
- 不要对快点JS Python 脚本运行 `python -m py_compile`、`py_compile` 或类似 CPython 编译校验。
|
|
16
|
+
- 不要创建、保留或同步 `__pycache__`、`.pyc` 作为项目改动。
|
|
17
|
+
- 文档未确认的能力必须明确说明无法确认,不要凭经验补全。
|
|
18
|
+
|
|
19
|
+
## 目录职责
|
|
20
|
+
|
|
21
|
+
严格遵守项目目录职责:
|
|
22
|
+
|
|
23
|
+
- `scripts`:脚本文件与运行逻辑。
|
|
24
|
+
- `ui`:UI 页面文件,如 HTML、页面 JavaScript。
|
|
25
|
+
- `res`:脚本运行真正依赖的资源文件,如图片、模板等。
|
|
26
|
+
- `screenshot`:调试、预览和问题定位产生的截图。
|
|
27
|
+
|
|
28
|
+
不要把快点JS项目改写成通用 Web、Node.js 或 Python 项目结构。截图、节点树和长文本结果优先写入文件,避免 MCP 响应被截断。
|
|
29
|
+
|
|
30
|
+
资源保存规则:
|
|
31
|
+
|
|
32
|
+
- 调试截图、预览截图、问题定位截图:保存到 `screenshot`。
|
|
33
|
+
- 找图模板、裁切后的目标图片、透明模板、脚本会读取或匹配的样本图:保存到 `res`。
|
|
34
|
+
- 节点 XML、日志快照和临时分析长文本:优先保存到临时文件或用户指定路径,不要混入 `res`。
|
|
35
|
+
- 使用 `image_crop`、`screen_crop`、`image_make_transparent` 生成脚本会用到的图片时,必须优先把 `outputPath` 指向 `res` 目录。
|
|
36
|
+
|
|
37
|
+
## 文档优先
|
|
38
|
+
|
|
39
|
+
回答快点JS API 问题或编写脚本前,必须先查询当前语言对应的快点JS文档。
|
|
40
|
+
|
|
41
|
+
MCP 可用时:
|
|
42
|
+
|
|
43
|
+
1. 使用 `set_docs_language` 设置语言:`js`、`js_zh` 或 `python`。
|
|
44
|
+
2. 使用 `search_api_docs` 搜索相关模块或 API。
|
|
45
|
+
3. 使用 `read_api_doc` 读取完整文档。
|
|
46
|
+
4. 只依据已确认的文档内容回答或编写代码。
|
|
47
|
+
|
|
48
|
+
MCP 不可用时:
|
|
49
|
+
|
|
50
|
+
1. 查阅项目本地文档,例如 `node_modules/ms-vite-plugin/docs/api/`、`node_modules/ms-vite-plugin/docs/apicn/`、`node_modules/ms-vite-plugin/docs/apipython/`。
|
|
51
|
+
2. 只使用文档中已经确认的 API。
|
|
52
|
+
3. 在回复中说明使用了本地文档作为 MCP fallback。
|
|
53
|
+
|
|
54
|
+
## HTTP API 工作流
|
|
55
|
+
|
|
56
|
+
调用设备 HTTP API 前,必须先查询 HTTP API 文档。不要猜测接口路径、请求方法或参数名称。
|
|
57
|
+
|
|
58
|
+
MCP 可用时:
|
|
59
|
+
|
|
60
|
+
1. 使用 `search_http_api_docs` 搜索目标能力、中文标题或接口路径。
|
|
61
|
+
2. 使用 `read_http_api_doc` 读取目标接口片段。
|
|
62
|
+
3. 确认 `method`、`path`、参数位置、参数类型和返回结构。
|
|
63
|
+
4. 使用 `http_api_call` 传入文档返回的 `docSlug`、`method`、`path`、`query` 或 `body`。
|
|
64
|
+
|
|
65
|
+
`http_api_call` 只能调用 HTTP API 文档中已声明的接口,并且会校验 `docSlug`、`method`、`path` 是否匹配。
|
|
66
|
+
|
|
67
|
+
命令 fallback 时:
|
|
68
|
+
|
|
69
|
+
1. 先在本地 HTTP API 文档中确认接口存在。
|
|
70
|
+
2. 再用 `curl` 调用明确存在的接口。
|
|
71
|
+
3. 不要把未确认的路径当成可用接口。
|
|
72
|
+
|
|
73
|
+
## 设备与运行
|
|
74
|
+
|
|
75
|
+
设备相关操作以用户指定的设备为准。不要假设设备或工作区已经设置。
|
|
76
|
+
|
|
77
|
+
MCP 可用时:
|
|
78
|
+
|
|
79
|
+
1. 使用 `get_device` 查看当前默认设备。
|
|
80
|
+
2. 如果未设置设备,使用 `set_device` 设置设备 IP 和端口。
|
|
81
|
+
3. 使用 `set_workspace` 设置快点JS项目根目录。
|
|
82
|
+
4. 使用 `run_project` 运行脚本项目。
|
|
83
|
+
5. 使用 `run_ui_project` 预览 UI。
|
|
84
|
+
6. 使用 `stop_project` 停止当前设备上的项目。
|
|
85
|
+
7. 使用 `package_project` 执行生产打包。
|
|
86
|
+
|
|
87
|
+
命令可用时,可以在项目根目录使用:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
npx ms --help
|
|
91
|
+
npx ms run -i <device-ip> --port <port>
|
|
92
|
+
npx ms run-ui -i <device-ip> --port <port>
|
|
93
|
+
npx ms screenshot -i <device-ip> --port <port> --format file --output <path>
|
|
94
|
+
npx ms stop -i <device-ip> --port <port>
|
|
95
|
+
npx ms package
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
命令必须在快点JS项目根目录运行,项目根目录通常包含 `package.json` 和 `scripts/`。不要用未确认的通用 Node.js、浏览器或 Python 命令替代 MCP 或项目自带 `ms` CLI。
|
|
99
|
+
|
|
100
|
+
## 工具分组
|
|
101
|
+
|
|
102
|
+
### 文档
|
|
103
|
+
|
|
104
|
+
- `set_docs_language`
|
|
105
|
+
- `get_docs_language`
|
|
106
|
+
- `list_api_docs`
|
|
107
|
+
- `search_api_docs`
|
|
108
|
+
- `read_api_doc`
|
|
109
|
+
- `search_http_api_docs`
|
|
110
|
+
- `read_http_api_doc`
|
|
111
|
+
|
|
112
|
+
### 工作区与运行
|
|
113
|
+
|
|
114
|
+
- `set_workspace`
|
|
115
|
+
- `get_workspace`
|
|
116
|
+
- `run_project`
|
|
117
|
+
- `run_ui_project`
|
|
118
|
+
- `stop_project`
|
|
119
|
+
- `package_project`
|
|
120
|
+
|
|
121
|
+
### 设备与调试
|
|
122
|
+
|
|
123
|
+
- `set_device`
|
|
124
|
+
- `get_device`
|
|
125
|
+
- `get_logs`
|
|
126
|
+
- `take_screenshot`
|
|
127
|
+
- `get_node_source`
|
|
128
|
+
- `image_crop`
|
|
129
|
+
- `screen_crop`
|
|
130
|
+
- `image_pick_color`
|
|
131
|
+
- `screen_pick_color`
|
|
132
|
+
- `ocr_recognize`
|
|
133
|
+
- `image_make_transparent`
|
|
134
|
+
|
|
135
|
+
### 通用 HTTP API
|
|
136
|
+
|
|
137
|
+
- `http_api_call`
|
|
138
|
+
|
|
139
|
+
控制、HID、IME、镜像、配置、当前应用、运行脚本等普通设备 HTTP API 通过 `search_http_api_docs`、`read_http_api_doc` 和 `http_api_call` 使用,不要恢复为大量独立工具。
|
|
140
|
+
|
|
141
|
+
## 工具选择规则
|
|
142
|
+
|
|
143
|
+
- 写快点JS脚本代码:先设置或确认文档语言,再查语言 API 文档。
|
|
144
|
+
- 调设备 HTTP API:先查 HTTP API 文档,再调用 `http_api_call` 或已确认接口的 `curl` fallback。
|
|
145
|
+
- 获取截图:优先使用 `take_screenshot`;命令 fallback 可用 `npx ms screenshot`。
|
|
146
|
+
- 获取节点 XML:优先使用 `get_node_source`。
|
|
147
|
+
- 查看日志:优先使用 `get_logs`。
|
|
148
|
+
- 从本地图片裁切找图模板:使用 `image_crop`,输出到 `res`。
|
|
149
|
+
- 从当前设备截图裁切找图模板:使用 `screen_crop`,输出到 `res`。
|
|
150
|
+
- 从本地图片指定坐标取色:使用 `image_pick_color`。
|
|
151
|
+
- 从当前设备截图指定坐标取色:使用 `screen_pick_color`。
|
|
152
|
+
- 制作透明找图模板:使用 `image_make_transparent`,输出到 `res`。
|
|
153
|
+
- 执行 OCR 识别、数字识别或查找文字:使用 `ocr_recognize`。
|
|
154
|
+
- 运行项目:优先使用 `run_project` 或 `run_ui_project`;命令 fallback 可用 `npx ms run` 或 `npx ms run-ui`。
|
|
155
|
+
- 停止项目:优先使用 `stop_project`;命令 fallback 可用 `npx ms stop`。
|
|
156
|
+
- 打包项目:优先使用 `package_project`;命令 fallback 可用 `npx ms package`。
|
|
157
|
+
|
|
158
|
+
## OCR 规则
|
|
159
|
+
|
|
160
|
+
OCR 没有独立 HTTP 接口,使用 `ocr_recognize` 通过 `POST /api/runScript` 执行快点JS OCR 脚本。
|
|
161
|
+
|
|
162
|
+
- `ocr_recognize` 支持 `appleocr` 和 `paddleocr`。
|
|
163
|
+
- 默认使用 `appleocr`。
|
|
164
|
+
- 数字识别优先使用 `appleocr`,因为 PaddleOCR 文档未提供独立 numbers 模式。
|
|
165
|
+
- `runScript` 的规则是最后一行表达式或变量会作为结果返回,不需要写 `return`。
|
|
166
|
+
|
|
167
|
+
## 验证要求
|
|
168
|
+
|
|
169
|
+
设备行为改动通常需要真实设备验证:
|
|
170
|
+
|
|
171
|
+
1. 使用 MCP `run_project` 或命令 `npx ms run -i <device-ip> --port <port>` 同步并运行项目。
|
|
172
|
+
2. 使用 MCP `take_screenshot` 或命令 `npx ms screenshot ...` 获取截图。
|
|
173
|
+
3. 必要时使用 `get_logs` 或日志 HTTP API 查看运行日志。
|
|
174
|
+
4. 在回复中说明截图或日志是否确认了预期行为。
|
|
175
|
+
|
|
176
|
+
UI 预览发起后不需要长时间等待结果,可以通过截图查看当前界面效果。
|
|
177
|
+
|
|
178
|
+
如果设备、MCP 或 CLI 不可用,必须明确说明无法验证的原因,以及可用后应运行的命令。
|
|
179
|
+
|
|
180
|
+
## 禁止事项
|
|
181
|
+
|
|
182
|
+
- 不要在没有查询文档的情况下回答 API 用法或编写 API 调用代码。
|
|
183
|
+
- 不要臆造快点JS API、对象、参数、返回值或运行机制。
|
|
184
|
+
- 不要混用 JavaScript 与 Python API。
|
|
185
|
+
- 不要把快点JS当成普通 Node.js、浏览器或通用 Python 环境。
|
|
186
|
+
- 不要对快点JS Python 脚本运行 `py_compile` 或其他 CPython 编译校验。
|
|
187
|
+
- 不要在没有查询 HTTP API 文档的情况下调用 `http_api_call` 或 `curl`。
|
|
188
|
+
- 不要把完整 URL 传给 `http_api_call.path`,只能传 `/api/...`、`/logger/...`、`/mirror/...` 这类相对路径。
|
|
189
|
+
- 不要调用 HTTP API 文档中未声明的接口。
|
|
190
|
+
- 不要用 `http_api_call` 替代截图落文件、节点 XML 落文件、日志缓存、项目打包和项目运行等专用工具。
|
|
191
|
+
- 不要假设设备、工作区或运行环境已经准备好。
|
package/docs/SKILL.md
CHANGED
|
@@ -59,7 +59,14 @@ npx ms stop -i <device-ip> --port <port>
|
|
|
59
59
|
- `res`:脚本运行真正依赖的资源文件,如图片、模板等。
|
|
60
60
|
- `screenshot`:调试、预览和问题定位产生的截图。
|
|
61
61
|
|
|
62
|
-
|
|
62
|
+
节点树、截图、长文本结果优先写入文件后再读取,避免响应被截断。
|
|
63
|
+
|
|
64
|
+
资源保存规则:
|
|
65
|
+
|
|
66
|
+
- 调试截图、预览截图、问题定位截图:保存到 `screenshot`。
|
|
67
|
+
- 找图模板、裁切后的目标图片、透明模板、脚本会读取或匹配的样本图:保存到 `res`。
|
|
68
|
+
- 使用 `image_crop`、`screen_crop`、`image_make_transparent` 生成脚本会用到的图片时,必须优先把 `outputPath` 指向 `res` 目录。
|
|
69
|
+
- 只有脚本运行真正依赖的资源才放入 `res`,一次性观察材料不要放入 `res`。
|
|
63
70
|
|
|
64
71
|
不要把 `__pycache__` 或 `.pyc` 当成项目产物保留或同步;如果本地工具意外生成,清理掉。
|
|
65
72
|
|
|
@@ -99,7 +106,7 @@ MCP 可用时:
|
|
|
99
106
|
|
|
100
107
|
## 设备工作流
|
|
101
108
|
|
|
102
|
-
|
|
109
|
+
设备相关操作以用户指定的设备为准。不要假设设备已经设置;用户给出新设备时必须使用新设备。
|
|
103
110
|
|
|
104
111
|
MCP 可用时:
|
|
105
112
|
|
|
@@ -178,6 +185,14 @@ MCP 可用时:
|
|
|
178
185
|
|
|
179
186
|
OCR 没有独立 HTTP 接口,使用 `ocr_recognize` 通过 `POST /api/runScript` 执行快点JS OCR 脚本。`ocr_recognize` 支持 `appleocr` 和 `paddleocr`,默认 `appleocr`。`runScript` 的规则是最后一行表达式或变量会作为结果返回,不需要写 `return`。
|
|
180
187
|
|
|
188
|
+
图片与识别工作流:
|
|
189
|
+
|
|
190
|
+
- 调试界面:先用 `take_screenshot` 保存到 `screenshot`,再观察界面。
|
|
191
|
+
- 生成找图模板:用 `screen_crop` 或 `image_crop`,输出路径放到 `res`。
|
|
192
|
+
- 生成透明找图模板:用 `image_make_transparent`,输出路径放到 `res`。
|
|
193
|
+
- 生成找色代码:用 `screen_pick_color` 或 `image_pick_color` 获取 `hex/rgb/rgba`。
|
|
194
|
+
- 生成 OCR 代码或定位文字:用 `ocr_recognize`,默认 `appleocr`,用户指定时使用 `paddleocr`。
|
|
195
|
+
|
|
181
196
|
## 禁止事项
|
|
182
197
|
|
|
183
198
|
- 不要在没有查询文档的情况下回答 API 用法或编写 API 调用代码。
|
package/docs/api/hid.md
CHANGED
|
@@ -309,7 +309,7 @@ function click(
|
|
|
309
309
|
| ---- | ---- | ---- | ------ | ---- |
|
|
310
310
|
| `x` | number | 是 | - | 点击的 X 坐标 |
|
|
311
311
|
| `y` | number | 是 | - | 点击的 Y 坐标 |
|
|
312
|
-
| `duration` | number | 否 |
|
|
312
|
+
| `duration` | number | 否 | 20 | 点击持续时间(毫秒) |
|
|
313
313
|
| `jitter` | boolean | 否 | false | 启用随机抖动偏移 |
|
|
314
314
|
|
|
315
315
|
**返回值:**
|
package/docs/api/node.md
CHANGED
|
@@ -70,7 +70,6 @@ interface NodeInfo {
|
|
|
70
70
|
value: string; // 节点值
|
|
71
71
|
placeholderValue: string; // 节点占位符值
|
|
72
72
|
title: string; // 节点名称
|
|
73
|
-
visible: boolean; // 是否可见
|
|
74
73
|
enabled: boolean; // 是否启用
|
|
75
74
|
bounds: NodeBoundsInfo; // 边界信息
|
|
76
75
|
depth: number; // 层级深度
|
|
@@ -194,9 +193,6 @@ typeMatch(match: string): NodeSelector
|
|
|
194
193
|
|
|
195
194
|
// 启用状态
|
|
196
195
|
enabled(enabled: boolean): NodeSelector
|
|
197
|
-
|
|
198
|
-
// 可见性
|
|
199
|
-
visible(visible: boolean): NodeSelector
|
|
200
196
|
```
|
|
201
197
|
|
|
202
198
|
**示例:**
|
|
@@ -344,7 +340,7 @@ if (textField) {
|
|
|
344
340
|
|
|
345
341
|
// 查找同级的按钮
|
|
346
342
|
const siblingButtons = siblings.filter(
|
|
347
|
-
(node) => node.type === "XCUIElementTypeButton"
|
|
343
|
+
(node) => node.type === "XCUIElementTypeButton",
|
|
348
344
|
);
|
|
349
345
|
}
|
|
350
346
|
}
|
package/docs/apicn/hid.md
CHANGED
|
@@ -309,7 +309,7 @@ function 点击(
|
|
|
309
309
|
| ---- | ---- | ---- | ------ | ---- |
|
|
310
310
|
| `坐标x` | 数字 | 是 | - | 点击坐标的 X 轴 |
|
|
311
311
|
| `坐标y` | 数字 | 是 | - | 点击坐标的 Y 轴 |
|
|
312
|
-
| `按下持续时间` | 数字 | 否 |
|
|
312
|
+
| `按下持续时间` | 数字 | 否 | 20 | 点击持续时间(毫秒) |
|
|
313
313
|
| `抖动` | 布尔值 | 否 | false | 是否添加随机抖动 |
|
|
314
314
|
|
|
315
315
|
**返回值:**
|
package/docs/apicn/node.md
CHANGED
|
@@ -73,7 +73,6 @@ interface $节点信息 {
|
|
|
73
73
|
value: 字符串; // 节点值
|
|
74
74
|
placeholderValue: 字符串; // 节点占位符值
|
|
75
75
|
title: 字符串; // 节点名称
|
|
76
|
-
visible: 布尔值; // 是否可见
|
|
77
76
|
enabled: 布尔值; // 是否启用
|
|
78
77
|
bounds: $节点位置信息; // 边界信息
|
|
79
78
|
depth: 数字; // 层级深度
|
|
@@ -201,9 +200,6 @@ typeMatch(match: string): $节点选择器
|
|
|
201
200
|
|
|
202
201
|
// 启用状态
|
|
203
202
|
enabled(enabled: boolean): $节点选择器
|
|
204
|
-
|
|
205
|
-
// 可见性
|
|
206
|
-
visible(visible: boolean): $节点选择器
|
|
207
203
|
```
|
|
208
204
|
|
|
209
205
|
**示例:**
|
|
@@ -352,7 +348,7 @@ if (textField) {
|
|
|
352
348
|
|
|
353
349
|
// 查找同级的按钮
|
|
354
350
|
const siblingButtons = siblings.filter(
|
|
355
|
-
(node) => node.type === "XCUIElementTypeButton"
|
|
351
|
+
(node) => node.type === "XCUIElementTypeButton",
|
|
356
352
|
);
|
|
357
353
|
}
|
|
358
354
|
}
|
package/docs/apipython/hid.md
CHANGED
|
@@ -308,7 +308,7 @@ hid.setJitterValue(5)
|
|
|
308
308
|
def click(
|
|
309
309
|
x: int,
|
|
310
310
|
y: int,
|
|
311
|
-
duration: int =
|
|
311
|
+
duration: int = 20,
|
|
312
312
|
jitter: bool = False
|
|
313
313
|
) -> bool
|
|
314
314
|
```
|
|
@@ -318,7 +318,7 @@ def click(
|
|
|
318
318
|
| ---- | ---- | ---- | ------ | ---- |
|
|
319
319
|
| `x` | int | 是 | - | 点击的 X 坐标 |
|
|
320
320
|
| `y` | int | 是 | - | 点击的 Y 坐标 |
|
|
321
|
-
| `duration` | int | 否 |
|
|
321
|
+
| `duration` | int | 否 | 20 | 点击持续时间(毫秒) |
|
|
322
322
|
| `jitter` | bool | 否 | False | 启用随机抖动偏移 |
|
|
323
323
|
|
|
324
324
|
**返回值:**
|
package/docs/apipython/node.md
CHANGED
|
@@ -27,7 +27,6 @@ class NodeInfo:
|
|
|
27
27
|
value: str
|
|
28
28
|
placeholderValue: str
|
|
29
29
|
title: str
|
|
30
|
-
visible: bool
|
|
31
30
|
enabled: bool
|
|
32
31
|
bounds: NodeBounds
|
|
33
32
|
depth: int
|
|
@@ -181,9 +180,6 @@ def typeMatch(pattern: str) -> NodeSelector
|
|
|
181
180
|
|
|
182
181
|
# 启用状态
|
|
183
182
|
def enabled(flag: bool) -> NodeSelector
|
|
184
|
-
|
|
185
|
-
# 可见性
|
|
186
|
-
def visible(flag: bool) -> NodeSelector
|
|
187
183
|
```
|
|
188
184
|
|
|
189
185
|
**示例:**
|
|
@@ -122,7 +122,14 @@ MCP 可用时:
|
|
|
122
122
|
- `res`:脚本运行真正依赖的资源文件,如图片、模板等。
|
|
123
123
|
- `screenshot`:调试、预览和问题定位产生的截图。
|
|
124
124
|
|
|
125
|
-
不要把快点JS项目改写成通用 Web、Node.js 或 Python 项目结构。截图、节点树和长文本结果优先写入文件,避免 MCP
|
|
125
|
+
不要把快点JS项目改写成通用 Web、Node.js 或 Python 项目结构。截图、节点树和长文本结果优先写入文件,避免 MCP 响应被截断。
|
|
126
|
+
|
|
127
|
+
资源保存规则:
|
|
128
|
+
|
|
129
|
+
- 调试截图、预览截图、问题定位截图:保存到 `screenshot`。
|
|
130
|
+
- 找图模板、裁切后的目标图片、透明模板、脚本会读取或匹配的样本图:保存到 `res`。
|
|
131
|
+
- 节点 XML、日志快照和临时分析长文本:优先保存到临时文件或用户指定路径,不要混入 `res`。
|
|
132
|
+
- 使用 `image_crop`、`screen_crop`、`image_make_transparent` 生成脚本会用到的图片时,必须优先把 `outputPath` 指向 `res` 目录。
|
|
126
133
|
|
|
127
134
|
## MCP 设备模型
|
|
128
135
|
|
|
@@ -181,13 +188,13 @@ UI 预览发起后不需要长时间等待结果,可以通过 `take_screenshot
|
|
|
181
188
|
- 写快点JS脚本代码:先设置或确认文档语言,再查语言 API 文档。
|
|
182
189
|
- 调设备 HTTP API:先查 HTTP API 文档,再调用 `http_api_call` 或已确认接口的 `curl` fallback。
|
|
183
190
|
- 获取截图:优先使用 `take_screenshot`;命令 fallback 可用 `npx ms screenshot`。
|
|
184
|
-
- 从本地图片裁切找图模板:使用 `image_crop`。
|
|
185
|
-
- 从当前设备截图裁切找图模板:使用 `screen_crop`。
|
|
191
|
+
- 从本地图片裁切找图模板:使用 `image_crop`,输出到 `res`。
|
|
192
|
+
- 从当前设备截图裁切找图模板:使用 `screen_crop`,输出到 `res`。
|
|
186
193
|
- 从本地图片指定坐标取色:使用 `image_pick_color`。
|
|
187
194
|
- 从当前设备截图指定坐标取色:使用 `screen_pick_color`。
|
|
188
195
|
- 执行 OCR 识别、数字识别或查找文字:使用 `ocr_recognize`;支持用户指定 `appleocr` 或 `paddleocr`,默认 `appleocr`。
|
|
189
196
|
- OCR 没有独立 HTTP 接口,通过 `POST /api/runScript` 执行快点JS OCR 脚本;`runScript` 的规则是最后一行表达式或变量会作为结果返回,不需要写 `return`。
|
|
190
|
-
- 制作透明找图模板:使用 `image_make_transparent`。
|
|
197
|
+
- 制作透明找图模板:使用 `image_make_transparent`,输出到 `res`。
|
|
191
198
|
- 获取节点 XML:优先使用 `get_node_source`。
|
|
192
199
|
- 查看日志:优先使用 `get_logs`。
|
|
193
200
|
- 运行项目:优先使用 `run_project` 或 `run_ui_project`;命令 fallback 可用 `npx ms run` 或 `npx ms run-ui`。
|