# 通用动作目录 > [返回文档中心](../README.md) · [任务协议](../protocol.md) · [后续工作建议](../roadmap.md) ## 动作状态 | 动作 | 当前状态 | 文档 | |---|---|---| | `WAIT` | **[已实现]**,条件扩展为 **[提案]** | [wait.md](wait.md) | | `CLICK` | **[部分实现]** | [click.md](click.md) | | `INPUT` | **[部分实现]** | [input.md](input.md) | | `BACK` | **[已实现]**,单次分发和验证为 **[提案]** | [back.md](back.md) | | `EXTRACT_TEXT` | **[已实现]** | [extract.md](extract.md) | | `EXTRACT` | **[提案]** | [extract.md](extract.md) | | `OPEN` | **[提案]** | [open.md](open.md) | | `SCROLL` | **[提案]** | [scroll.md](scroll.md) | | `SELECT_OPTION` | **[提案]** | [select-option.md](select-option.md) | | `SCREENSHOT` | **[提案]** | [screenshot.md](screenshot.md) | | `BRANCH` | **[提案]** | [流程控制](../flow-control.md#4-branch-提案) | 当前代码中的动作只有 `WAIT`、`CLICK`、`INPUT`、`BACK` 和 `EXTRACT_TEXT`。 ## 统一规则 每个 UI 动作遵循同一条简单流程: 1. 校验动作字段、`packageName` 和可选 `activityName`。 2. 在步骤 `timeoutMs` 内等待上下文和目标控件。 3. 默认要求目标唯一;多个目标明确失败。 4. 执行动作;有副作用的动作默认只分发一次。 5. 如果任务提供 `after`,重新读取页面并验证结果。 6. 返回 `success`、`code`、`message`、`output` 和 `elapsedMs`。 动作文件只描述动作特有参数。选择器、条件、输出和结果结构分别引用共享文档。 ## 实现检查清单 - 模型包含动作和参数。 - 解析器校验必要字段、类型和范围。 - 执行器有总超时,不无限等待。 - 驱动只提供 Android 基础能力,不包含目标 App 业务规则。 - 测试覆盖成功、未找到、多个目标、超时和底层失败。 - 文档状态与 `ActionType` 一致。