Eta GUI Agent如何自动操作App:基于无障碍服务的点击、滚动与输入实战指南
发布时间:2026/10/11 12:00:58 锦皓数字建站

【免费下载链接】EtaSystem-level Android AI Agent with direct OS access. | Android 系统级 AI Agent——越过沙盒让模型访问底层API、屏幕、终端与你的数据项目地址https://gitcode.com/gh_mirrors/eta9/Eta点击查看免费下载Eta 是一个 Android 系统级 AI Agent其 GUI Agent 基于无障碍服务让模型直接对任意 App 屏幕执行点击、滚动与文本输入无需 Root 或 ADB。本文面向新手讲清 Eta GUI Agent 的三大核心动作——观察屏幕、点击/滚动执行、文本输入是如何实现的以及如何快速开启使用。一、为什么 GUI Agent 依赖无障碍服务普通 App 无法看到其他 App 的界面模型又怎么知道该点哪个按钮Eta 使用的是 Android 系统标准的无障碍服务通道AgentAccessibilityService.kt 位于 app/src/main/kotlin/io/github/mangi/eta/agent/accessibility/它同时提供三类能力UI 节点树系统把前台 App 的按钮、输入框、列表容器暴露为结构化节点带文本、坐标、可点击/可编辑/可滚动标记屏幕截图当界面以 Canvas、地图、图片为主时可附加当前屏幕原图给模型手势注入通过无障碍手势通道发出真实的点按、长按与滑动手势。服务声明在 agent_accessibility_service.xml 中canRetrieveWindowContent读取窗口内容、canPerformGestures执行手势、canTakeScreenshot逐窗口截图均已开启。由于走的是读屏软件同款通道用户授权后开箱即用。二、Eta 如何看见屏幕observe_screen 观察快照每次操作前模型先调用observe_screen生成一份观察快照其中包含前台应用、屏幕尺寸、observation_id和可见 UI 节点列表。默认参数约定在 AgentScreenObservationContract.kt 中参数默认值说明include_ui_treetrue返回 UI 节点列表include_screenshotfalse仅在节点不足以理解界面时显式开启max_nodes60节点数量范围 1–120树被截断时可提到 120快照机制有两个关键设计observation_idindex成对使用后续点击、滚动、输入必须携带同一次观察的observation_id界面变化后旧快照自动失效模型会被要求重新观察而不是拿着过期坐标乱点可验证等待点击后不盲目截图确认而是用wait_for_text支持 contains/exact/prefix/regex 四种匹配或wait_for_package等待目标文本或应用出现见 AgentTextSystemToolCatalog.kt。三、点击从坐标点到元素点三级精度 Eta 的点击工具按精度分为三级定义于 AgentGestureToolCatalog.kt工具适用场景tap/long_press按像素坐标点按/长按坐标默认取自最近一次截图tap_area点击矩形区域中心适合大按钮、大列表项tap_element/long_press_element点击观察快照中的 UI 节点最精确执行逻辑clickNode优先对节点执行系统ACTION_CLICK语义上等同于用户点击节点本身不可点击时回退为节点中心坐标的手势点按执行前校验节点仍然有效若界面已变化则返回STALE_ACTION_TARGET要求重新观察屏幕。长按时长被约束在 300–3000 ms避免误触发或无效操作。四、滚动不只看手势发出去了还要确认屏幕真的动了滚动是 GUI 自动化里最容易假成功的动作。Eta 的滚动工具scroll/scroll_element/swipe支持 up/down/left/right 四个内容浏览方向down表示显示下方内容。核心在 executeScroll 的执行与验证流程节点复检先刷新目标节点失效则报STALE_NODE轴保护目标只支持另一滚动轴时直接拒绝AXIS_MISMATCH防止横竖混滑导致误触侧滑返回边界预判执行前检测是否已在滚动边界避免无意义的假滚动双路执行优先节点滚动动作被拒绝时回退为区域内手势滑动证据分类执行后同时监听系统滚动事件和节点内容锚点位移由 ScrollEvidenceContract.kt 归类为MOVED_BY_EVENT事件确认、MOVED_BY_ANCHOR_MOTION锚点移动确认、AT_BOUNDARY已到边界或UNVERIFIED。如果无法确认内容是否移动结果会明确提示请先重新观察禁止直接重试——这一条对保证长任务稳定性非常关键。五、文本输入三种模式 自动剪贴板兜底工具行为长度上限input_text在光标处插入/替换选区支持 append / replace / paste 三种模式1000 字符replace_text整段替换当前聚焦输入框或指定节点4000 字符paste_text长文本输入直接写入失败时回退系统粘贴20000 字符clear_text清空输入框—几个值得注意的安全细节密码框拒绝重建系统不向无障碍服务返回密码输入框内容TextEditPlanner 会直接拒绝按选区重建文本此时需用replace_text提供完整值保证不会破坏已有密码剪贴板自动恢复粘贴兜底路径会把文本临时写入剪贴板并标记为敏感数据粘贴完成后自动恢复用户原来的剪贴板内容若期间用户自己改了剪贴板则绝不覆盖pasteText按键语义press_key的 ENTER 走输入法回车ACTION_IME_ENTERBACK/HOME/RECENTS 等走无障碍全局动作比模拟按键更贴近真实用户行为。六、实战一句话自动操作一个 App以打开笔记新建一条备忘晚上买牛奶为例模型侧的典型调用序列是launch_app打开目标应用wait_for_package确认目标包已在前台observe_screen获取 UI 节点树与observation_idtap_element点击新建按钮wait_for_text等待输入框出现input_text输入晚上买牛奶press_keyBACK退出并保存。每一步模型都能看到结构化的成功/失败原因失败时会换策略重试而不是盲目重放。App 内「工具列表」页面可以看到全部屏幕与控件、文本与剪贴板类工具卡片及其说明。七、快速上手如何开启无障碍服务与设备直达⚙️ 按下面三步即可让 Eta 获得 GUI 操作能力在系统设置 → 无障碍辅助功能→ 已安装的无障碍服务中开启EtaApp 内「权限状态」页也会显示无障碍辅助权限的健康状态在 Eta 设置中开启设备直达开关——GUI 点击、滚动、输入等能力属于设备直达工具组未开启时调用会返回DEVICE_DIRECT_TOOLS_DISABLED可选Android 14开启强制保持无障碍由 system 作用域的保护后端在系统后台禁用服务时做带次数上限和冷却的定向恢复避免长任务中途失效该开关默认关闭详见 docs/TECHNICAL.md。若无障碍服务未真实连接GUI 工具会返回明确的ACCESSIBILITY_UNAVAILABLE错误而不是静默降级到不可靠路径。八、安全边界Eta 不会做什么 GUI 自动化能力越大边界越重要。Eta 的设计约束包括不重复滚动无法确认屏幕是否移动时强制重新观察杜绝盲试不碰密码字段密码框内容不可读即不可重建不覆盖剪贴板粘贴后自动还原且尊重用户的新写入不偷偷改设置GUI 工具执行前确认真实服务连接保护未开启时本次动作直接失败截图不串窗截图按窗口采集并排除 Eta 自身的助理浮层与手势提示模型看到的画面与你眼睛看到的一致。九、相关模块路径与延伸阅读内容路径无障碍服务实现点击/滚动/输入/截图AgentAccessibilityService.kt手势工具 schematap/swipe/scrollAgentGestureToolCatalog.kt文本、等待与按键工具 schemaAgentTextSystemToolCatalog.ktobserve_screen 默认参数合同AgentScreenObservationContract.kt滚动证据分类ScrollEvidenceContract.kt输入光标选区规划TextEditPlanner.kt无障碍服务声明agent_accessibility_service.xml技术文档无障碍保护、功耗策略docs/TECHNICAL.md项目总览README.md掌握观察快照 → 元素点击 → 滚动验证 → 文本输入这条主线后你就能理解 Eta GUI Agent 如何把一句自然语言指令翻译成一次次可验证的真实屏幕操作了。赞分享【免费下载链接】EtaSystem-level Android AI Agent with direct OS access. | Android 系统级 AI Agent——越过沙盒让模型访问底层API、屏幕、终端与你的数据项目地址https://gitcode.com/gh_mirrors/eta9/Eta点击查看免费下载相关推荐CUDA-Programming10个线程组织技巧提升GPU计算效率终极指南CUDA Programming10个线程组织技巧提升GPU计算效率终极指南 想要充分利用GPU的强大并行计算能力吗CUDA编程中的线程组织是关键所在本文示例工程教程高性能计算基于 Rube MCP 自动化 Test App 操作Composio Test App 工具链 Agent 工作流实战指南基于 Rube MCP 自动化 Test App 操作Composio Test App 工具链 Agent 工作流实战指南 导读 Test App测试应用AI 技能AI 插件人工智能工作流自动化iScroll无障碍滚动ARIA属性与键盘操作实现iScroll无障碍滚动ARIA属性与键盘操作实现 无障碍滚动的重要性 在现代Web应用开发中无障碍设计A11Y已成为不可或缺的一环。根据相关研究统计前端UI组件创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。