| name | windows-rpa |
| version | 1.1.0 |
| description | Windows 桌面 RPA 自动化控制。使用场景:
(1) 操作桌面应用程序(非 Web 应用)
(2) 模拟鼠标键盘操作
(3) 截图和图像识别
(4) 窗口管理和应用启动
(5) 剪贴板操作
(6) Shell 命令执行
NOT for: Web 应用操作(请使用 browser 工具)、Linux/Mac 系统
|
| os | ["win32","windows"] |
| security | {"permissions":["screen_capture","keyboard_input","mouse_input","clipboard_access","shell_execution"],"user_approval":"recommended","sandbox":"supported","sensitive_operations":["desktop_shell","desktop_clipboard_get","desktop_screenshot"]} |
| metadata | {"openclaw":{"emoji":"🖥️","os":["win32"],"requires":{"bins":["python"],"anyBins":["pyautogui","pywinauto"]},"install":[{"id":"pip-pyautogui","kind":"pip","package":"pyautogui pillow","bins":["pyautogui"],"label":"Install PyAutoGUI for mouse/keyboard automation"},{"id":"pip-pywinauto","kind":"pip","package":"pywinauto","bins":["pywinauto"],"label":"Install PyWinAuto for Windows UI Automation"},{"id":"pip-pyperclip","kind":"pip","package":"pyperclip","label":"Install Pyperclip for clipboard operations"}]}} |
| implementation | {"type":"python","entry":"scripts/rpa.py"} |
Windows RPA 自动化
这个 skill 让 OpenClaw 能够直接操作 Windows 桌面,包括鼠标、键盘、窗口和应用程序。
核心能力
1. 鼠标操作
# 移动鼠标到坐标 (x, y)
desktop_mouse_move(x=500, y=300)
# 鼠标点击
desktop_mouse_click(x=500, y=300, button="left", clicks=1)
# 鼠标拖拽
desktop_mouse_drag(start_x=100, start_y=100, end_x=500, end_y=500)
# 鼠标滚轮
desktop_mouse_scroll(clicks=3) # 正数向上,负数向下
# 获取鼠标位置
desktop_mouse_position()
2. 键盘操作
# 输入文本
desktop_keyboard_type(text="Hello World")
# 按键
desktop_keyboard_press(key="enter")
desktop_keyboard_press(key="tab")
desktop_keyboard_press(key="escape")
# 组合键
desktop_keyboard_hotkey(keys=["ctrl", "c"]) # 复制
desktop_keyboard_hotkey(keys=["ctrl", "v"]) # 粘贴
desktop_keyboard_hotkey(keys=["ctrl", "a"]) # 全选
desktop_keyboard_hotkey(keys=["alt", "f4"]) # 关闭窗口
3. 屏幕操作
# 截取全屏
desktop_screenshot()
# 截取指定区域
desktop_screenshot(region={"x": 0, "y": 0, "width": 800, "height": 600})
# 获取屏幕尺寸
desktop_screen_size()
# 图像定位(在屏幕上找图)
desktop_locate_on_screen(image_path="button.png", confidence=0.9)
4. 窗口管理
# 列出所有窗口
desktop_window_list()
# 激活窗口
desktop_window_activate(title_pattern="记事本")
# 查找窗口
desktop_find_window(title_contains="Chrome")
# 点击窗口控件
desktop_click_window(
title_contains="记事本",
control_type="Edit",
action="set_text",
control_name="Hello"
)
5. 应用程序启动
# 启动常用应用(支持别名)
desktop_launch_app(app_name="notepad")
desktop_launch_app(app_name="chrome")
desktop_launch_app(app_name="excel")
desktop_launch_app(app_name="word")
# 启动自定义程序
desktop_launch_app(app_name="C:\\Program Files\\MyApp\\app.exe")
# 带参数启动
desktop_launch_app(app_name="chrome", args="--incognito")
6. Shell 命令
# PowerShell 命令
desktop_shell(command="Get-Process | Select-Object -First 5")
# CMD 命令
desktop_shell(command="dir C:\\", shell_type="cmd")
7. 剪贴板
# 获取剪贴板内容
desktop_clipboard_get()
# 设置剪贴板内容
desktop_clipboard_set(text="要复制的内容")
8. 桌面状态
# 获取完整桌面状态(鼠标位置、活动窗口、截图等)
desktop_get_state(capture_screenshot=True)
# 检查环境
desktop_check()
使用示例
示例 1: 自动填写表单
# 1. 启动应用程序
desktop_launch_app(app_name="notepad")
# 2. 等待窗口出现
time.sleep(1)
# 3. 输入内容
desktop_keyboard_type(text="这是一段自动输入的文字")
# 4. 保存文件
desktop_keyboard_hotkey(keys=["ctrl", "s"])
desktop_keyboard_type(text="auto_saved.txt")
desktop_keyboard_press(key="enter")
示例 2: 图像识别点击
# 1. 先截图保存按钮图像
desktop_screenshot(save_path="screen.png")
# 2. 用户手动截取按钮区域保存为 button.png
# 3. 在屏幕上定位并点击
result = desktop_locate_on_screen(image_path="button.png", confidence=0.9)
# 如果找到,会返回中心坐标,然后点击