给 AI 装上双手和眼睛!EasyTouch 发布!

目录

EasyTouch (et)

功能概览

安装

浏览器操作支持

作为 Skills 给 AI 使用

作为 MCP 工具使用

CLI 命令参考

鼠标控制

键盘控制

屏幕操作

窗口管理

系统信息

剪贴板

浏览器控制

MCP Tools

平台说明

Windows

Linux

macOS


EasyTouch (et)

跨平台系统自动化操作工具,支持 Windows、Linux、macOS。提供 CLI 命令行和 MCP 服务器两种使用方式,支持鼠标键盘控制、屏幕截图、窗口管理、系统信息查询、浏览器操作等功能。

目前:

  • • Windows

  • • Linux

  • • MAC(目前缺少设备验证功能)

大家平时使用各类 AI 编程工具,写页面是不是经常碰到 AI 写的页面怎么也不满意,写出来跟设计稿差异很大,这是因为 AI 只能通过读写代码来改进代码,它看不到界面,不像人类有感官。

所以 EasyTouch 是给 AI 装上手和眼睛。

功能概览

模块

功能

🖱️ 鼠标控制

移动、点击、滚动、获取位置

⌨️ 键盘控制

按键、组合键、文本输入

📷 屏幕操作

截图、获取像素颜色、多显示器支持

🪟 窗口管理

列出、查找、激活窗口

🖥️ 系统信息

CPU、内存、磁盘、进程

📋 剪贴板

文本读写、文件列表

🌐 浏览器控制

启动浏览器、页面导航、元素交互、截图

提示:在 Linux 里,由于桌面环境差异很大,有些功能在某些桌面系统下可能不可用,详见 Linux 环境说明。

安装

# Windows npm i easytouch-windows # Linux npm i easytouch-linux # macOS npm i easytouch-mac

或者从https://github.com/whuanle/EasyTouch/releases下载对应平台的可执行文件,并添加环境变量。

执行et --help命令测试是否正常工作:

PS E:\workspace\EasyTouch> et --help EasyTouchWindowsAutomationTool Usage: et <command>[options] Commands: mouse_move --x <n>--y <n>[--relative][--duration <ms>] mouse_click [--button left|right|middle][--double] mouse_position key_press --key <key> type_text --text <text>[--interval <ms>][--human] screenshot [--output <path>][--x <n>][--y <n>][--width <n>][--height <n>] pixel_color --x <n>--y <n> window_list [--visible-only][--filter <text>] window_find [--title <text>][--class<name>][--pid <n>] window_activate --title <text>|--handle <n> window_foreground os_info, cpu_info, memory_info, disk_list process_list [--filter <text>] clipboard_get_text, clipboard_set_text --text <text> help Showthis help version Show version {"success":true}

浏览器操作支持

支持浏览器:chromium/firefox/webkit/edgeedge走 Chromium 通道msedge)。

浏览器操作建议按会话流程执行:先启动,再获取browserId,后续所有命令都使用该browserId

et browser_launch --browser edge --headless false et browser_list # 使用 browserId 执行后续命令 et browser_navigate --browser-id browser_1 --url "https://example.com"

作为 Skills 给 AI 使用

只需要执行命令安装 skills 即可。

npx skills add https://github.com/whuanle/EasyTouch

注:skills 里面不带脚本,需提前使用npm i easytouch-windows安装工具。

作为 MCP 工具使用

如果只是给 AI 工具使用,建议使用 skills 即可,配置 MCP 可能会麻烦一些。

在 Claude、Cursor 等工具中,配置 MCP 的方式都是大同小异,通过 npm/bun 等方式安装的 EasyTouch,程序文件在$basedir/node_modules/easytouch-windows下面,。

在配置文件中添加:

Windows

{ "mcpServers":{ "easytouch":{ "command":"C:\\path\\to\\et.exe", "args":["--mcp"] } } }

NPM 安装方式

{ "mcpServers":{ "easytouch":{ "command":"npx", "args":["-y","easytouch-windows","--mcp"] } } }

Linux / macOS

{ "mcpServers":{ "easytouch":{ "command":"/path/to/et", "args":["--mcp"] } } }

CLI 命令参考

鼠标控制

# 移动鼠标(绝对坐标) et mouse_move --x 100--y 200 # 相对移动 t mouse_move --x 50--y -30--relative # 平滑移动(500ms 动画) et mouse_move --x 100--y 200--duration 500 # 左键单击(默认) et mouse_click # 右键双击 t mouse_click --button right --double # 向上滚动3格 t mouse_scroll --amount 3 # 水平滚动 t mouse_scroll --amount 3--horizontal # 获取当前位置 t mouse_position

键盘控制

# 按下单个键 t key_press --key "enter" # 组合键 t key_press --key "ctrl+c" t key_press --key "alt+tab" t key_press --key "win+d" # 输入文本 t type_text --text "Hello World" # 模拟人工打字(带随机间隔) t type_text --text "Hello World" --human --interval 50

屏幕操作

# 全屏截图 t screenshot --output screenshot.png # 区域截图 t screenshot --x 100 --y 100 --width 800 --height 600 --output region.png # 获取像素颜色 t pixel_color --x 100 --y 200 # 列出显示器 t screen_list

窗口管理

# 列出可见窗口 t window_list # 按标题过滤 t window_list --filter "Chrome" # 查找窗口 t window_find --title "记事本" # 激活窗口 t window_activate --title "记事本" # 获取前台窗口 t window_foreground

系统信息

# 操作系统信息 et os_info # CPU 信息 et cpu_info # 内存信息 et memory_info # 磁盘列表 et disk_list # 进程列表 et process_list --filter "chrome" # 锁定屏幕 et lock_screen

剪贴板

# 获取文本 et clipboard_get_text # 设置文本 et clipboard_set_text --text "Hello World" # 清空 et clipboard_clear # 获取文件列表 et clipboard_get_files

浏览器控制

使用et browser_launch --browser命令启动浏览器后(匿名模式),使用et browser_list获取浏览器实例列表,之后可以使用不同的命令控制浏览器,最后可以自行关闭或使用et browser_close关闭浏览器。

# 列出浏览器实例 et browser_list # 启动 Chromium(无头模式) et browser_launch --browser chromium --headless # 启动 Edge(有界面) et browser_launch --browser edge --headless false # 打开页面 et browser_navigate --browser-id <id>--url "https://example.com" # 导航控制 et browser_go_back --browser-id <id> et browser_go_forward --browser-id <id> et browser_reload --browser-id <id> # 点击元素 et browser_click --browser-id <id>--selector "#submit" # 输入内容 et browser_fill --browser-id <id>--selector "input[name='q']"--value "EasyTouch" # 滚动页面(按像素) et browser_scroll --browser-id <id>--x 0--y 800--behavior smooth # 下拉选择 et browser_select --browser-id <id>--selector "#city"--values "beijing" # 文件上传(多个文件用逗号分隔) et browser_upload --browser-id <id>--selector "input[type='file']"--files "a.txt,b.txt" # 页面截图 et browser_screenshot --browser-id <id>--output page.png --full-page true # 执行脚本 et browser_evaluate --browser-id <id>--script "document.title" # 读取页面信息 et browser_page_info --browser-id <id> # Cookie 管理 et browser_get_cookies --browser-id <id> et browser_set_cookie --browser-id <id>--name token --value abc --domain example.com --path /--http-only true--secure true--same-site lax et browser_clear_cookies --browser-id <id> # 执行本地 JS/TS Playwright 测试脚本 et browser_run_script --script-path "./tests/example.spec.ts"--browser edge --headless true # 透传 Playwright CLI 参数(CSV) et browser_run_script --script-path "./tests/login.spec.ts"--browser chromium --extra-args "--reporter=list,--workers=1" # 文本断言(自动化测试) et browser_assert_text --browser-id <id>--selector "h1"--expected-text "Example Domain"--exact-match true # 关闭浏览器 et browser_close --browser-id <id>

MCP Tools

Tool

描述

mouse_move

移动鼠标

mouse_click

点击鼠标

mouse_position

获取鼠标位置

key_press

按下按键

type_text

输入文本

screenshot

截图

pixel_color

获取像素颜色

window_list

列出窗口

window_find

查找窗口

window_activate

激活窗口

system_info

系统信息

process_list

进程列表

clipboard_get_text

获取剪贴板文本

clipboard_set_text

设置剪贴板文本

browser_launch

启动浏览器

browser_navigate

页面导航

browser_click

点击页面元素

browser_fill

填充输入框

browser_find

查找页面元素

browser_get_text

获取页面文本

browser_screenshot

浏览器截图

browser_evaluate

执行页面脚本

browser_wait_for

等待元素状态

browser_assert_text

断言页面或元素文本

browser_page_info

获取页面信息

browser_go_back

/browser_go_forward/browser_reload

页面导航控制

browser_scroll

页面/元素滚动

browser_select

下拉选择

browser_upload

文件上传

browser_get_cookies

/browser_set_cookie/browser_clear_cookies

Cookie 管理

browser_run_script

执行 JS/TS Playwright 测试脚本

browser_close

关闭浏览器

browser_list

列出浏览器实例

更多 MCP 使用文档见 skills/SKILLS.md

平台说明

Windows

  • • 完全支持所有功能

  • • 部分功能可能需要管理员权限

Linux

  • • 官方验证环境:Ubuntu Desktop(22.04 / 24.04)

  • • 其他发行版和桌面环境为 best-effort,建议先用测试脚本验证

  • • 建议在图形界面环境中使用(优先 X11 会话)

  • • 有些功能可能需要 sudo 管理员权限

Linux 依赖可手动安装(Ubuntu):

# 基础依赖(推荐) sudo apt install xdotool xclip xsel imagemagick gnome-screenshot # Wayland 补充依赖(按需) sudo apt install ydotool wl-clipboard grim

安装后可执行脚本测试兼容性:

node scripts/test-easytouch.js --cli-only --verbose

macOS

  • • 需要授予辅助功能权限(系统设置 → 隐私与安全性 → 辅助功能)

  • • 截图功能需要屏幕录制权限

引入地址