0x04 auto_reply 函数
作用auto_reply 函数的作用如下信息处理功能处理由 GUI Agent 发起的 INFO 操作通过大语言模型自动生成对用户问题的回复模拟用户角色根据当前任务和页面内容提供简洁直接的答案输入处理接收当前页面截图的 URL接收任务描述接收 Agent 的询问内容接收模型提供商和模型名称输出生成生成简洁明确的回复内容避免多余的解释或礼貌用语4.2 协作关系auto_reply 函数与其他组件的关系如下与 gui_agent_loop 的关系auto_reply 被 gui_agent_loop 在特定条件下调用当 reply_mode 设置为 auto_reply 时触发处理 Agent 发出的 INFO 动作与 execute_task 的关系execute_task 函数通过 reply_mode 参数控制是否使用自动回复功能传递配置信息给 gui_agent_loop间接影响 auto_reply 的执行与 ask_llm_anything 的关系auto_reply 依赖 ask_llm_anything 函数来获取大语言模型的回复通过 ask_llm_anything 与模型提供商交互与 MCP 服务器的关系在 MCP 服务器中可以通过设置 reply_mode 为 auto_reply 来启用此功能提供了自动处理 Agent 询问的能力无需人工干预工作流程触发条件Agent 执行 INFO 动作reply_mode 设置为 auto_reply处理过程构建包含任务目标、Agent 问题和当前页面的提示通过 ask_llm_anything 获取模型回复清理回复内容移除思考部分输出结果返回简洁明确的回复内容用于继续 Agent 的执行流程作用意义实现了自动化的 Agent 交互处理避免了在需要用户澄清时的人工干预保持了任务执行的连续性提高了 GUI Agent 的自主执行能力4.3 代码auto_reply 代码如下def auto_reply(current_image_url, task, info_action, model_provider, model_name): Reply with information action. messages_to_ask [ { role: user, content: [ { type: text, text: f# 角色 你将扮演一个正在使用GUI Agent完成任务的用户。 # 任务 阅读下方提供的所有背景信息针对[Agent的澄清问题]生成一个提供关键信息的、简短直接的回答。 # 背景信息 - **任务目标:** {task} - **agent 问的问题:** {json.dumps(info_action, ensure_asciiFalse)} # 输出要求 - 你的回答必须极其简短和明确。 - 你的回答应直接命中问题的核心解决Agent的疑惑。 - 不要进行任何额外的解释、对话或使用礼貌用语。 - 只输出回答本身不要添加任何引号或其他修饰。 以下是当前页面内容: , }, { type: image_url, image_url: { url: current_image_url } }, { type: text, text: 请基于以上信息简洁直接地回答Agent的问题。 } ] } ] response ask_llm_anything( model_providermodel_provider, model_namemodel_name, messagesmessages_to_ask, args{ max_tokens: 1024, temperature: 0.5, top_p: 1.0, frequency_penalty: 0.0, } ) if /think in response: response response.split(/think)[-1].strip() return response0x05 特殊分析我们接下来就系统的一些特殊之处进行分析。5.1 GUI 操作扩展机制插件化架构工具扩展通过添加新工具扩展功能解析器扩展支持不同动作解析器设备扩展支持不同类型设备配置化管理服务配置mcp_server_config.yaml管理服务参数模型配置model_config.yaml管理模型参数运行配置灵活的运行时配置5.1.1 动作定义层扩展action 类型枚举action_tools.py定义_ACTION_TYPE_ENUM包含现有动作类型新增动作在枚举中添加新动作类型如SCROLL、DOUBLE_CLICK等动作验证机制action_assertion验证动作格式和参数完整性参数检查针对不同动作类型验证特定参数5.1.2 前端执行器扩展动作转换映射action_type_map定义前端动作类型映射关系step_api_to_frontend_action处理 API 动作到前端动作的转换动作实现CLICK实现点击操作处理坐标点转换TYPE实现文本输入支持键盘存在性检测SLIDE实现滑动操作处理路径坐标新增动作需要在act_on_device函数中添加新的动作处理逻辑5.1.3 移动端辅助功能扩展设备操作层mobile_action_helper.py提供底层设备操作接口ADB 命令通过 ADB 实现设备控制坐标系统支持归一化坐标到实际坐标的转换坐标处理convert_point_to_realworld_point坐标转换函数屏幕方向检测自动处理不同屏幕方向的坐标映射5.1.4 扩展步骤详解定义新动作添加动作类型在action_tools.py的_ACTION_TYPE_ENUM中添加新动作更新验证逻辑在action_assertion中添加新动作的参数验证实现动作转换更新映射表在pu_frontend_executor.py的action_type_map中添加新动作映射添加转换逻辑在step_api_to_frontend_action中添加新动作的转换处理实现设备操作添加操作实现在act_on_device函数中添加新动作的 ADB 命令实现参数验证确保新动作的参数验证和错误处理解析器支持更新解析器在parser_0920_summary.py中添加新动作的解析支持动作格式定义新动作的输入输出格式5.1.5 实际扩展示例添加 SCROLL 动作定义动作在_ACTION_TYPE_ENUM中添加 “SCROLL”验证逻辑在action_assertion中添加 SCROLL 参数验证转换实现在step_api_to_frontend_action中添加转换逻辑设备操作在act_on_device中实现 SCROLL ADB 命令扩展参数支持方向参数支持 UP/DOWN/LEFT/RIGHT 方向距离参数支持自定义滑动距离时间参数支持自定义滑动时间5.2 CopilotClientRolloutRunnerCopilotClientRolloutRunner 存在于代码中但是没有调用实例所以我们直接反推。5.2.1 功能CopilotClientRolloutRunner 中的 “rollout” 概念确实来源于强化学习领域在强化学习中rollout 指从当前状态开始执行一系列动作直到终止状态的完整轨迹。CopilotClientRolloutRunner 实际上是一个多设备任务并行执行框架主要功能是管理多个设备上的 GUI 代理任务执行 支持同时在多个设备上运行 GUI 代理任务提高执行效率。CopilotClientRolloutRunner 与强化学习有概念上的联系但不是强化学习算法的实现。主要用途任务分发将任务分发到多个设备并行执行结果收集收集所有任务的执行结果执行监控跟踪每个设备的任务执行状态当然GUI 代理任务的执行轨迹可以用于训练或评估智能体因此CopilotClientRolloutRunner 类可能用于强化学习训练数据的收集执行的轨迹数据可用于后续的强化学习算法训练。5.2.2 具体实现使用multiprocessing模块实现并行处理包含四个主要进程logger_runner- 日志记录进程reader_runner- 任务读取和分发进程work_runner- 每个设备对应一个工作进程writer_runner- 结果写入进程任务队列与负载均衡CopilotClientRolloutRunner 为每个设备维护独立的任务队列task_queue

相关新闻

AI 浏览器 Tabbit 实测:Agent 模式如何操作网页,以及多模型接入方案

AI 浏览器 Tabbit 实测:Agent 模式如何操作网页,以及多模型接入方案

背景 最近 AI 浏览器这个赛道比较热闹,豆包、夸克都出了自己的产品。但多数实现思路还是"传统浏览器 侧边栏对话框",AI 和浏览过程是割裂的。我比较感兴趣的是另一条技术路线:把 Agent 能力直接嵌入浏览器操作流程,让…

2026/6/24 2:57:51阅读更多 →
本地AI虚拟主播实战指南:从零构建低延迟智能交互系统

本地AI虚拟主播实战指南:从零构建低延迟智能交互系统

本地AI虚拟主播实战指南:从零构建低延迟智能交互系统 【免费下载链接】Neuro A recreation of Neuro-Sama originally created in 7 days. 项目地址: https://gitcode.com/gh_mirrors/neuro6/Neuro 在实时互动直播领域,云端AI虚拟主播的延迟和隐私…

2026/6/24 2:57:51阅读更多 →
大麦抢票实战指南:3分钟轻松搞定演唱会门票自动化抢购

大麦抢票实战指南:3分钟轻松搞定演唱会门票自动化抢购

大麦抢票实战指南:3分钟轻松搞定演唱会门票自动化抢购 【免费下载链接】ticket-purchase 大麦自动抢票,支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 还在为心仪演唱会门票秒光而烦恼吗…

2026/6/24 2:57:51阅读更多 →
管理驾驶舱如何帮助老板快速了解企业经营状态

管理驾驶舱如何帮助老板快速了解企业经营状态

管理驾驶舱如何帮助老板快速了解企业经营状态 管理驾驶舱不是把图表堆在大屏上,而是帮助老板快速看清经营状态、风险变化和待处理事项。本文从中小企业管理视角拆解驾驶舱建设路径。 ▲ 管理驾驶舱应该帮助老板从经营概览快速穿透到异常原因和处理动作。 一、行业…

2026/6/24 4:17:55阅读更多 →
Windows右键菜单优化终极指南:5分钟彻底解决加载缓慢问题

Windows右键菜单优化终极指南:5分钟彻底解决加载缓慢问题

Windows右键菜单优化终极指南:5分钟彻底解决加载缓慢问题 【免费下载链接】ContextMenuManager 🖱️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 你是不是经常在Windows系统中遇到右键菜单加…

2026/6/24 4:17:55阅读更多 →
C# 抽象类、接口、多态、单向链表 完整讲解 + 代码示例

C# 抽象类、接口、多态、单向链表 完整讲解 + 代码示例

一、抽象类 abstract class1. 核心特点用 abstract 修饰,不能实例化,只能被继承可包含:普通字段、普通方法、抽象方法(无方法体)、构造函数、属性派生类必须重写所有抽象成员,用 override单继承&#xff1a…

2026/6/24 4:17:55阅读更多 →
2026年6月23日科技热点新闻

2026年6月23日科技热点新闻

一、海外科技热点 1. SpaceX股价暴跌,市值单日蒸发近4000亿美元 6月23日,SpaceX收跌16.43%,跌破IPO首日收盘价,市值单日蒸发近4000亿美元,创下有史以来全球企业单日市值损失第二大的纪录。这是SpaceX上市后连续第三个交…

2026/6/24 4:17:55阅读更多 →
2000-2024年地级市碳不平等指标

2000-2024年地级市碳不平等指标

碳不平等,是衡量城市内部碳排放分布不均衡程度的重要指标,反映城市内各县(区)之间碳排放与人口规模匹配的公平性状况。在“双碳”目标与绿色转型背景下,碳排放的分布格局不仅涉及总量控制,更关乎区域公平与…

2026/6/24 4:17:55阅读更多 →
Claude Code + Kimi Code 配置指南

Claude Code + Kimi Code 配置指南

Claude Code Kimi Code 配置指南 核心要点 1. 端点必须和 Key 类型匹配 你的 Key 是 sk-kimi-... 格式,属于 Kimi Code 平台,只能用这个端点: export ANTHROPIC_BASE_URLhttps://api.kimi.com/coding/❌ 不要写成 https://api.moonshot.cn/a…

2026/6/24 4:12:54阅读更多 →
【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体 一文搞定到底什么是智能体【人工智能】一文搞定到底什么是智能体一. LM,WorkFlow,Agent分别有什么么不同二. Agent的思考过程是怎样的三. Agent的五个核心部分1)LLM2)Prompt3)Me…

2026/6/23 7:04:52阅读更多 →
嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

1. 嵌入式GUI控件:从原理到实战的深度解析在嵌入式系统开发中,图形用户界面(GUI)的设计与实现往往是项目从“能用”到“好用”的关键一跃。不同于资源充沛的PC或移动平台,嵌入式设备的GUI需要在有限的CPU性能、内存空间…

2026/6/24 2:12:09阅读更多 →
Google AI Studio 300美元额度的真相与实战指南

Google AI Studio 300美元额度的真相与实战指南

1. 这300美金不是“送钱”,而是Google埋下的第一道技术门槛 你看到标题里那个醒目的“$300美金”时,第一反应可能是:又一个免费额度?领完就完事?我亲手试过——这300美金根本不是红包,而是一张入场券&…

2026/6/23 5:55:37阅读更多 →
TaskJuggler脚本编程入门:用代码实现自动化项目管理

TaskJuggler脚本编程入门:用代码实现自动化项目管理

TaskJuggler脚本编程入门:用代码实现自动化项目管理 【免费下载链接】TaskJuggler TaskJuggler - Project Management beyond Gantt chart drawing 项目地址: https://gitcode.com/gh_mirrors/ta/TaskJuggler TaskJuggler是一款强大的开源项目管理工具&#…

2026/6/24 0:02:41阅读更多 →
终极教程:使用angular-mobile-nav实现流畅的移动页面过渡效果

终极教程:使用angular-mobile-nav实现流畅的移动页面过渡效果

终极教程:使用angular-mobile-nav实现流畅的移动页面过渡效果 【免费下载链接】angular-mobile-nav An angular navigation service for mobile applications 项目地址: https://gitcode.com/gh_mirrors/an/angular-mobile-nav angular-mobile-nav是一款专为…

2026/6/24 0:02:41阅读更多 →
Wan2.1-Fun-V1.1-1.3B-InP Web UI使用教程:无需代码的AI视频创作

Wan2.1-Fun-V1.1-1.3B-InP Web UI使用教程:无需代码的AI视频创作

Wan2.1-Fun-V1.1-1.3B-InP Web UI使用教程:无需代码的AI视频创作 【免费下载链接】Wan2.1-Fun-V1.1-1.3B-InP 项目地址: https://ai.gitcode.com/hf_mirrors/PAI/Wan2.1-Fun-V1.1-1.3B-InP Wan2.1-Fun-V1.1-1.3B-InP是一款强大的AI视频创作工具,…

2026/6/24 0:02:41阅读更多 →