通过 handsfree-windows CLI控制 Windows 本机应用 (UIA) 和浏览器 (Playwright) 的引导技能,用于自动化或测试桌面应用。
手无寸铁的 Windows Control 1:A 本地Windows apps(UIA)和网页浏览器(Playwright)自动化的导引技能是一项面向实际任务的技能,主要用于通过手无寸铁的窗口 CLI. 首先使用:自动设置;在第一次使用时, 运行前的设置。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
一项用于自动化原生 Windows 应用(UIA)和网页浏览器(Playwright)的引导式技能,通过 handsfree-windows CLI 实现。
首次使用时,请先运行配置脚本,再执行其他任何命令:
python scripts/setup.py
该命令将执行以下操作:
handsfree-windows 仓库至 ~/.handsfree-windows/cli/(公开仓库,仅读取权限)pip install -e 安装(标准 pip 可编辑安装)check_setup.py 验证全部组件是否正常工作如需跳过浏览器安装(所有以 browser- 开头的命令将不可用):
python scripts/setup.py --no-browser
如需安装到自定义目录:
python scripts/setup.py --install-dir "C:yourpreferredpath"
已安装?可随时验证:
python scripts/check_setup.py
~/.handsfree-windows/cli/(或由 --install-dir 指定的路径)~/.handsfree-windows/browser-profiles//
包含 Cookie 和登录会话。删除该目录可重置浏览器身份认证状态。~/.handsfree-windows/browser-state.json(最近访问的 URL)~\AppData\Local\ms-playwright(Windows 平台,约 800 MB)如需彻底卸载全部内容:
pip uninstall handsfree-windows -y Remove-Item -Recurse -Force "$env:USERPROFILE\.handsfree-windows"
hf tree 或 hf inspect,再对实际存在的元素进行操作。drag-canvas 仅适用于画布/墨迹类界面(如 Paint、绘图类应用等)。# 启动任意已安装的应用 hf start --app "Outlook" # 查找窗口 hf list-windows --json # 探查控件(不依赖猜测) hf tree --title-regex "Outlook" --depth 10 --max-nodes 30000 # 对探查结果执行操作 hf click --title "Outlook" --name "New mail" --control-type "Button" # 检查光标下方的元素 hf inspect --json
# 打开 URL —— 登录会话将自动保存在用户资料中 hf browser-open --url "https://example.com" # 操作前先检查页面结构 hf browser-snapshot --fmt text # 执行操作 hf browser-click --text "Sign in" hf browser-type --selector "#email" --text "user@example.com" # 验证结果 hf browser-screenshot --out result.png
- action: start
args:
app: "My Desktop App"
- action: browser-open
args:
url: "https://app.example.com"
headless: false
- action: browser-click
args:
text: "Get Started"
- action: sleep
args:
seconds: 1
运行方式:hf run macro.yaml
references/api_reference.md