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 [options]
Commands:
mouse_move --x --y [--relative][--duration ]
mouse_click [--button left|right|middle][--double]
mouse_position
key_press --key
type_text --text [--interval ][--human]
screenshot [--output ][--x ][--y ][--width ][--height ]
pixel_color --x --y
window_list [--visible-only][--filter ]
window_find [--title ][--class][--pid ]
window_activate --title |--handle
window_foreground
os_info, cpu_info, memory_info, disk_list
process_list [--filter ]
clipboard_get_text, clipboard_set_text --texthelp Showthis help
version Show version
{"success":true}
支持浏览器:chromium/firefox/webkit/edge(edge走 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安装工具。
如果只是给 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关闭浏览器。
MCP Tools# 列出浏览器实例
et browser_list
# 启动 Chromium(无头模式)
et browser_launch --browser chromium --headless
# 启动 Edge(有界面)
et browser_launch --browser edge --headless false
# 打开页面
et browser_navigate --browser-id --url "https://example.com"
# 导航控制
et browser_go_back --browser-id
et browser_go_forward --browser-id
et browser_reload --browser-id
# 点击元素
et browser_click --browser-id --selector ""
# 输入内容
et browser_fill --browser-id --selector "input[name='q']"--value "EasyTouch"
# 滚动页面(按像素)
et browser_scroll --browser-id --x 0--y 800--behavior smooth
# 下拉选择
et browser_select --browser-id --selector ""--values "beijing"
# 文件上传(多个文件用逗号分隔)
et browser_upload --browser-id --selector "input[type='file']"--files "a.txt,b.txt"
# 页面截图
et browser_screenshot --browser-id --output page.png --full-page true
# 执行脚本
et browser_evaluate --browser-id --script "document.title"
# 读取页面信息
et browser_page_info --browser-id
# Cookie 管理
et browser_get_ Cookies --browser-id
et browser_set_cookie --browser-id --name token --value abc --domain example.com --path /--http-only true--secure true--same-site lax
et browser_clear_cookies --browser-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 --selector "h1"--expected-text "Example Domain"--exact-match true# 关闭浏览器
et browser_close --browser-id
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_backbrowser_go_forwardbrowser_reload
页面导航控制
browser_scroll
页面/元素滚动
browser_select
下拉选择
browser_upload
文件上传
browser_get_cookiesbrowser_set_cookiebrowser_clear_cookies
Cookie 管理
browser_run_script
执行 JS/TS Playwright 测试脚本
browser_close
关闭浏览器
browser_list
列出浏览器实例
更多 MCP 使用文档见 skills/SKILLS.md
平台说明 Windows
• 完全支持所有功能
• 部分功能可能需要管理员权限
• 官方验证环境: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 --verbosemacOS• 需要授予辅助功能权限(系统设置 → 隐私与安全性 → 辅助功能)
• 截图功能需要屏幕录制权限
MIT License
热门跟贴