🤖
Windows 控制
完整的 Windows 桌面控制能力。包括鼠标、键盘操作及屏幕截图功能,可像人类一样与任何 Windows 应用程序交互。
下载5.2k
星标22
版本1.0.0
安全通过
💬Prompt
技能说明
name: windows-control description: 完整的 Windows 桌面控制能力。鼠标、键盘、屏幕截图 - 像真人一样与任何 Windows 应用程序交互。
Windows 控制技能
实现完整的 Windows 桌面自动化。像真实用户一样操控鼠标、键盘和屏幕。
快速入门
所有脚本位于 skills/windows-control/scripts/ 目录
屏幕截图
py screenshot.py > output.b64
返回整屏的 base64 PNG 图像
鼠标点击
py click.py 500 300 # 在(500, 300)位置左键点击
py click.py 500 300 right # 右键点击
py click.py 500 300 left 2 # 双击
输入文本
py type_text.py "Hello World"
在当前光标位置输入文本(按键间隔10毫秒)
组合按键
py key_press.py "enter"
py key_press.py "ctrl+s"
py key_press.py "alt+tab"
py key_press.py "ctrl+shift+esc"
移动鼠标
py mouse_move.py 500 300
平滑移动鼠标到指定坐标(0.2秒动画效果)
滚动操作
py scroll.py up 5 # 向上滚动5格
py scroll.py down 10 # 向下滚动10格
窗口管理(新增!)
py focus_window.py "Chrome" # 将窗口置顶
py minimize_window.py "Notepad" # 最小化窗口
py maximize_window.py "VS Code" # 最大化窗口
py close_window.py "Calculator" # 关闭窗口
py get_active_window.py # 获取当前活动窗口标题
高级操作(新增!)
# 通过文字点击(无需坐标!)
py click_text.py "Save" # 点击任意位置的"保存"按钮
py click_text.py "Submit" "Chrome" # 仅点击Chrome中的"提交"
# 拖拽操作
py drag.py 100 100 500 300 # 从(100,100)拖拽到(500,300)
# 稳健自动化(等待/查找)
py wait_for_text.py "Ready" "App" 30 # 等待文本出现(最多30秒)
py wait_for_window.py "Notepad" 10 # 等待窗口出现
py find_text.py "Login" "Chrome" # 获取文本坐标
py list_windows.py # 列出所有打开窗口
读取窗口文本
py read_window.py "Notepad" # 读取记事本中的全部文本
py read_window.py "Visual Studio" # 读取VS Code中的文本
py read_window.py "Chrome" # 读取浏览器中的文本
使用Windows UI Automation提取实际文本(非OCR)。比截图方式更快更准确!
读取UI元素(新增!)
py read_ui_elements.py "Chrome" # 所有可交互元素
py read_ui_elements.py "Chrome" --buttons-only # 仅按钮
py read_ui_elements.py "Chrome" --links-only # 仅链接
py read_ui_elements.py "Chrome" --json # JSON格式输出
返回带坐标的按钮、链接、标签页、复选框、下拉菜单,方便点击操作。
读取网页内容(新增!)
py read_webpage.py # 读取当前活动浏览器
py read_webpage.py "Chrome" # 指定读取Chrome
py read_webpage.py "Chrome" --buttons # 包含按钮
py read_webpage.py "Chrome" --links # 包含带坐标的链接
py read_webpage.py "Chrome" --full # 所有元素(输入框/图片等)
py read_webpage.py "Chrome" --json # JSON格式输出
增强型浏览器内容提取,包含标题、文本、按钮和链接。
处理对话框(新增!)
# 列出所有打开对话框
py handle_dialog.py list
# 读取当前对话框内容
py handle_dialog.py read
py handle_dialog.py read --json
# 点击对话框按钮
py handle_dialog.py click "OK"
py handle_dialog.py click "Save"
py handle_dialog.py click "Yes"
# 在对话框文本框中输入
py handle_dialog.py type "myfile.txt"
py handle_dialog.py type "C:\path\to\file" --field 0
# 关闭对话框(自动查找OK/关闭/取消按钮)
py handle_dialog.py dismiss
# 等待对话框出现
py handle_dialog.py wait --timeout 10
py handle_dialog.py wait "Save As" --timeout 5
处理保存/打开对话框、消息框、警报、确认框等各种弹窗。
通过名称点击元素(新增!)
py click_element.py "Save" # 点击任意位置的"保存"
py click_element.py "OK" --window "Notepad" # 在指定窗口中点击
py click_element.py "Submit" --type Button # 仅点击按钮
py click_element.py "File" --type MenuItem # 点击菜单项
py click_element.py --list # 列出可点击元素
py click_element.py --list --window "Chrome" # 列出指定窗口的可点击元素
无需坐标即可点击按钮、链接、菜单项等元素。
读取屏幕区域(OCR - 可选)
py read_region.py 100 100 500 300 # 读取指定坐标区域的文本
注意:需安装Tesseract OCR。建议优先使用read_window.py获得更好效果。
工作流模式
- 读取窗口 - 从特定窗口提取文本(快速、准确)
- 读取UI元素 - 获取带坐标的按钮、链接
- 屏幕截图(如需) - 查看视觉布局
- 操作 - 按名称或坐标点击元素
- 处理弹窗 - 与弹出窗口/保存对话框交互
- 读取窗口 - 验证变更
屏幕坐标系
- 原点 (0, 0) 位于左上角
- 您的屏幕分辨率:2560x1440(可通过截图确认)
- 使用截图分析得出的坐标
示例
打开记事本并输入
# 按下Windows键
py key_press.py "win"
# 输入"notepad"
py type_text.py "notepad"
# 按下回车键
py key_press.py "enter"
# 稍等片刻后输入
py type_text.py "Hello from AI!"
# 保存
py key_press.py "ctrl+s"
在VS Code中点击操作
# 读取当前VS Code内容
py read_window.py "Visual Studio Code"
# 点击特定位置(例如文件资源管理器)
py click.py 50 100
# 输入文件名
py type_text.py "test.js"
# 按下回车键
py key_press.py "enter"
# 验证新文件是否打开
py read_window.py "Visual Studio Code"
监控记事本内容变更
# 读取当前内容
py read_window.py "Notepad"
# 用户输入内容...
# 读取更新后内容(无需截图!)
py read_window.py "Notepad"
文本读取方法
方法一:Windows UI自动化(最佳方案)
- 使用
read_window.py读取任意窗口内容 - 使用
read_ui_elements.py通过坐标读取按钮/链接 - 使用
read_webpage.py获取带结构的网页内容 - 获取真实文本数据(非基于图像)
方法二:按名称点击(新功能)
- 使用
click_element.py通过名称点击按钮/链接 - 无需坐标 - 自动定位元素
- 可跨所有窗口或针对特定窗口操作
方法三:对话框处理(新功能)
- 使用
handle_dialog.py处理弹窗、保存对话框、警告提示 - 读取对话框内容、点击按钮、输入文本
- 自动通过常用按钮(确定、取消等)关闭
方法四:截图+视觉识别(备用方案)
- 获取完整屏幕截图
- 通过AI视觉读取文字
- 速度较慢但适用于所有内容
方法五:OCR识别(可选)
- 搭配Tesseract使用
read_region.py - 需要额外安装组件
- 适用于含文本的图像/PDF文件
安全特性
- 启用
pyautogui.FAILSAFE = True(移动鼠标至左上角可终止) - 操作间设有短暂延迟
- 平滑的鼠标移动(非瞬时跳转)
环境要求
- Python 3.11+
- pyautogui(已安装✅)
- pillow(已安装✅)
使用建议
- 操作前先截图确认当前状态
- 坐标为绝对位置(非相对于窗口)
- 点击后短暂等待UI更新
- 尽可能使用支持
ctrl+z撤销的操作
状态: ✅ 已可供使用(v2.0 - 对话框&UI元素支持)
创建日期: 2026-02-01
更新日期: 2026-02-02
如何使用「Windows 控制」?
- 打开小龙虾AI(Web 或 iOS App)
- 点击上方「立即使用」按钮,或在对话框中输入任务描述
- 小龙虾AI 会自动匹配并调用「Windows 控制」技能完成任务
- 结果即时呈现,支持继续对话优化