Install
openclaw skills install windows-rpaWindows 桌面 RPA 自动化控制。使用场景: (1) 操作桌面应用程序(非 Web 应用) (2) 模拟鼠标键盘操作 (3) 截图和图像识别 (4) 窗口管理和应用启动 (5) 剪贴板操作 (6) Shell 命令执行 NOT for: Web 应用操作(请使用 browser 工具)、Linux/Mac 系统
openclaw skills install windows-rpa这个 skill 让 OpenClaw 能够直接操作 Windows 桌面,包括鼠标、键盘、窗口和应用程序。
# 移动鼠标到坐标 (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()
# 输入文本
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"]) # 关闭窗口
# 截取全屏
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)
# 列出所有窗口
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"
)
# 启动常用应用(支持别名)
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")
# PowerShell 命令
desktop_shell(command="Get-Process | Select-Object -First 5")
# CMD 命令
desktop_shell(command="dir C:\\", shell_type="cmd")
# 获取剪贴板内容
desktop_clipboard_get()
# 设置剪贴板内容
desktop_clipboard_set(text="要复制的内容")
# 获取完整桌面状态(鼠标位置、活动窗口、截图等)
desktop_get_state(capture_screenshot=True)
# 检查环境
desktop_check()
# 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")
# 1. 先截图保存按钮图像
desktop_screenshot(save_path="screen.png")
# 2. 用户手动截取按钮区域保存为 button.png
# 3. 在屏幕上定位并点击
result = desktop_locate_on_screen(image_path="button.png", confidence=0.9)
# 如果找到,会返回中心坐标,然后点击
# 1. 查找目标窗口
windows = desktop_find_window(title_contains="计算器")
# 2. 激活窗口
desktop_window_activate(title_pattern="计算器")
# 3. 点击窗口中的按钮
desktop_click_window(
title_contains="计算器",
control_type="Button",
control_name="1"
)
本技能需要以下系统权限:
以下操作建议开启用户确认:
desktop_shell - 执行任意 Shell 命令desktop_clipboard_get - 读取剪贴板(可能包含敏感信息)desktop_screenshot - 屏幕截图(可能包含隐私内容)建议在 OpenClaw 配置中启用审批模式:
系统支持两种后端:
切换后端:
desktop_set_backend(backend="pywinauto")
所有操作返回 JSON 格式结果:
{
"status": "ok", // 或 "error"
"message": "操作描述",
// 其他字段...
}
建议检查 status 字段确认操作是否成功。
Q: 为什么鼠标移动不准确?
A: 可能是分辨率缩放问题,尝试使用 desktop_screen_size() 检查实际分辨率。
Q: 图像识别找不到目标?
A: 降低 confidence 参数值,或确保图像与屏幕显示一致。
Q: 中文输入乱码? A: 确保系统编码正确,或使用剪贴板方式输入。
Q: pywinauto 无法找到控件? A: 部分应用使用自定义 UI,无法被 UI Automation 识别,改用坐标或图像方式。