AppAgent
让多模态模型通过屏幕操作完成安卓应用任务。
- Star 数
- ★ 6.9k
- 最近更新
- 1 年前
- License
- MIT
- 主语言
- Python
- FA 评分
- 证据不足
30 秒速览
- 运行形态
- 可在哪里用
- 兼容但需适配OpenAI API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 需要在连接的安卓设备上重复执行应用内任务的测试人员,可先用
learn.py探索该应用,再用run.py执行类似任务。 - 不适合
- 没有安卓设备或模拟器的用户
- 不愿为 GPT-4V 按次付费的个人用户
这个 Agent 能做什么,适合哪些场景?
AppAgent 是面向安卓应用操作的 LLM 多模态代理框架,以点击和滑动等简化动作模拟用户在手机上的交互。它分为探索与部署两个阶段:先自主探索应用,或从人工演示中学习,再在部署阶段执行新的任务。探索过程会为交互过的界面元素生成并保存文档,作为后续任务的知识库。项目通过 learn.py 收集探索或演示,通过 run.py 执行任务;模型可配置为 gpt-4-vision-preview 或 qwen-vl-max。运行边界是通过 adb 连接的安卓真机或 Android Studio 模拟器,而不是应用后端接口。
用户在 learn.py 中选择 autonomous exploration 或 human demonstration,输入应用名称和任务描述。自主模式会尝试完成任务、反思先前动作,并为已探索的元素生成文档;演示模式会截取手机屏幕、为可交互元素标注数字标签,并根据用户输入的动作和目标学习。随后,用户通过 run.py 选择应用、文档库和任务描述;代理使用已生成的文档执行任务,也可在没有文档时运行,但成功率不作保证。它以 config.yaml 中的模型配置调用 GPT-4V 或 Qwen,并通过 adb 与安卓设备或模拟器交互。
- 需要在连接的安卓设备上重复执行应用内任务的测试人员,可先用
learn.py探索该应用,再用run.py执行类似任务。 - 希望让模型学习某个应用操作流程的研究人员,可选择
human demonstration,手动演示相似任务并生成界面元素文档。 - 没有安卓真机但需要试用手机 GUI 代理的开发者,可使用 Android Studio 自带模拟器并安装待操作应用。
- 需要比较两种视觉语言模型在手机应用操作中表现的实验者,可在
config.yaml中在 GPT-4V 与qwen-vl-max之间切换。
如何安装或部署这个 Agent?
准备 Python 3,并安装 Android Debug Bridge(adb)。连接已开启 USB 调试的安卓设备;没有真机时,可安装 Android Studio 并使用其 Device Manager 中的模拟器。进入仓库目录后运行:
pip install -r requirements.txt在根目录的 config.yaml 中配置模型。使用 GPT-4V 时填入具备访问资格的 OpenAI API key;使用 Qwen 时创建阿里云 DashScope API key,填入 DASHSCOPE_API_KEY,并将 MODEL 从 OpenAI 改为 Qwen。
如何使用这个 Agent?
先运行 python learn.py,按提示选择自主探索或人工演示,输入应用名称与任务描述。完成后运行 python run.py,输入应用名称,选择要使用的文档库,再输入任务描述。若应用尚无文档库,可以选择无文档运行,但项目未保证成功率。
这个 Agent 有哪些优点和局限?
- 采用探索和部署两阶段流程:探索或演示产生的界面元素文档可在后续任务中复用。
- 通过点击、滑动等简化动作与应用交互,不要求访问应用后端。
- 同时提供自主探索与人工演示两种知识获取方式,适合不同程度的人工参与。
- 可配置 GPT-4V 或
qwen-vl-max,并明确指出可通过在scripts/model.py新增模型类接入自定义模型。
- 运行依赖 adb、已开启 USB 调试的安卓设备或 Android Studio 模拟器,适用范围限定在安卓操作环境。
- GPT-4V 需要购买具备资格的 OpenAI API key;项目估计每次请求/响应约花费 0.03 美元。
- README 指出
qwen-vl-max在 AppAgent 场景中的表现相对 GPT-4V 较差。 - 没有已有文档库时可以运行,但成功率不保证;生成文档也可能需要人工检查和修订。
这个 Agent 与同类方案有什么区别?
项目将 qwen-vl-max 作为 GPT-4V 的替代多模态模型:前者在 README 所述时期可免费使用,但在 AppAgent 场景中的表现较 GPT-4V 差。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| AppAgent 当前 | 证据不足 | 命令行工具免费 + 模型费 | ★ 6.9k | 1 年前 | Python | OpenAI API |
| OpenGUI 移动操作员 | 45 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 1.8k | 19 天前 | HTML | Codex · Claude Code · OpenAI API · Claude API |
| Mobilerun | 43 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 10k | 1 天前 | Python | OpenAI API · Claude API |
| Damru 安卓原生隐身浏览器自动化框架 | 42 · 缺口较多 | 命令行工具免费 | ★ 356 | 4 个月前 | Python | — |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据不足:仓库未提供权限管理、用户确认、数据流透明、敏感数据处理、依赖安全、外部影响、回滚或来源归属的说明。所有标准均未得到满足,因此得分为0。
证据不足:未提供自洽性、依赖可用性或失败消息的说明。所有标准均未得到满足,因此得分为0。
证据不足:未提供目标受众、能力边界、触发精度或环境适配的说明。所有标准均未得到满足,因此得分为0。
证据不足:未提供信息架构、安装说明、命名稳定性、示例或FAQ、已知限制、许可证、版本控制或维护责任的说明。所有标准均未得到满足,因此得分为0。
证据不足:未提供输出可用性、边际价值或成本效益的说明。所有标准均未得到满足,因此得分为0。
证据不足:未提供声明可追溯性、跨来源佐证或事实与推断分离的说明。所有标准均未得到满足,因此得分为0。
- 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
- 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
- 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
- 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
- 仓库未提供任何安全或隐私相关文档,使用前需自行评估风险。
- 未提供依赖安全审计,依赖项可能存在未知漏洞。
- 未提供回滚机制,操作可能不可逆。
- 未提供数据流透明性说明,用户数据可能被发送至第三方API。