Windows 语义化桌面控制
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_bf9357fd/desktop-computer-use。
技能介绍
坐标脚本为什么容易翻车
传统桌面自动化往往按屏幕坐标点击(例如「点 (100,200)」)。窗口移动、分辨率或 DPI 变化后,同一套脚本就会点错位置。更麻烦的是,脚本只能描述「点哪里」,很难表达「按名叫确定的按钮」这种人类直觉。
本技能怎么做
本技能走 Windows UI Automation(无障碍树) 路线:把按钮、输入框、菜单等当成有名称、类型和交互模式的对象。工作流大致是:
- 观察(observe):读取窗口无障碍树,为控件分配
@eN等状态内引用,写入临时 state 文件。 - 渐进披露:首屏只暴露根节点与直接子节点,深层用
search/expand/inspect再展开,避免树过大。 - 动作(act):优先语义动作(Invoke、Toggle、ValuePattern 设值等),必要时才在允许时回退坐标点击;
--headless/--ax-only可禁止原始键鼠输入。 - 浏览器:通过 Chrome/Edge 远程调试端口与 DevTools 协议控制网页,与桌面 UIA 路径分开。
设计思路与 pi-computer-use 一致,本实现为 Python、零编译,可在多种 Agent 运行环境里调用 scripts/ 下脚本。
适用边界
- 适合:设置、资源管理器、Office、标准控件业务系统、常见浏览器等带完整 UIA 树的 Windows 应用。
- 不适合:自绘 UI、游戏、DirectX 界面(无障碍树为空时只能退回截图+坐标方案)。
- 必须在本机 Windows 当前桌面会话运行;操作前先
observe,界面变化后需重新观察,@eN引用可能失效。 - 真实点击、拖拽、按键等带
--confirm门禁,执行前需向用户确认目标与风险。
使用场景
- 在资源管理器或业务客户端里按窗口语义定位「确定」「保存」,自动填表并提交,无需维护坐标脚本
- 等某个系统弹窗或状态栏文案出现后再继续操作,用 `wait_for` / `read_text` 从标准控件读出界面文字
- 让 Agent 在本机打开带标准控件的 Windows 应用(计算器、记事本、设置),完成点选、勾选、下拉选择与输入框设值
- 通过 Chrome/Edge 调试实例自动打开指定网页、填写表单元素并截图,且不改动日常浏览器用户配置
适合人员
- 每天要在一套 Win32/标准控件业务系统里重复录入、点审批按钮的内勤或运营
- 在 Windows 上验证安装包或企业客户端 UI 流程的测试工程师,需要可读无障碍树而非纯图像点击
- 在本机 WorkBuddy / Cursor 等环境里做 Agent 原型、要让模型「看见并操作」真实桌面的 Python 开发者
- 需要把遗留 Windows 桌面流程交给 AI 分步执行、且能接受本机会话与 `--confirm` 门禁的自动化实施人员