Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计提醒

desktop-automation-ultra桌面自动化超

Agent Skill

desktop-automation-ultra 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

16,010

周安装

654

GitHub Stars

公开资料未说明

下载量

5,127
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:desktop-automation-ultra(桌面自动化超)
来源仓库:https://github.com/jordaneparis/desktop-automation-ultra
安装命令:
openclaw skills install desktop-automation-ultra
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install desktop-automation-ultra

简介

通过安全、记录的鼠标、键盘、OCR、图像识别、宏记录和重播功能,在 Windows/macOS/Linux 上自动执行全面的桌面任务。

SKILL.md

Desktop Automation Skill v2.0

![License: MIT](https://opensource.org/licenses/MIT) ![OpenClaw](https://github.com/openclaw/openclaw)

Complete desktop automation for Windows/macOS/Linux. Zero-error edition.


⚠️ Privacy & Security

CRITICAL: This skill captures ALL keyboard and mouse events.

  • NEVER record while entering passwords, credit cards, or secrets
  • Recorded macros are stored as JSON in recorded_macro/ directory
  • Always use dry_run=true to test before actual execution
  • Store macros in secure locations only
  • Enable safe mode by default (it is)

🎯 What It Does

Automate desktop interactions without APIs:

  • ✅ Click, type, drag, scroll
  • ✅ Capture screenshots
  • ✅ Recognize images (OpenCV template matching)
  • ✅ Extract text (Tesseract OCR)
  • ✅ Record and replay macros
  • ✅ Find windows by title
  • ✅ Clipboard operations
  • ✅ Safe mode with dry_run for testing

🔐 Safety Features (Built-In)

1. Safe Mode (Default: ON)

Blocks dangerous actions when enabled:

  • type, press_key, click, drag are monitored
  • Parameters are scanned for dangerous patterns: rm , del , C:\Windows\, /etc/, sudo, etc.
  • Blocked actions are logged

2. Dry-Run Mode

All actions support dry_run=true:

  • Action is logged but NOT executed
  • Use for testing before running real automation

3. Audit Logging

Every action logged to ~/.openclaw/skills/desktop-automation-logs/automation_YYYY-MM-DD.log

4. Thread Safety

All modules use locks to prevent race conditions.


📦 Installation

1. Extract Files

Place desktop-automation-ultra-local/ in:

  • Windows: C:\Users\<User>\.openclaw\workspace\skills\
  • Linux/macOS: ~/.openclaw/workspace/skills/

2. Install Dependencies

pip install -r requirements.txt

3. Optional: Tesseract for OCR

For find_text_on_screen functionality:

  • Windows: Download installer from https://github.com/UB-Mannheim/tesseract/wiki
  • Linux: sudo apt install tesseract-ocr
  • macOS: brew install tesseract

4. Restart OpenClaw

openclaw gateway restart

🚀 Quick Start

Basic Click

action: click
params:
  x: 100
  y: 100
  dry_run: true  # Test first!

Type Text

action: type
params:
  text: "Hello World"
  interval: 0.05  # Delay between keys
  dry_run: false

Find Image

action: find_image
params:
  template_path: "templates/button.png"
  confidence: 0.95

Extract Text (OCR)

action: read_text_ocr
params:
  lang: "fra"  # French

📖 Core Actions

Mouse & Keyboard

ActionParametersReturns
clickx, y, button="left", dry_run{status, x, y}
typetext, interval=0.05, dry_run{status, text}
press_keykey, dry_run{status, key}
move_mousex, y, duration=0.5, dry_run{status, x, y}
scrollamount=5, dry_run{status, amount}
dragstart_x, start_y, end_x, end_y, duration=0.5, dry_run{status}
copy_to_clipboardtext, dry_run{status}
paste_from_clipboarddry_run{status, length}

Screenshots & Windows

ActionParametersReturns
screenshotpath="~/Desktop/screenshot.png", dry_run{status, path}
get_active_windowdry_run{status, title, x, y, width, height}
list_windowsdry_run{status, windows[], count}
activate_windowtitle_substring, dry_run{status, title}

Image Recognition (requires OpenCV)

ActionParametersReturns
find_imagetemplate_path, confidence=0.9, dry_run{status, x, y, confidence}
find_image_multiscaletemplate_path, confidence, scale_factors, dry_run{status, x, y, confidence, scale}
wait_for_imagetemplate_path, timeout=30.0, interval=0.5, confidence=0.9, dry_run{status, x, y, confidence}

OCR / Text Recognition (requires Tesseract)

ActionParametersReturns
find_text_on_screentext, lang="fra", dry_run{status, locations[], count}
find_all_text_on_screentext, lang="fra", dry_run{status, data[], count}
read_text_ocrlang="fra", dry_run{status, text, length}
read_text_regionx, y, width, height, lang="fra", dry_run{status, text, length}
extract_screen_dataregion={}, output_format="json", lang="fra", dry_run{status, data[], count}

Macros

ActionParametersReturns
play_macromacro_path, speed=1.0, dry_run{status, executed, total, errors[]}
stop_macro{status}
play_macro_with_subroutinesmacro_path, speed=1.0, sub_macros_dir, dry_run{status, executed, total, errors[]}

Safety Management

ActionParametersReturns
set_safe_modeenabled=true{status, safe_mode}
get_safety_status{status, safe_mode_enabled, dangerous_patterns, dangerous_actions[]}

📝 Macro Format

Recorded macros are JSON with this structure:

{
  "events": [
    {
      "action": "click",
      "params": {"x": 100, "y": 50},
      "wait": 500
    },
    {
      "action": "type",
      "params": {"text": "Hello"},
      "wait": 200
    },
    {
      "action": "press_key",
      "params": {"key": "return"},
      "wait": 100
    }
  ]
}
  • action — action name
  • params — action parameters
  • wait — milliseconds to wait before next action

🔧 Advanced: Mouse Move Debouncing

To avoid recording hundreds of move_mouse events during a smooth drag, the recorder uses debouncing:

  • When you move the mouse, events are suppressed during movement
  • After you stop moving for N seconds (default: 1 sec), the final position is recorded
  • This reduces macro size dramatically while preserving intended end positions
  • Configurable via GUI: set debounce time (0.1–10 seconds)

Example:

  • Fast horizontal line → 1 move_mouse event (end coordinates)
  • Slow, stop-and-go → multiple move_mouse events (one per "stop")

🧪 Testing

Run the unit test suite:

python scripts/test_automation.py

Output:

test_dry_run_click ... ok
test_get_active_window ... ok
test_safe_mode_blocks_dangerous ... ok
...
Ran 13 tests
OK

📊 Logging

All actions logged to: ~/.openclaw/skills/desktop-automation-logs/automation_YYYY-MM-DD.log

Example:

[2026-03-15 10:23:45] [INFO] ActionManager: ActionManager initialized with safe_mode=True
[2026-03-15 10:23:46] [INFO] ActionManager: Clicked at (100, 50) with left button
[2026-03-15 10:23:47] [INFO] ActionManager: Typed: Hello World

⚙️ Configuration

Environment Variables

# Override log directory
export AUTOMATION_LOG_DIR=~/my_logs

# Disable safe mode globally (NOT recommended)
export AUTOMATION_SAFE_MODE=false

🐛 Troubleshooting

"pyautogui failsafe triggered"

Move mouse to corner of screen to stop.

OCR returns empty text

  • Ensure Tesseract is installed correctly
  • Check image quality (high contrast helps)
  • Try read_text_ocr instead of find_text_on_screen

Image recognition not finding template

  • Ensure template image exists and is correct format (PNG, JPG)
  • Try lower confidence threshold (e.g., 0.85 instead of 0.95)
  • Use find_image_multiscale to detect at different scales

Actions blocked by safe mode

This is intentional. To run dangerous actions:

action: set_safe_mode
params:
  enabled: false

Then execute your action. Re-enable safe mode immediately after:

action: set_safe_mode
params:
  enabled: true

📄 License

MIT License. See LICENSE file.


📚 Files Structure

desktop-automation-ultra-local/
├── SKILL.md                          (This file)
├── requirements.txt                  (Python dependencies)
├── lib/
│   ├── actions.py                   (Core click/type/drag actions)
│   ├── image_recognition.py         (OpenCV template matching)
│   ├── ocr_engine.py                (Tesseract OCR)
│   ├── macro_player.py              (Record/playback macros)
│   ├── safety_manager.py            (Safe mode, blocking)
│   └── utils.py                     (Logging, helpers)
├── scripts/
│   └── test_automation.py           (Unit tests)
└── recorded_macro/                  (Output: saved macros)

Validation Checklist

  • [x] All modules have proper error handling
  • [x] Thread safety implemented (locks)
  • [x] Safe mode enabled by default
  • [x] Dry-run mode on all actions
  • [x] Comprehensive logging
  • [x] Unit tests (13 tests)
  • [x] UTF-8 encoding for all text
  • [x] No hardcoded paths (uses expanduser)
  • [x] Graceful fallbacks for missing dependencies
  • [x] Documentation complete

Status: PRODUCTION READY


*Last updated: 2026-03-15* *Version: 2.0.0*

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

89.1%
按下载量换算4,568

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

可疑

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills