返回顶部
d

desktop-agent-ops桌面代理操作

Execute cross-platform desktop tasks through a packaged desktop automation skill that guides the main agent to observe the screen, focus apps and windows, call helper scripts for screenshots and input actions, verify each step, clean up task context, and only escalate to multi-agent collaboration when tasks become clearly multi-window or multi-app. Use when the user wants desktop GUI control, native app operation, window focus, screenshots, click and type flows, or cross-platform desktop workflo

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.3
安全检测
已通过
220
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

desktop-agent-ops

桌面代理操作

将此技能作为桌面图形界面任务的主代理操作手册使用。



强制要求:自动设置门控(每次会话的首要操作

bash
python3 DIR>/scripts/firstrun_setup.py --check

如果 ready: false,则运行设置(自动安装所有内容):

bash
python3 DIR>/scripts/firstrun_setup.py

首次运行时自动安装:

  1. 1. 平台检测(macOS / Windows / Linux)
  2. cliclick + tesseract(macOS 通过 brew 安装;Linux 会打印指南)
  3. 根据系统区域设置自动检测 OCR 语言包(中文→chi_sim,日本語→jpn 等)
  4. Python 虚拟环境 + pillow、pyautogui、pytesseract、opencv-python、numpy(通过 uv 或 pip)
  5. 操作系统权限(屏幕录制、辅助功能、自动化),自动打开系统设置
  6. 冒烟测试(截图 + 鼠标移动验证)

设置完成后,为所有后续调用设置 $PY:

PY=AGENTOPS_PYTHON>

如果设置未就绪,请勿继续。



核心执行循环

每个桌面任务都遵循此循环。无例外。

1. 自动设置门控 ← 每个会话运行一次
2. 初始化任务上下文 ← 创建隔离的临时目录
3. 聚焦目标应用 ← 将应用置于前台,确认在最前
4. 获取窗口边界 ← 了解精确位置和大小
5. 捕获该窗口 ← 仅截取目标窗口
6. 分析捕获内容 ← 读取截图或运行 OCR
7. 通过 OCR 定位目标 ← 在窗口边界内查找文本/按钮
8. 操作前验证 ← 移动光标,截取带光标的截图,确认
9. 执行一个操作 ← 点击、输入、滚动、按键

  1. 10. 再次捕获 ← 截图查看结果
  2. 验证结果 ← 用户界面是否按预期变化?
  3. → 如果还有更多步骤,转到第 5 步
  4. 清理 ← 删除任务临时目录

关键原则:

  • - 一次只执行一个操作。切勿盲目连锁操作。
  • 每次操作后务必验证。如果验证失败,重新捕获并重试——不要猜测。
  • 始终在特定窗口内操作。切勿基于全屏假设进行点击。



窗口范围定位(正确方式)

切勿在全屏截图上进行 OCR 或点击。 始终将范围限定在目标应用窗口内。

六步流程

┌─────────────────────────────────────────────────────────┐
│ 第 1 步:聚焦目标应用 │
│ $PY desktop_ops.py focus-app --name AppName │
│ → 将应用置于前台 │
├─────────────────────────────────────────────────────────┤
│ 第 2 步:获取窗口边界 │
│ $PY desktop_ops.py front-window-bounds --app AppName│
│ → 返回逻辑坐标 {x, y, width, height} │
├─────────────────────────────────────────────────────────┤
│ 第 3 步:仅捕获该窗口 │
│ $PY desktop_ops.py capture-region --x X --y Y │
│ --width W --height H --output /tmp/window.png │
├─────────────────────────────────────────────────────────┤
│ 第 4 步:在窗口内进行 OCR │
│ $PY ocr_text.py --app AppName --python $PY │
│ → abs_box 坐标位于窗口内部 │
├─────────────────────────────────────────────────────────┤
│ 第 5 步:点击前验证 │
│ $PY desktop_ops.py move --x TX --y TY │
│ $PY desktop_ops.py screenshot --with-cursor │
│ → 确认光标在正确的元素上 │
├─────────────────────────────────────────────────────────┤
│ 第 6 步:仅验证通过后点击 │
│ $PY desktop_ops.py click --x TX --y TY │
│ $PY desktop_ops.py screenshot → 验证结果 │
└─────────────────────────────────────────────────────────┘

快捷方式(推荐用于大多数定位):

bash
$PY scripts/target_resolver.py --app AppName --text 按钮文字 --python $PY

此单个命令:聚焦应用 → 获取边界 → 在窗口内进行 OCR → 返回包含 {x, y, withinwindow} 的 bestcandidate。

为什么窗口范围很重要:

方法风险
❌ 全屏 OCR微信和 Chrome 中的搜索 → 点击错误的应用
✅ 窗口范围
仅在微信窗口中的搜索 → 正确点击 |

故障恢复(关键)

当出现问题时,遵循以下规则:

OCR 未找到任何内容

  1. 1. 重新聚焦应用:focus-app --name AppName
  2. 重新获取边界:front-window-bounds --app AppName(窗口可能已移动/调整大小)
  3. 截取新截图并目视读取
  4. 尝试不同的区域标签(例如用 contentarea 代替 bottominput)
  5. 降低 OCR 置信度:--min-conf 30

点击无效

  1. 1. 截取带光标的截图以检查光标位置
  2. 窗口可能已移动——重新获取边界
  3. 尝试点击距离 OCR 中心偏移几个像素的位置
  4. 检查是否有对话框/弹出窗口阻挡了目标

应用状态改变(登录屏幕、对话框等)

  1. 1. 任何重大用户界面变化后务必重新获取窗口边界
  2. 导航或状态变化后务必重新运行 OCR
  3. 切勿重复使用旧坐标——它们可能已过时

通用重试规则

  • - 每个操作最多重试 3 次
  • 每次重试必须重新捕获最新状态
  • 如果 3 次重试均失败,附上截图报告失败并停止

泛化:如何将此应用于任何应用

此流程适用于任何桌面应用程序。以下是如何处理新应用的方法:

任何新应用的逐步指南:

  1. 1. 识别应用名称,与系统中显示的名称完全一致(例如Google Chrome、微信、系统设置)
  2. 聚焦并获取边界——这告诉你窗口的精确位置
  3. 截取窗口截图——查看屏幕上的内容
  4. 识别目标——你需要与哪些文本、按钮或区域进行交互?
  5. 使用 OCR 找到它——target_resolver.py --app AppName --text 目标文本
  6. 验证并点击

跨应用的常见模式:

任务操作方法
点击按钮OCR 查找文本 → 验证 → 点击
在字段中输入
OCR 查找字段标签 → 点击字段 → type --text | | 搜索内容 | OCR 查找搜索框 → 点击 → 输入查询 → 按回车 | | 滚动列表 | 获取窗口边界 → 在窗口中心使用 --x --y 滚动 | | 在应用间切换 | focus-app --name OtherApp → 重新获取边界 | | 处理对话框 | 截图 → OCR 查找对话框按钮 → 点击相应按钮 | | 导航菜单 | 点击菜单项 → 等待 → 截图 → OCR 新菜单 → 点击 | | 从下拉列表中选择 | 点击下拉列表 → 等待 → OCR 选项 → 点击选择 | | 读取屏幕内容 | 对窗口进行 OCR → 提取所有文本框 | | 验证操作 | 截图前后对比 → 比较或 OCR 查找预期文本 |

特定应用的适配:

应用类型特殊考虑
聊天应用(微信、Slack 等)输入前验证对话标题;使用 insert-newline 换行;验证发送机制
浏览器(Chrome、Safari 等)
地址栏在顶部;内容区域各异;可能需要处理标签页 | | 系统设置 | 深层导航;面板变化;每次导航后重新获取边界 | | 文件管理器(Finder、资源管理器) | 侧边栏 + 内容区域;双击打开;路径栏用于导航 | | 编辑器(VS Code、TextEdit 等) | 标签栏 + 编辑器区域;使用快捷键保存/撤销;在编辑器区域输入 |

文本输入和发送规则

输入文本

bash $PY scripts/desktop_ops.py type --text 你的消息
  • - 在所有平台上主要使用剪贴板粘贴方法——可靠,支持包括中日韩在内的所有语言

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 desktop-agent-ops-1776028174 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 desktop-agent-ops-1776028174 技能

通过命令行安装

skillhub install desktop-agent-ops-1776028174

下载

⬇ 下载 desktop-agent-ops v1.0.3(免费)

文件大小: 76.36 KB | 发布时间: 2026-4-13 10:01

v1.0.3 最新 2026-4-13 10:01
v1.0.3: Full skill bundle with scripts and references. 7.6x faster, CJK fix, Enter-to-send fix, 12 bug fixes, 8 new example cases

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部