给 AI 装上双手和眼睛!跨平台系统自动化操作工具 EasyTouch 上线!

2026年2月24日 40点热度 0人点赞 0条评论
内容目录

EasyTouch (et)

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

目前:

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

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

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

file
file
file

功能概览

模块 功能
🖱️ 鼠标控制 移动、点击、滚动、获取位置
⌨️ 键盘控制 按键、组合键、文本输入
📷 屏幕操作 截图、获取像素颜色、多显示器支持
🪟 窗口管理 列出、查找、激活窗口
🖥️ 系统信息 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
EasyTouch Windows Automation Tool

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       Show this 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 安装工具。
file

作为 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

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

许可证

MIT License

痴者工良

高级程序员劝退师

文章评论