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 --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 工具使用
打开网易新闻 查看精彩图片
作为 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 --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
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_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

  • • 完全支持所有功能

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

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
  • • 需要授予辅助功能权限(系统设置 → 隐私与安全性 → 辅助功能)

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

许可证

MIT License