@whuanle/easytouch-windows 1.0.5 → 1.0.6

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.
Files changed (3) hide show
  1. package/README.md +450 -434
  2. package/et.exe +0 -0
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -1,434 +1,450 @@
1
- # EasyTouch (et)
2
-
3
- 跨平台系统自动化操作工具,支持 Windows、Linux、macOS。提供 CLI 命令行和 MCP 服务器两种使用方式,支持鼠标键盘控制、屏幕截图、窗口管理、系统信息查询、浏览器操作等功能。
4
-
5
- 目前:
6
-
7
- - [x] Windows
8
- - [ ] Linux
9
- - [ ] MAC(目前缺少设备验证功能)
10
-
11
-
12
-
13
- ## 功能概览
14
-
15
- | 模块 | 功能 |
16
- |------|------|
17
- | 🖱️ 鼠标控制 | 移动、点击、滚动、获取位置 |
18
- | ⌨️ 键盘控制 | 按键、组合键、文本输入 |
19
- | 📷 屏幕操作 | 截图、获取像素颜色、多显示器支持 |
20
- | 🪟 窗口管理 | 列出、查找、激活窗口 |
21
- | 🖥️ 系统信息 | CPU、内存、磁盘、进程 |
22
- | 📋 剪贴板 | 文本读写、文件列表 |
23
- | 🌐 浏览器控制 | 启动浏览器、页面导航、元素交互、截图 |
24
-
25
-
26
-
27
- 提示:在 Linux 里,由于桌面环境差异很大,有些功能在某些桌面系统下可能不可用,详见 [Linux](#Linux) 环境说明。
28
-
29
-
30
-
31
- ### 安装
32
-
33
- ```bash
34
- # Windows
35
- npm i @whuanle/easytouch-windows
36
-
37
- # Linux
38
- npm i @whuanle/easytouch-linux
39
-
40
- # macOS
41
- npm i @whuanle/easytouch-mac
42
- ```
43
-
44
-
45
-
46
- 或者从[https://github.com/whuanle/EasyTouch/releases](https://github.com/whuanle/EasyTouch/releases)下载对应平台的可执行文件,并添加环境变量。
47
-
48
-
49
-
50
- 执行 `et --help` 命令测试是否正常工作:
51
-
52
- ```
53
- PS E:\workspace\EasyTouch> et --help
54
- EasyTouch Windows Automation Tool
55
-
56
- Usage: et <command> [options]
57
-
58
- Commands:
59
- mouse_move --x <n> --y <n> [--relative] [--duration <ms>]
60
- mouse_click [--button left|right|middle] [--double]
61
- mouse_position
62
- key_press --key <key>
63
- type_text --text <text> [--interval <ms>] [--human]
64
- screenshot [--output <path>] [--x <n>] [--y <n>] [--width <n>] [--height <n>]
65
- pixel_color --x <n> --y <n>
66
- window_list [--visible-only] [--filter <text>]
67
- window_find [--title <text>] [--class <name>] [--pid <n>]
68
- window_activate --title <text> | --handle <n>
69
- window_foreground
70
- os_info, cpu_info, memory_info, disk_list
71
- process_list [--filter <text>]
72
- clipboard_get_text, clipboard_set_text --text <text>
73
-
74
- help Show this help
75
- version Show version
76
- {"success":true}
77
- ```
78
-
79
-
80
-
81
- ### 浏览器操作支持
82
-
83
- Windows / Linux / macOS 三端都已统一使用 `Microsoft.Playwright`(.NET),不再依赖外部 Node.js Playwright 包。
84
- 支持浏览器:`chromium` / `firefox` / `webkit` / `edge`(`edge` 走 Chromium 通道 `msedge`)。
85
-
86
- 首次使用浏览器功能时,程序会自动尝试安装对应浏览器内核(Chromium/Firefox/WebKit),无需手动执行 `npx playwright install`。
87
-
88
- 如果你希望提前安装,可以直接执行一次浏览器命令触发安装:
89
-
90
- ```bash
91
- et browser_launch --browser chromium --headless true
92
- ```
93
-
94
-
95
-
96
- 新增的 Web 自动化与测试能力(MCP)包括:
97
-
98
- - `browser_assert_text`:断言页面或元素文本(适合测试)
99
- - `browser_page_info`:读取页面标题、滚动位置、视口与文档尺寸
100
- - `browser_go_back` / `browser_go_forward` / `browser_reload`
101
- - `browser_scroll`:页面或元素滚动
102
- - `browser_select`:选择下拉项
103
- - `browser_upload`:文件上传
104
- - `browser_get_cookies` / `browser_set_cookie` / `browser_clear_cookies`
105
- - `browser_run_script`:执行本地 JS/TS Playwright 测试脚本文件
106
-
107
- `browser_run_script` 用于执行 AI 生成或手写的 Playwright 测试脚本(如 `.spec.ts` / `.spec.js`),并返回退出码。
108
- 常见参数:
109
- - `--script-path`:脚本文件路径(必填)
110
- - `--browser`:`chromium` / `firefox` / `webkit` / `edge`
111
- - `--headless`:是否无头(默认 `true`)
112
- - `--timeout`:测试超时(毫秒)
113
- - `--extra-args`:透传给 Playwright CLI 的额外参数,逗号分隔(例如 `--extra-args \"--reporter=list,--workers=1\"`)
114
-
115
-
116
-
117
- ### 作为 MCP 工具使用
118
-
119
- 在 Claude、Cursor 等工具中,配置 MCP 的方式都是大同小异。
120
-
121
- 通过 npm/bun 等方式安装的 EasyTouch,程序文件在 `C:\Users\{用户名}\AppData\Roaming\npm` 下面。
122
-
123
-
124
-
125
- 在配置文件中添加:
126
-
127
- **Windows**
128
-
129
- ```json
130
- {
131
- "mcpServers": {
132
- "easytouch": {
133
- "command": "C:\\path\\to\\et.exe",
134
- "args": ["--mcp"]
135
- }
136
- }
137
- }
138
- ```
139
-
140
- **NPM 安装方式**
141
-
142
- ```json
143
- {
144
- "mcpServers": {
145
- "easytouch": {
146
- "command": "npx",
147
- "args": ["-y", "easytouch-windows", "--mcp"]
148
- }
149
- }
150
- }
151
- ```
152
-
153
- **Linux / macOS**
154
-
155
- ```json
156
- {
157
- "mcpServers": {
158
- "easytouch": {
159
- "command": "/path/to/et",
160
- "args": ["--mcp"]
161
- }
162
- }
163
- }
164
- ```
165
-
166
-
167
-
168
- ### 作为 Skills 给 AI 使用
169
-
170
- 只需要执行命令安装 skills 即可。
171
-
172
- ```bash
173
- npx skills add https://github.com/whuanle/EasyTouch/skills
174
- ```
175
-
176
-
177
-
178
- ## CLI 命令参考
179
-
180
- ### 鼠标控制
181
-
182
- ```bash
183
- # 移动鼠标(绝对坐标)
184
- et mouse_move --x 100 --y 200
185
-
186
- # 相对移动
187
- t mouse_move --x 50 --y -30 --relative
188
-
189
- # 平滑移动(500ms 动画)
190
- et mouse_move --x 100 --y 200 --duration 500
191
-
192
- # 左键单击(默认)
193
- et mouse_click
194
-
195
- # 右键双击
196
- t mouse_click --button right --double
197
-
198
- # 向上滚动3
199
- t mouse_scroll --amount 3
200
-
201
- # 水平滚动
202
- t mouse_scroll --amount 3 --horizontal
203
-
204
- # 获取当前位置
205
- t mouse_position
206
- ```
207
-
208
- ### 键盘控制
209
-
210
- ```bash
211
- # 按下单个键
212
- t key_press --key "enter"
213
-
214
- # 组合键
215
- t key_press --key "ctrl+c"
216
- t key_press --key "alt+tab"
217
- t key_press --key "win+d"
218
-
219
- # 输入文本
220
- t type_text --text "Hello World"
221
-
222
- # 模拟人工打字(带随机间隔)
223
- t type_text --text "Hello World" --human --interval 50
224
- ```
225
-
226
- ### 屏幕操作
227
-
228
- ```bash
229
- # 全屏截图
230
- t screenshot --output screenshot.png
231
-
232
- # 区域截图
233
- t screenshot --x 100 --y 100 --width 800 --height 600 --output region.png
234
-
235
- # 获取像素颜色
236
- t pixel_color --x 100 --y 200
237
-
238
- # 列出显示器
239
- t screen_list
240
- ```
241
-
242
- ### 窗口管理
243
-
244
- ```bash
245
- # 列出可见窗口
246
- t window_list
247
-
248
- # 按标题过滤
249
- t window_list --filter "Chrome"
250
-
251
- # 查找窗口
252
- t window_find --title "记事本"
253
-
254
- # 激活窗口
255
- t window_activate --title "记事本"
256
-
257
- # 获取前台窗口
258
- t window_foreground
259
- ```
260
-
261
- ### 系统信息
262
-
263
- ```bash
264
- # 操作系统信息
265
- et os_info
266
-
267
- # CPU 信息
268
- et cpu_info
269
-
270
- # 内存信息
271
- et memory_info
272
-
273
- # 磁盘列表
274
- et disk_list
275
-
276
- # 进程列表
277
- et process_list --filter "chrome"
278
-
279
- # 锁定屏幕
280
- et lock_screen
281
- ```
282
-
283
- ### 剪贴板
284
-
285
- ```bash
286
- # 获取文本
287
- et clipboard_get_text
288
-
289
- # 设置文本
290
- et clipboard_set_text --text "Hello World"
291
-
292
- # 清空
293
- et clipboard_clear
294
-
295
- # 获取文件列表
296
- et clipboard_get_files
297
- ```
298
-
299
-
300
-
301
- ### 浏览器控制
302
-
303
-
304
-
305
- 使用 `et browser_launch --browser` 命令启动浏览器后(匿名模式),使用 `et browser_list` 获取浏览器实例列表,之后可以使用不同的命令控制浏览器,最后可以自行关闭或使用 `et browser_close` 关闭浏览器。
306
-
307
-
308
-
309
- ```bash
310
- # 列出浏览器实例
311
- et browser_list
312
-
313
- # 启动 Chromium(无头模式)
314
- et browser_launch --browser chromium --headless
315
-
316
- # 启动 Edge(有界面)
317
- et browser_launch --browser edge --headless false
318
-
319
- # 打开页面
320
- et browser_navigate --browser-id <id> --url "https://example.com"
321
-
322
- # 导航控制
323
- et browser_go_back --browser-id <id>
324
- et browser_go_forward --browser-id <id>
325
- et browser_reload --browser-id <id>
326
-
327
- # 点击元素
328
- et browser_click --browser-id <id> --selector "#submit"
329
-
330
- # 输入内容
331
- et browser_fill --browser-id <id> --selector "input[name='q']" --value "EasyTouch"
332
-
333
- # 滚动页面(按像素)
334
- et browser_scroll --browser-id <id> --x 0 --y 800 --behavior smooth
335
-
336
- # 下拉选择
337
- et browser_select --browser-id <id> --selector "#city" --values "beijing"
338
-
339
- # 文件上传(多个文件用逗号分隔)
340
- et browser_upload --browser-id <id> --selector "input[type='file']" --files "a.txt,b.txt"
341
-
342
- # 页面截图
343
- et browser_screenshot --browser-id <id> --output page.png --full-page true
344
-
345
- # 执行脚本
346
- et browser_evaluate --browser-id <id> --script "document.title"
347
-
348
- # 读取页面信息
349
- et browser_page_info --browser-id <id>
350
-
351
- # Cookie 管理
352
- et browser_get_cookies --browser-id <id>
353
- et browser_set_cookie --browser-id <id> --name token --value abc --domain example.com --path / --http-only true --secure true --same-site lax
354
- et browser_clear_cookies --browser-id <id>
355
-
356
- # 执行本地 JS/TS Playwright 测试脚本
357
- et browser_run_script --script-path "./tests/example.spec.ts" --browser edge --headless true
358
-
359
- # 透传 Playwright CLI 参数(CSV)
360
- et browser_run_script --script-path "./tests/login.spec.ts" --browser chromium --extra-args "--reporter=list,--workers=1"
361
-
362
- # 文本断言(自动化测试)
363
- et browser_assert_text --browser-id <id> --selector "h1" --expected-text "Example Domain" --exact-match true
364
-
365
- # 关闭浏览器
366
- et browser_close --browser-id <id>
367
- ```
368
-
369
-
370
-
371
- ### MCP Tools
372
-
373
- | Tool | 描述 |
374
- |------|------|
375
- | `mouse_move` | 移动鼠标 |
376
- | `mouse_click` | 点击鼠标 |
377
- | `mouse_position` | 获取鼠标位置 |
378
- | `key_press` | 按下按键 |
379
- | `type_text` | 输入文本 |
380
- | `screenshot` | 截图 |
381
- | `pixel_color` | 获取像素颜色 |
382
- | `window_list` | 列出窗口 |
383
- | `window_find` | 查找窗口 |
384
- | `window_activate` | 激活窗口 |
385
- | `system_info` | 系统信息 |
386
- | `process_list` | 进程列表 |
387
- | `clipboard_get_text` | 获取剪贴板文本 |
388
- | `clipboard_set_text` | 设置剪贴板文本 |
389
- | `browser_launch` | 启动浏览器 |
390
- | `browser_navigate` | 页面导航 |
391
- | `browser_click` | 点击页面元素 |
392
- | `browser_fill` | 填充输入框 |
393
- | `browser_find` | 查找页面元素 |
394
- | `browser_get_text` | 获取页面文本 |
395
- | `browser_screenshot` | 浏览器截图 |
396
- | `browser_evaluate` | 执行页面脚本 |
397
- | `browser_wait_for` | 等待元素状态 |
398
- | `browser_assert_text` | 断言页面或元素文本 |
399
- | `browser_page_info` | 获取页面信息 |
400
- | `browser_go_back` / `browser_go_forward` / `browser_reload` | 页面导航控制 |
401
- | `browser_scroll` | 页面/元素滚动 |
402
- | `browser_select` | 下拉选择 |
403
- | `browser_upload` | 文件上传 |
404
- | `browser_get_cookies` / `browser_set_cookie` / `browser_clear_cookies` | Cookie 管理 |
405
- | `browser_run_script` | 执行 JS/TS Playwright 测试脚本 |
406
- | `browser_close` | 关闭浏览器 |
407
- | `browser_list` | 列出浏览器实例 |
408
-
409
-
410
-
411
- 更多 MCP 使用文档见 [skills/SKILLS.md](skills/SKILLS.md)
412
-
413
-
414
-
415
- ## 平台说明
416
-
417
- ### Windows
418
- - 完全支持所有功能
419
- - 部分功能可能需要管理员权限
420
-
421
- ### Linux
422
- - 需要 X11 显示服务器
423
- - 不支持 Wayland
424
- - 建议在图形界面环境中使用
425
-
426
- ### macOS
427
- - 需要授予辅助功能权限(系统设置 → 隐私与安全性 → 辅助功能)
428
- - 截图功能需要屏幕录制权限
429
-
430
-
431
-
432
- ## 许可证
433
-
434
- MIT License
1
+ # EasyTouch (et)
2
+
3
+ 跨平台系统自动化操作工具,支持 Windows、Linux、macOS。提供 CLI 命令行和 MCP 服务器两种使用方式,支持鼠标键盘控制、屏幕截图、窗口管理、系统信息查询、浏览器操作等功能。
4
+
5
+ 目前:
6
+
7
+ - [x] Windows
8
+ - [ ] Linux
9
+ - [ ] MAC(目前缺少设备验证功能)
10
+
11
+
12
+
13
+ 大家平时使用各类 AI 编程工具,写页面是不是经常碰到 AI 写的页面怎么也不满意,写出来跟设计稿差异很大,这是因为 AI 只能通过读写代码来改进代码,它看不到界面,不像人类有感官。
14
+
15
+ 所以 EasyTouch 是给 AI 装上手和眼睛。
16
+
17
+ ![image-20260224090852873](images/image-20260224090852873.png)
18
+
19
+ ![image-20260224093052367](images/image-20260224093052367.png)
20
+
21
+ ![image-20260224093505950](images/image-20260224093505950.png)
22
+
23
+
24
+
25
+ ## 功能概览
26
+
27
+ | 模块 | 功能 |
28
+ |------|------|
29
+ | 🖱️ 鼠标控制 | 移动、点击、滚动、获取位置 |
30
+ | ⌨️ 键盘控制 | 按键、组合键、文本输入 |
31
+ | 📷 屏幕操作 | 截图、获取像素颜色、多显示器支持 |
32
+ | 🪟 窗口管理 | 列出、查找、激活窗口 |
33
+ | 🖥️ 系统信息 | CPU、内存、磁盘、进程 |
34
+ | 📋 剪贴板 | 文本读写、文件列表 |
35
+ | 🌐 浏览器控制 | 启动浏览器、页面导航、元素交互、截图 |
36
+
37
+
38
+
39
+ 提示:在 Linux 里,由于桌面环境差异很大,有些功能在某些桌面系统下可能不可用,详见 [Linux](#Linux) 环境说明。
40
+
41
+
42
+
43
+ ### 安装
44
+
45
+ ```bash
46
+ # Windows
47
+ npm i @whuanle/easytouch-windows
48
+
49
+ # Linux
50
+ npm i @whuanle/easytouch-linux
51
+
52
+ # macOS
53
+ npm i @whuanle/easytouch-mac
54
+ ```
55
+
56
+
57
+
58
+ 或者从[https://github.com/whuanle/EasyTouch/releases](https://github.com/whuanle/EasyTouch/releases)下载对应平台的可执行文件,并添加环境变量。
59
+
60
+
61
+
62
+ 执行 `et --help` 命令测试是否正常工作:
63
+
64
+ ```
65
+ PS E:\workspace\EasyTouch> et --help
66
+ EasyTouch Windows Automation Tool
67
+
68
+ Usage: et <command> [options]
69
+
70
+ Commands:
71
+ mouse_move --x <n> --y <n> [--relative] [--duration <ms>]
72
+ mouse_click [--button left|right|middle] [--double]
73
+ mouse_position
74
+ key_press --key <key>
75
+ type_text --text <text> [--interval <ms>] [--human]
76
+ screenshot [--output <path>] [--x <n>] [--y <n>] [--width <n>] [--height <n>]
77
+ pixel_color --x <n> --y <n>
78
+ window_list [--visible-only] [--filter <text>]
79
+ window_find [--title <text>] [--class <name>] [--pid <n>]
80
+ window_activate --title <text> | --handle <n>
81
+ window_foreground
82
+ os_info, cpu_info, memory_info, disk_list
83
+ process_list [--filter <text>]
84
+ clipboard_get_text, clipboard_set_text --text <text>
85
+
86
+ help Show this help
87
+ version Show version
88
+ {"success":true}
89
+ ```
90
+
91
+
92
+
93
+ ### 浏览器操作支持
94
+
95
+ 支持浏览器:`chromium` / `firefox` / `webkit` / `edge`(`edge` 走 Chromium 通道 `msedge`)。
96
+
97
+ 浏览器操作建议按会话流程执行:先启动,再获取 `browserId`,后续所有命令都使用该 `browserId`。
98
+
99
+ ```bash
100
+ et browser_launch --browser edge --headless false
101
+ et browser_list
102
+ # 使用 browserId 执行后续命令
103
+ et browser_navigate --browser-id browser_1 --url "https://example.com"
104
+ ```
105
+
106
+
107
+
108
+ ### 作为 Skills 给 AI 使用
109
+
110
+ 只需要执行命令安装 skills 即可。
111
+
112
+ ```bash
113
+ npx skills add https://github.com/whuanle/EasyTouch
114
+ ```
115
+
116
+
117
+
118
+ 注:skills 里面不带脚本,需提前使用 `npm i @whuanle/easytouch-windows` 安装工具。
119
+
120
+ ![image-20260224090411080](images/image-20260224090411080.png)
121
+
122
+
123
+
124
+ ### 作为 MCP 工具使用
125
+
126
+ 如果只是给 AI 工具使用,建议使用 skills 即可,配置 MCP 可能会麻烦一些。
127
+
128
+ 在 Claude、Cursor 等工具中,配置 MCP 的方式都是大同小异,通过 npm/bun 等方式安装的 EasyTouch,程序文件在 `$basedir/node_modules/@whuanle/easytouch-windows` 下面,。
129
+
130
+
131
+
132
+ 在配置文件中添加:
133
+
134
+ **Windows**
135
+
136
+ ```json
137
+ {
138
+ "mcpServers": {
139
+ "easytouch": {
140
+ "command": "C:\\path\\to\\et.exe",
141
+ "args": ["--mcp"]
142
+ }
143
+ }
144
+ }
145
+ ```
146
+
147
+ **NPM 安装方式**
148
+
149
+ ```json
150
+ {
151
+ "mcpServers": {
152
+ "easytouch": {
153
+ "command": "npx",
154
+ "args": ["-y", "easytouch-windows", "--mcp"]
155
+ }
156
+ }
157
+ }
158
+ ```
159
+
160
+ **Linux / macOS**
161
+
162
+ ```json
163
+ {
164
+ "mcpServers": {
165
+ "easytouch": {
166
+ "command": "/path/to/et",
167
+ "args": ["--mcp"]
168
+ }
169
+ }
170
+ }
171
+ ```
172
+
173
+
174
+
175
+
176
+
177
+ ## CLI 命令参考
178
+
179
+ ### 鼠标控制
180
+
181
+ ```bash
182
+ # 移动鼠标(绝对坐标)
183
+ et mouse_move --x 100 --y 200
184
+
185
+ # 相对移动
186
+ t mouse_move --x 50 --y -30 --relative
187
+
188
+ # 平滑移动(500ms 动画)
189
+ et mouse_move --x 100 --y 200 --duration 500
190
+
191
+ # 左键单击(默认)
192
+ et mouse_click
193
+
194
+ # 右键双击
195
+ t mouse_click --button right --double
196
+
197
+ # 向上滚动3格
198
+ t mouse_scroll --amount 3
199
+
200
+ # 水平滚动
201
+ t mouse_scroll --amount 3 --horizontal
202
+
203
+ # 获取当前位置
204
+ t mouse_position
205
+ ```
206
+
207
+ ### 键盘控制
208
+
209
+ ```bash
210
+ # 按下单个键
211
+ t key_press --key "enter"
212
+
213
+ # 组合键
214
+ t key_press --key "ctrl+c"
215
+ t key_press --key "alt+tab"
216
+ t key_press --key "win+d"
217
+
218
+ # 输入文本
219
+ t type_text --text "Hello World"
220
+
221
+ # 模拟人工打字(带随机间隔)
222
+ t type_text --text "Hello World" --human --interval 50
223
+ ```
224
+
225
+ ### 屏幕操作
226
+
227
+ ```bash
228
+ # 全屏截图
229
+ t screenshot --output screenshot.png
230
+
231
+ # 区域截图
232
+ t screenshot --x 100 --y 100 --width 800 --height 600 --output region.png
233
+
234
+ # 获取像素颜色
235
+ t pixel_color --x 100 --y 200
236
+
237
+ # 列出显示器
238
+ t screen_list
239
+ ```
240
+
241
+ ### 窗口管理
242
+
243
+ ```bash
244
+ # 列出可见窗口
245
+ t window_list
246
+
247
+ # 按标题过滤
248
+ t window_list --filter "Chrome"
249
+
250
+ # 查找窗口
251
+ t window_find --title "记事本"
252
+
253
+ # 激活窗口
254
+ t window_activate --title "记事本"
255
+
256
+ # 获取前台窗口
257
+ t window_foreground
258
+ ```
259
+
260
+ ### 系统信息
261
+
262
+ ```bash
263
+ # 操作系统信息
264
+ et os_info
265
+
266
+ # CPU 信息
267
+ et cpu_info
268
+
269
+ # 内存信息
270
+ et memory_info
271
+
272
+ # 磁盘列表
273
+ et disk_list
274
+
275
+ # 进程列表
276
+ et process_list --filter "chrome"
277
+
278
+ # 锁定屏幕
279
+ et lock_screen
280
+ ```
281
+
282
+ ### 剪贴板
283
+
284
+ ```bash
285
+ # 获取文本
286
+ et clipboard_get_text
287
+
288
+ # 设置文本
289
+ et clipboard_set_text --text "Hello World"
290
+
291
+ # 清空
292
+ et clipboard_clear
293
+
294
+ # 获取文件列表
295
+ et clipboard_get_files
296
+ ```
297
+
298
+
299
+
300
+ ### 浏览器控制
301
+
302
+
303
+
304
+ 使用 `et browser_launch --browser` 命令启动浏览器后(匿名模式),使用 `et browser_list` 获取浏览器实例列表,之后可以使用不同的命令控制浏览器,最后可以自行关闭或使用 `et browser_close` 关闭浏览器。
305
+
306
+
307
+
308
+ ```bash
309
+ # 列出浏览器实例
310
+ et browser_list
311
+
312
+ # 启动 Chromium(无头模式)
313
+ et browser_launch --browser chromium --headless
314
+
315
+ # 启动 Edge(有界面)
316
+ et browser_launch --browser edge --headless false
317
+
318
+ # 打开页面
319
+ et browser_navigate --browser-id <id> --url "https://example.com"
320
+
321
+ # 导航控制
322
+ et browser_go_back --browser-id <id>
323
+ et browser_go_forward --browser-id <id>
324
+ et browser_reload --browser-id <id>
325
+
326
+ # 点击元素
327
+ et browser_click --browser-id <id> --selector "#submit"
328
+
329
+ # 输入内容
330
+ et browser_fill --browser-id <id> --selector "input[name='q']" --value "EasyTouch"
331
+
332
+ # 滚动页面(按像素)
333
+ et browser_scroll --browser-id <id> --x 0 --y 800 --behavior smooth
334
+
335
+ # 下拉选择
336
+ et browser_select --browser-id <id> --selector "#city" --values "beijing"
337
+
338
+ # 文件上传(多个文件用逗号分隔)
339
+ et browser_upload --browser-id <id> --selector "input[type='file']" --files "a.txt,b.txt"
340
+
341
+ # 页面截图
342
+ et browser_screenshot --browser-id <id> --output page.png --full-page true
343
+
344
+ # 执行脚本
345
+ et browser_evaluate --browser-id <id> --script "document.title"
346
+
347
+ # 读取页面信息
348
+ et browser_page_info --browser-id <id>
349
+
350
+ # Cookie 管理
351
+ et browser_get_cookies --browser-id <id>
352
+ et browser_set_cookie --browser-id <id> --name token --value abc --domain example.com --path / --http-only true --secure true --same-site lax
353
+ et browser_clear_cookies --browser-id <id>
354
+
355
+ # 执行本地 JS/TS Playwright 测试脚本
356
+ et browser_run_script --script-path "./tests/example.spec.ts" --browser edge --headless true
357
+
358
+ # 透传 Playwright CLI 参数(CSV)
359
+ et browser_run_script --script-path "./tests/login.spec.ts" --browser chromium --extra-args "--reporter=list,--workers=1"
360
+
361
+ # 文本断言(自动化测试)
362
+ et browser_assert_text --browser-id <id> --selector "h1" --expected-text "Example Domain" --exact-match true
363
+
364
+ # 关闭浏览器
365
+ et browser_close --browser-id <id>
366
+ ```
367
+
368
+
369
+
370
+ ### MCP Tools
371
+
372
+ | Tool | 描述 |
373
+ |------|------|
374
+ | `mouse_move` | 移动鼠标 |
375
+ | `mouse_click` | 点击鼠标 |
376
+ | `mouse_position` | 获取鼠标位置 |
377
+ | `key_press` | 按下按键 |
378
+ | `type_text` | 输入文本 |
379
+ | `screenshot` | 截图 |
380
+ | `pixel_color` | 获取像素颜色 |
381
+ | `window_list` | 列出窗口 |
382
+ | `window_find` | 查找窗口 |
383
+ | `window_activate` | 激活窗口 |
384
+ | `system_info` | 系统信息 |
385
+ | `process_list` | 进程列表 |
386
+ | `clipboard_get_text` | 获取剪贴板文本 |
387
+ | `clipboard_set_text` | 设置剪贴板文本 |
388
+ | `browser_launch` | 启动浏览器 |
389
+ | `browser_navigate` | 页面导航 |
390
+ | `browser_click` | 点击页面元素 |
391
+ | `browser_fill` | 填充输入框 |
392
+ | `browser_find` | 查找页面元素 |
393
+ | `browser_get_text` | 获取页面文本 |
394
+ | `browser_screenshot` | 浏览器截图 |
395
+ | `browser_evaluate` | 执行页面脚本 |
396
+ | `browser_wait_for` | 等待元素状态 |
397
+ | `browser_assert_text` | 断言页面或元素文本 |
398
+ | `browser_page_info` | 获取页面信息 |
399
+ | `browser_go_back` / `browser_go_forward` / `browser_reload` | 页面导航控制 |
400
+ | `browser_scroll` | 页面/元素滚动 |
401
+ | `browser_select` | 下拉选择 |
402
+ | `browser_upload` | 文件上传 |
403
+ | `browser_get_cookies` / `browser_set_cookie` / `browser_clear_cookies` | Cookie 管理 |
404
+ | `browser_run_script` | 执行 JS/TS Playwright 测试脚本 |
405
+ | `browser_close` | 关闭浏览器 |
406
+ | `browser_list` | 列出浏览器实例 |
407
+
408
+
409
+
410
+ 更多 MCP 使用文档见 [skills/SKILLS.md](skills/SKILLS.md)
411
+
412
+
413
+
414
+ ## 平台说明
415
+
416
+ ### Windows
417
+ - 完全支持所有功能
418
+ - 部分功能可能需要管理员权限
419
+
420
+ ### Linux
421
+ - 官方验证环境:Ubuntu Desktop(22.04 / 24.04)
422
+ - 其他发行版和桌面环境为 best-effort,建议先用测试脚本验证
423
+ - 建议在图形界面环境中使用(优先 X11 会话)
424
+ - 有些功能可能需要 sudo 管理员权限
425
+
426
+ Linux 依赖可手动安装(Ubuntu):
427
+
428
+ ```bash
429
+ # 基础依赖(推荐)
430
+ sudo apt install xdotool xclip xsel imagemagick gnome-screenshot
431
+
432
+ # Wayland 补充依赖(按需)
433
+ sudo apt install ydotool wl-clipboard grim
434
+ ```
435
+
436
+ 安装后可执行脚本测试兼容性:
437
+
438
+ ```bash
439
+ node scripts/test-easytouch.js --cli-only --verbose
440
+ ```
441
+
442
+ ### macOS
443
+ - 需要授予辅助功能权限(系统设置 → 隐私与安全性 → 辅助功能)
444
+ - 截图功能需要屏幕录制权限
445
+
446
+
447
+
448
+ ## 许可证
449
+
450
+ MIT License
package/et.exe CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whuanle/easytouch-windows",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "description": "Windows system automation tool with MCP support",
5
5
  "author": "MaomiAgent Team",
6
6
  "license": "MIT",