📦 Atu Desktop Control — 全桌面自动化

v1.0.0

一键掌控桌面:截图、鼠标、键盘、窗口、剪贴板、屏幕信息,全自动化操作,无网络请求,安全隔离。

0· 77·0 当前·0 累计
qoohsuan 头像by @qoohsuan (Qoohsuan)
下载技能包
最后更新
2026/3/26
0
安全扫描
VirusTotal
可疑
查看报告
OpenClaw
安全
medium confidence
代码与说明与声明用途(桌面自动化)一致,但存在轻微实现差异,并合法授予截图、键鼠、剪贴板等强大本地权限,安装前请权衡。
评估建议
该技能确实提供本地桌面自动化,但授予截图、击键、剪贴板等高权限。安装前:1) 仅信任作者或自行审码;2) 缺失 Windows setup.ps1 与 pygetwindow 依赖,需补全;3) 不确定时在 VM 运行;4) 检查无网络上传(当前未发现);5) 若允许自主调用,将能执行 CLI 控制桌面,建议限制或需逐次确认。...
详细分析 ▾
用途与能力
名称/描述(桌面自动化:截图、鼠标、键盘、窗口、剪贴板)与 Python 脚本及 README 一致。脚本实现所列功能,未请求无关云凭据或外部服务。
指令范围
SKILL.md 明确指示代理在 venv 运行技能 Python CLI 并提供示例 exec 调用,使代理可在技能目录执行任意命令并控制主机桌面(截图、读写剪贴板、发送击键)。符合用途但权限强大敏感。另 SKILL.md/README 引用缺失的 Windows setup.ps1,需核实。
安装机制
无注册级安装规范,但包含 setup.sh 通过 pip 安装 PyPI 包(pyautogui、pillow、pyperclip)。PyPI 安装常见但有供应链风险。setup.sh 未安装窗口命令所需的 pygetwindow,且 Windows setup.ps1 缺失,安装脚本不完整。
凭证需求
技能未声明环境变量、凭据,代码未使用网络库,不请求机密或无关环境访问。
持久化与权限
always 为 false,技能不请求持久或跨技能配置变更,仅在调用时运行,未声明常驻行为。
安全有层次,运行前请审查代码。

运行时依赖

无特殊依赖

版本

latestv1.0.02026/3/26

首次发布:完整 Windows 桌面自动化——截图、鼠标、键盘、窗口管理、剪贴板、屏幕信息。干净、安全、无网络请求,已启用故障保护。

可疑

安装命令

点击复制
官方npx clawhub@latest install atu-desktop-control
镜像加速npx clawhub@latest install atu-desktop-control --registry https://cn.longxiaskill.com

技能文档

自动化桌面:截图、鼠标、键盘、窗口管理、剪贴板及屏幕信息。
所有命令均以 JSON 输出 "ok": true/false,便于 agent 可靠解析。

安装

运行安装脚本以创建 Python 虚拟环境并安装依赖。技能目录即本 SKILL.md 所在位置 —— 下文所有路径均相对于技能根目录

Windows (PowerShell):

powershell -ExecutionPolicy Bypass -File scripts\setup.ps1

Linux / macOS:

bash scripts/setup.sh

如何运行

Python 可执行文件位于 venv 中。按技能目录解析路径:

操作系统Python 路径
Windows.venv\Scripts\python.exe
Linux/Mac.venv/bin/python
所有命令遵循以下格式:
 scripts/desktop.py  [subcommand] [args]

Agent 简写 —— 将工作目录设为技能根目录,然后:

exec({
  command: ".venv\\Scripts\\python.exe scripts\\desktop.py  [args]",
  workdir: ""
})
其中 为本技能目录(包含本 SKILL.md 的文件夹)的绝对路径。

命令

截图

# 全屏截图(保存到 captures/ 目录,带时间戳文件名)
python scripts/desktop.py screenshot
# 保存到指定路径
python scripts/desktop.py screenshot -o C:\tmp\shot.png
# 区域截图(left top width height)
python scripts/desktop.py screenshot --region 0 0 800 600
输出:{"ok": true, "path": "...", "width": 1920, "height": 1080}

鼠标

# 当前位置
python scripts/desktop.py mouse pos
# 移动到坐标
python scripts/desktop.py mouse move 500 300
python scripts/desktop.py mouse move 500 300 --duration 0.5
# 点击(left/right/middle,single/double/triple)
python scripts/desktop.py mouse click 500 300
python scripts/desktop.py mouse click 500 300 --button right
python scripts/desktop.py mouse click --clicks 2
# 从 (100,100) 拖到 (400,400)
python scripts/desktop.py mouse drag 100 100 400 400 --duration 1.0
# 滚动(正数=上,负数=下)
python scripts/desktop.py mouse scroll 3
python scripts/desktop.py mouse scroll -5
python scripts/desktop.py mouse scroll 3 --direction horizontal

键盘

# 输入 ASCII 文本
python scripts/desktop.py key type "hello world"
# 带间隔输入
python scripts/desktop.py key type "slow typing" --interval 0.1
# 输入 Unicode / CJK 文本(自动使用剪贴板粘贴)
python scripts/desktop.py key type "你好世界"
# 单键按压(用 --times 重复)
python scripts/desktop.py key press enter
python scripts/desktop.py key press tab --times 3
# 组合键
python scripts/desktop.py key hotkey ctrl c
python scripts/desktop.py key hotkey ctrl shift s
python scripts/desktop.py key hotkey alt f4
注意: 非 ASCII 文本(CJK、emoji 等)key type 会自动通过 Ctrl+V 粘贴。

窗口

# 列出所有窗口(标题 + hwnd)
python scripts/desktop.py window list
# 激活(前置)—— 按标题子串匹配,不区分大小写
python scripts/desktop.py window activate "Chrome"
python scripts/desktop.py window activate 1234567   # 按 hwnd
# 最小化 / 最大化
python scripts/desktop.py window minimize "Notepad"
python scripts/desktop.py window maximize "Code"
# 关闭窗口
python scripts/desktop.py window close "Notepad"
# 获取窗口信息(位置、大小、状态)
python scripts/desktop.py window info "Chrome"
# 调整窗口大小(宽 高,单位像素)
python scripts/desktop.py window resize "Notepad" 800 600
# 移动窗口(x y 坐标)
python scripts/desktop.py window move "Notepad" 100 100

剪贴板

# 读取剪贴板
python scripts/desktop.py clipboard get
# 写入剪贴板
python scripts/desktop.py clipboard set "copied text"

屏幕

# 获取屏幕分辨率
python scripts/desktop.py screen size
# 获取 (x, y) 处像素颜色
python scripts/desktop.py screen pixel 100 200
像素输出:{"ok": true, "x": 100, "y": 200, "r": 255, "g": 128, "b": 0, "hex": "#ff8000"}

等待

# 等待 N 秒(自动化序列中常用)
python scripts/desktop.py wait 2.5

版本

python scripts/desktop.py --version

场景示例

“截一张全屏图并展示桌面”

exec: .venv\Scripts\python.exe scripts\desktop.py screenshot
→ 返回 JSON 含路径 → 用图像工具展示截图

“打开记事本并输入文本”

exec: .venv\Scripts\python.exe scripts\desktop.py key hotkey win r
exec: .venv\Scripts\python.exe scripts\desktop.py wait 0.5
exec: .venv\Scripts\python.exe scripts\desktop.py key type "notepad"
exec: .venv\Scripts\python.exe scripts\desktop.py key press enter
exec: .venv\Scripts\python.exe scripts\desktop.py wait 1
exec: .venv\Scripts\python.exe scripts\desktop.py key type "Hello from desktop-control!"

“最大化 Chrome 窗口”

exec: .venv\Scripts\python.exe scripts\desktop.py window maximize "Chrome"

“读取剪贴板内容”

exec: .venv\Scripts\python.exe scripts\desktop.py clipboard get

“移动并调整窗口大小”

exec: .venv\Scripts\python.exe scripts\desktop.py window move "Notepad" 0 0
exec: .venv\Scripts\python.exe scripts\desktop.py window resize "Notepad" 1024 768

安全

  • 默认启用防呆模式:将鼠标移到左上角 (0,0) 可中止任何 pyautogui 操作。
  • 使用 --no-failsafe 可禁用(不推荐)。
  • 所有动作返回结构化 JSON 以供审计。
  • 截图仅本地保存 —— 无网络请求。
  • 截图目录:captures/(相对于技能根目录)。

可选依赖

如需高级工作流,可手动安装:

用途
openpyxl读写 Excel
python-docx读写 Word
pywin32Windows COM 高级自动化
默认安装脚本不会安装。需要时请手动:
.venv\Scripts\pip install openpyxl python-docx pywin32

故障排除

问题解决
pyautogui not installed运行 scripts/setup.ps1(Windows)或 scripts/setup.sh(Linux/Mac)
Window not foundwindow list 查看可用窗口;匹配为不区分大小写的子串
Failed to activate窗口可能已最小化 —— 脚本先尝试 restore(),但部分应用会抗拒
截图为黑常见于 GPU 加速应用;尝试区域截图
key type 输入 CJK 乱码应自动使用剪贴板粘贴;确认已安装 pyperclip
FAILSAFE 触发鼠标触及 (0,0) 角;此为有意安全机制 —— 移开鼠标重试
Linux 权限被拒pyautogui 需 X11/Wayland 访问;请在 GUI 会话运行,勿用纯 SSH

限制

  • 以 Windows 为主:完整功能(窗口管理、所有快捷键)在 Windows 上最佳。Linux/macOS 通过 pyautogui 部分支持,pygetwindow 行为可能不同。
  • 需 GUI 会话:必须在带显示的桌面会话运行。无头服务器或未转发的 SSH 会失败。
  • 单显示器screenshot 默认仅捕获主屏。多屏需用 --region
  • 管理员窗口:非管理员 Python 进程无法操作以管理员身份运行的窗口(Windows UAC)。
  • 屏幕缩放:125%、150% 等 DPI 缩放可能导致坐标偏差。用 screen size 验证实际分辨率。
数据来源ClawHub ↗ · 中文优化:龙虾技能库