AppAgentx 开源AI手机操控使用分享

news2025/5/25 13:06:28

项目地址: https://appagentx.github.io/?utm_source=ai-bot.cn

GitHub仓库: https://github.com/Westlake-AGI-Lab/AppAgentX/tree/main

arXiv技术论文:https://arxiv.org/pdf/2503.02268

AppAgentx是什么:

AppAgentX西湖大学推出的一种自我进化式 GUI 代理框架。它通过从执行历史中学习并抽象出高级动作,来提升智能手机交互的效率和智能性。该框架利用记忆与进化机制实现持续优化,性能在测试中显著优于现有方法,为智能代理开辟了新方向。

AppAgentx的主要功能:

自动归纳高效操作模式:检测任务执行中的重复性操作,自动总结为高级别的“一键”操作,简化操作流程。

减少重复计算,提升执行效率:基于记忆和复用执行策略,避免重复推理,让任务执行更高效。

基于视觉的通用操作能力::依赖屏幕视觉信息进行操作,无需后端API支持,在不同软件和设备上通用,实现“即插即用”。

支持复杂任务和跨应用操作: :像人类一样操作各种应用程序,支持复杂的跨应用任务,例如从网页爬取信息后填入Excel,或在多个软件之间联动操作。

AppAgentX的应用场景:

自动化日常操作:自动完成手机设置调整、应用内任务等,减少手动操作。

智能助手增强: 集成到智能助手,帮助用户快速执行复杂任务

企业流程自动化: 用于企业数据录入、报表生成等重复性任务,提高效率。

跨应用任务管理: 支持在不同应用间切换和操作,实现跨平台自动化。

辅助特殊人群: 简化操作流程,帮助老年人或身体不便者更轻松使用手机。

开始使用

  1. LLM 设置和依赖项

本项目使用 LangChain 和 LangGraph 构建代理框架。建议按照其官网建议的安装方法进行安装。其他依赖项请使用pip install -r requirements.txt。LLM 配置请在 文件中调整相关设置config.py

  1. 数据库部署与连接

我们使用 Neo4j 作为代理的内存存储,并利用其 Cypher 查询语言来方便地检索节点。向量存储则使用 Pinecone。请确保在config.py文件中配置了必要的 API 和密钥。更多信息,请访问Neo4j 官网Pinecone 官网

config.py 配置文件

你需要安装Neo4j 到本地,进行部署和运行,同样的Pinecone需要API_KEY

  1. 屏幕识别与特征提取部署

为了简化部署,我们使用 Docker 将屏幕识别和特征提取服务容器化。有关启动容器的说明,请参阅后端文件夹中的 README 文件。请注意,这可能需要 Docker 的 GPU 支持;有关配置,请参阅 Docker 官方文档。这种模块化方法可以轻松替换不同的屏幕解析和特征提取工具,从而显著增强模型的可扩展性。如果您需要部署,请参阅当前项目后端文件夹中的README 文件。

  1. 启动演示

要使用此项目,您首先需要配置ADB(Android Debug Bridge)以将您的 Android 设备连接到您的计算机。

  1. 设置 ADB 并连接您的设备
3.2 在您的电脑上安装 ADB

下载并安装Android Debug Bridge (adb) — 一种命令行工具,可实现您的电脑和 Android 设备之间的通信。

  • 在您的 Android 设备上启用 USB 调试:

  • 转到“设置” > “开发人员选项”并启用“USB 调试”。

  • 使用 USB 数据线将您的设备连接到 PC 。

推荐使用Qtscrcpy工具代替一下

同样的可以使用Android studio的工具进行链接

启动 Gradio

设置好设备或模拟器后,即可启动项目。我们使用Gradio作为前端界面。使用以下命令之一启动演示:

python demo.py 使用前提是你已经安装好了python环境

或者

gradio demo.py

现在,AppAgent就可以使用了!🚀

综上所述的仅适合你是有CUDA显卡的人适合. macos可以直接退出了,因为博主踩坑了. 我还在尝试使用,在macos上测试成功,有待实现.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2385359.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Axure设计之带分页的穿梭框原型

穿梭框(Transfer)是一种常见且实用的交互组件,广泛应用于需要批量选择或分配数据的场景。 一、应用场景 其典型应用场景包括: 权限管理系统:批量分配用户角色或系统权限数据筛选工具:在大数据集中选择特…

电机控制储备知识学习(五) 三项直流无刷电机(BLDC)学习(四)

目录 电机控制储备知识学习(五)一、三项直流无刷电机(BLDC)学习(四)1)软件方法控制电机转速2)PWM概念和PWM的产生3)转子位置检测和霍尔传感器的工作原理分析4)霍尔传感器安装角度和电…

Java—— 网络爬虫

案例要求 https://hanyu.baidu.com/shici/detail?pid0b2f26d4c0ddb3ee693fdb1137ee1b0d&fromkg0 http://www.haoming8.cn/baobao/10881.html http://www.haoming8.cn/baobao/7641.html上面三个网址分别表示百家姓,男生名字,女生名字,如…

Baklib内容中台的主要构成是什么?

Baklib内容中台核心架构 Baklib作为一站式知识管理平台的核心载体,其架构设计围绕智能搜索引擎优化技术与多终端适配响应系统展开。通过模块化内容组件的灵活配置,企业可快速搭建知识库、FAQ页面及帮助中心等标准化场景,同时借助可视化数据看…

深度解析 Java 中介者模式:重构复杂交互场景的优雅方案

一、中介者模式的核心思想与设计哲学 在软件开发的历史长河中,对象间的交互管理一直是架构设计的核心难题。当多个对象形成复杂的网状交互时,系统会陷入 "牵一发而动全身" 的困境。中介者模式(Mediator Pattern)作为行…

untiy实现汽车漫游

实现效果 汽车漫游 1.创建汽车模型 导入汽车模型(FBX格式或其他3D格式),确保模型包含车轮、车身等部件。 为汽车添加碰撞体(如 Box Collider 或 Mesh Collider),避免穿透场景物体。 添加 Rigidbody 组件,启用重力并调整质量(Mass)以模拟物理效果。 2.编写汽车控制脚本…

PID项目---硬件设计

该项目是立创训练营项目,这些是我个人学习的记录,记得比较潦草 1.硬件-电路原理电赛-TI-基于MSPM0的简易PID项目_哔哩哔哩_bilibili 这个地方接地是静电的考量 这个保护二极管是为了在电源接反的时候保护电脑等设备 大电容的作用:当电机工作…

Pluto实验报告——基于FM的音频信号传输并解调恢复

目录 一、实验目的 ................................ ................................ ................................ .................. 3 二、实验内容 ................................ ................................ ................................ ......…

Leetcode 2792. 计算足够大的节点数

1.题目基本信息 1.1.题目描述 给定一棵二叉树的根节点 root 和一个整数 k 。如果一个节点满足以下条件,则称其为 足够大 : 它的子树中 至少 有 k 个节点。 它的值 大于 其子树中 至少 k 个节点的值。返回足够大的节点数。 如果 u v 或者 v 是 u 的…

使用ps为图片添加水印

打开图片 找到文字工具 输入想要添加的水印 使用移动工具移动到合适的位置 选中文字图层 设置不透明度 快捷键ctrlt可以旋转 另存为png格式图片

x64_ubuntu22.04.5安装:cuda driver + cuda toolkit

引言 本文操作均已实践验证,安装流程来自nvidia官方文档,验证平台显卡:RTX4070。 验证日期:2025.5.24. 1.安装cuda driver 1.1.安装方式有2种,这里选择方式1: 从apt安装最省事💖&#xff0c…

开盘啦 APP 抓包 逆向分析

声明: 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 抓包 这是一个记录贴。 这个APP是数…

vs2022 Qt Visual Studio Tools插件设置

安装之后,需要指定QT中msvc编译器的位置,点击下图Location右边的按钮即可 选择msvc2022_64\bin目录下的 qmake.exe 另一个问题,双击UI文件不能打开设计界面 设置打开方式 选择msvc2022_64\bin目录下的designer.exe 确定即可 然后设置为默认值即可 确定…

Python包__init__.py标识文件解析

在 Python 中,__init__.py 文件是包(Package)的核心标识文件,它的存在使一个目录被 Python 解释器识别为「包」。这个文件有以下核心作用: 核心作用 标识包的存在 任何包含 __init__.py 的目录都会被 Python 视为一个包…

电商ERP管理系统,Java+Vue,含源码与文档,统筹订单、库存等,助力电商企业高效运营

前言: 在当今数字化飞速发展的电商时代,电商企业面临着日益激烈的市场竞争和复杂的业务运营环境。为了提升运营效率、降低成本、优化客户体验,一套高效、全面的电商ERP管理系统显得尤为重要。电商ERP管理系统整合了企业内部的各项业务流程&a…

Spring Boot微服务架构(四):微服务的划分原则

微服务划分原则(CRM系统案例说明) 一、微服务划分的核心原则 单一职责原则(SRP) 每个微服务只负责一个明确的业务功能服务边界清晰,避免功能混杂便于独立开发、测试和部署 业务领域驱动设计(DDD&#xff0…

【打卡】树状数组的操作

#define MAXN 1000 int n; // 数组实际长度 int array[MAXN]; // 原始数组(下标从0开始) int tree[MAXN]; // 树状数组(下标从1开始) int p[MAXN]; // 前缀和数组(下标从1…

HTTP协议初认识、速了解

目录 1. 什么是HTTP协议 2. HTTP协议特点 3. HTTP协议发展和版本 3.1. HTTP1.0 3.2. HTTP1.1 3.3. HTTP2.0 3.4. http1.1和http2.0区别 4. HTTP协议中URI、URL、URN 4.1. URI 4.2. URL 4.3. URN 5. HTTP协议的请求 5.1. HTTP协议中的请求信息 5. 总结 前言 本文讲…

模拟电子技术基础----绪论

一、电子技术的发展 1.电子技术的发展,推动计算机技术的发展,使之“无孔不入”,应用广泛! •广播通信:发射机、接收机、扩音、录音、程控交换机、电话、手机 •网络:路由器、ATM交换机、收发器、调制解调…

iOS 使用 - 设置 来电震动/关闭震动

来电震动是一个很直观的老功能。但到了iOS 18,苹果却把震动功能的开关藏得越来越深,甚至分散在不同的菜单里,让用户难以找到。这里记录分享设置方法: 1. 震动开关的路径 设置 → 通用 → 辅助功能 → 触控 → 震动 2. 来电震动…