跳至主要内容
小龙虾小龙虾AI
🤖

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获得更好效果。

工作流模式

  1. 读取窗口 - 从特定窗口提取文本(快速、准确)
  2. 读取UI元素 - 获取带坐标的按钮、链接
  3. 屏幕截图(如需) - 查看视觉布局
  4. 操作 - 按名称或坐标点击元素
  5. 处理弹窗 - 与弹出窗口/保存对话框交互
  6. 读取窗口 - 验证变更

屏幕坐标系

  • 原点 (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 控制」?

  1. 打开小龙虾AI(Web 或 iOS App)
  2. 点击上方「立即使用」按钮,或在对话框中输入任务描述
  3. 小龙虾AI 会自动匹配并调用「Windows 控制」技能完成任务
  4. 结果即时呈现,支持继续对话优化

相关技能