辅助功能 API 与标记集:让计算机操作智能体更可靠

Reddit r/ArtificialInteligence 工具

摘要

本文介绍了 Opendesk,这是一个开源工具,通过利用原生辅助功能 API 识别交互元素,取代了容易出错的像素坐标猜测,从而提高了计算机操作智能体的可靠性。

Opendesk:赋予任何 AI 智能体在桌面上的“眼睛”和“双手”。我之前一直在尝试不同模型的计算机操作能力,但我希望继续使用 Claude Code 和我自己的智能体框架来自动化真实的桌面任务,并通过自定义算法提高准确性。现在,你可以让智能体控制你的整个桌面(包括鼠标和键盘),更准确地执行实际工作流程并与应用程序和网站进行交互。示例包括: • “打开 Spotify 并播放一个 lofi 播放列表” • “前往 Twitter 并给我信息流中的前 3 篇帖子点赞” • “在 Chrome 中填写此表单” 此外,你还可以使用 Opendesk 实现以下功能: 1. 学习与回放 智能体可以观察你在屏幕上的操作,并在之后回放整个任务。例如:录制你登录仪表板并导出报告的过程——它随时可以根据命令重复执行。 2) 定时任务 在特定时间自动运行计算机操作任务。例如:每天早上 9 点,打开 Gmail 并总结未读邮件。 构建原因:大多数计算机操作演示的工作原理是将截图输入给大语言模型(LLM),并要求其输出像素坐标。这种方法虽然经常奏效,但会以可预测的方式失败:Retina 缩放、窗口重新定位、UI 密度以及任何布局变化都会导致其失效。 我在 Opendesk 中探索的方法是:首先查询平台的原生辅助功能 API(macOS 上的 AppleScript、Linux 上的 AT-SPI2、Windows 上的 UI Automation),获取带有标签和边界框的实际交互元素,然后在截图到达 LLM 之前,在这些元素上绘制编号标记。模型不再猜测坐标。它推理该执行什么操作,并通过标记编号引用元素。系统已经确切知道标记 7 在哪里。对于没有无障碍标签的元素(如画布区域、视频播放器、游戏),鼠标坐标仅作为后备方案。 另一个类似的想法是:在回放录制的操作流程时,不要回放坐标。将轨迹存储为一系列事件和截图,在回放时将其作为上下文提供给 LLM,由 LLM 针对当前屏幕状态重新执行。这使得回放具有适应性,而非脆弱。 期待社区的反馈!😃 Github: [https://github.com/vitalops/opendesk](https://github.com/vitalops/opendesk)
查看原文

相似文章

持续导致桌面代理崩溃的无障碍树陷阱

Reddit r/AI_Agents

一位开发者分享了四种常见的无障碍树陷阱,这些陷阱会破坏桌面代理:应用切换后过时的 PID、模态面板拦截点击、多显示器坐标问题以及静默失败。解决方案包括检测最前应用的变化、显式检查模态、以及正确的坐标定位。

论计算机使用智能体的可靠性

Hugging Face Daily Papers

一篇预印本论文,分析为何计算机使用智能体首次成功却在重复执行时失败,将不可靠性归因于执行随机性、任务模糊性和行为变异性,并倡导重复评估与稳定策略。

Computer use in Codex

YouTube AI Channels

OpenAI demonstrates the 'Computer Use' feature in Codex, allowing the AI to directly interact with local GUI applications on macOS using an accessibility framework and the fast Spark model for non-blocking, high-speed automation.