ENVS框架:基于环境原生验证搜索的GUI自动化长任务解决方案
1. 项目缘起当GUI自动化遇上“长视野”任务最近在折腾一个挺有意思的自动化项目目标是让一个“智能体”能像真人一样在电脑的图形用户界面GUI里完成一系列复杂的操作。比如你让它“帮我从网上下载一份最新的财报PDF用邮件发给财务总监并抄送给我”这听起来简单但对机器来说却是个“长视野”的挑战。它需要先打开浏览器找到正确的网站登录搜索财报下载再打开邮件客户端填写收件人、主题、附件最后发送。这一连串动作环环相扣中间任何一步出错比如点错了按钮或者没找到下载链接整个任务就卡壳了。传统的GUI自动化脚本比如用Selenium或者PyAutoGUI写的对付固定流程还行。但一旦界面元素位置变了、文字描述改了或者弹出了意想不到的对话框脚本就“瞎”了因为它本质上是在“盲点”——它只知道“点击坐标(100,200)”或者“找到ID为‘submit’的按钮”但它不理解这个按钮在当前的界面上下文中到底代表什么是不是真的该点。这就好比蒙着眼睛走迷宫全靠记忆一旦迷宫墙壁挪动了位置立刻撞墙。所以我和团队一直在琢磨怎么让这个智能体在操作时能“看见”并“理解”屏幕上的内容然后做出可靠的决策。我们把这个方向叫做“环境原生验证搜索”英文缩写就是ENVS。它不是简单地用OCR识别文字或者用目标检测框出按钮而是要让智能体在每一步行动前都能基于对当前屏幕的深度理解去“搜索”并“验证”下一步最应该执行的动作。听起来有点玄乎别急我这就把我们在实践中趟出来的路以及背后的核心逻辑掰开揉碎了讲给你听。2. ENVS的核心逻辑从“盲点”到“看见并理解”要理解ENVS得先拆开看它的名字Environment-Native Verified Search。这三个词每一个都代表了我们设计思路的一个关键转变。首先是“Environment-Native”环境原生。这是最根本的出发点。我们不再把GUI环境看作一个由坐标和控件ID组成的冰冷地图而是将其视为一个富含语义信息的“原生环境”。这个环境里有什么有窗口、按钮、输入框、图标、文字段落、列表、图片……它们不是孤立的像素块而是有功能、有状态、有关联的实体。例如一个灰色的“提交”按钮和一个高亮的“提交”按钮在功能语义上是相同的但在状态语义上可点击 vs. 不可点击却截然不同。环境原生的思想就是要求我们的智能体必须从屏幕像素中实时地、动态地提取出这些丰富的语义信息作为决策的基础。我们借鉴了多模态大模型比如CLIP、GPT-4V的能力让智能体能“看懂”屏幕截图并用自然语言描述出当前的界面状态和可交互元素。其次是“Verified Search”验证搜索。这是行动决策的关键。在传统的脚本中下一步动作是写死的。但在ENVS框架下智能体面对当前屏幕环境状态需要“搜索”出可能的下一步动作候选集。这个搜索不是乱猜而是基于对环境的理解。比如当前屏幕是一个登录页面那么可能的动作候选就包括在用户名输入框输入文字、在密码输入框输入文字、点击“登录”按钮、点击“忘记密码”链接等。但是仅仅生成候选动作还不够更重要的是“验证”。验证什么验证这个动作在当前环境下是否可行、是否合理、是否安全。可行性验证这个按钮现在真的能点吗检查其UI状态如enabled/disabled, visible/hidden。合理性验证在当前任务上下文中点击这个按钮是合乎逻辑的下一步吗例如在没输入密码时点击“登录”可能不合理。安全性验证执行这个动作会不会导致不可逆的损失或进入错误分支例如在未保存的文档上直接点击关闭按钮。这个验证过程我们通过一个小型的、专门针对GUI交互微调过的推理模型来完成。它接收当前环境描述和候选动作输出一个置信度分数和验证理由。只有通过验证的高置信度动作才会被真正执行。最后把这两者结合起来就构成了“搜索-验证-执行”的闭环。智能体不断感知环境Native生成动作假设Search进行严格校验Verify然后执行通过的动作进入下一个状态如此循环。这就像一个有经验的司机眼睛看着路况环境原生脑子里规划着变道或刹车搜索同时快速判断这个操作现在做是否安全验证最后才打方向盘或踩踏板执行。3. 长视野任务拆解与状态管理给智能体一个“任务清单”解决了单步决策的问题接下来要面对的就是“长视野”。一个长任务可能包含几十甚至上百个步骤智能体如何记住自己做到哪了下一步的子目标是什么这就涉及到任务拆解和状态管理。我们的做法是引入一个分层任务规划器。它就像一个项目经理把老板给的宏大目标“处理财报邮件”拆解成一个个可执行的小任务“打开浏览器” - “访问财经网站” - “登录账号” …。这个规划器可以基于大语言模型LLM来实现因为它擅长理解自然语言指令并进行逻辑分解。但光有规划器还不够。在真实环境中执行时情况会变。比如规划里是“点击下载按钮”但实际页面上可能有两个下载按钮一个PDF一个Excel。这时规划器提供的“点击下载按钮”这个子目标就过于模糊了。因此我们需要一个动态的状态追踪器。这个状态追踪器维护着几个关键信息当前高层子目标例如“在财经网站找到Q3财报PDF”。当前屏幕的语义理解即环境原生模块的输出。已执行的动作历史。任务相关的上下文比如之前搜索到的公司名称、登录成功的账号等。当ENVS的搜索模块需要为当前步骤生成动作候选时它会综合状态追踪器里的所有信息。例如结合“找到Q3财报PDF”这个目标和当前屏幕是搜索结果页面的理解搜索模块会更倾向于生成“点击标题中包含‘Q3’和‘PDF’的链接”这类具体的动作描述而不是泛泛的“点击某个链接”。这里有一个非常重要的实操心得子目标的描述粒度需要精心设计。太粗如“下载财报”会导致搜索空间过大验证困难太细如“将鼠标移动到(150,300)坐标”又失去了泛化能力变回了传统脚本。我们的经验是子目标应该描述“意图”而非“动作”并且最好包含当前步骤期望看到的关键视觉或文本线索。例如“在页面顶部导航栏找到并点击‘财务报告’选项卡”就比“点击财务报告”要好因为它提供了位置顶部导航栏和文本线索‘财务报告’。4. 验证模型的设计与训练教会智能体“三思而后行”验证模块是ENVS的“安全阀”它的质量直接决定了智能体行为的可靠性和鲁棒性。我们不可能为每一个可能的界面和动作组合都写规则所以必须依靠一个学习模型。验证模型的核心输入是环境状态描述 (S)一段自然语言文本描述当前屏幕的主要内容、可交互元素及其状态。例如“当前为邮箱登录页。中央有‘用户名’输入框为空、‘密码’输入框为空、一个蓝色的‘登录’按钮可点击、下方有‘忘记密码’链接。”候选动作描述 (A)一段自然语言文本描述拟执行的动作。例如“在‘用户名’输入框中输入‘admin’。”任务上下文 (C)当前的高层子目标或任务片段。例如“目标登录邮箱。”模型的输出是可行性标签 (Feasible)是/否。合理性标签 (Reasonable)是/否。置信度分数 (Confidence)一个0到1之间的分数。验证理由 (Rationale)一段简短的文字解释判断的依据。我们把这个任务构建成一个文本蕴含Textual Entailment或自然语言推理NLI任务。即判断在给定的环境状态S和任务上下文C下执行动作A这一陈述是否被支持可行且合理。训练数据从哪里来这是最大的挑战。我们采用了“合成人工”的方式合成负样本利用自动化脚本在真实应用如浏览器、办公软件中执行随机或预设错误的操作并截屏记录状态和动作。例如在按钮不可点击时尝试点击它在错误的输入框里输入文本。这些天然就是“不可行”或“不合理”的样本。轨迹正样本录制人类专家或成功自动化脚本完成任务的屏幕录像和操作日志。从中提取每一步成功的环境状态动作对作为正样本。对抗增强使用大语言模型基于正样本的环境状态生成一些似是而非的“干扰动作”作为负样本。例如正样本是“点击登录按钮”LLM可能生成“双击登录按钮”或“右键点击登录按钮”这些动作在上下文中可能不合理。人工标注与修正对合成数据尤其是合理性判断进行人工抽样检查和修正确保标签质量。模型结构上我们选择了轻量级的BERT变体如RoBERTa-base将S、A、C拼接后输入在顶部接一个多任务学习头同时预测可行性和合理性。训练时两个任务的损失函数加权求和。注意验证模型不必追求极高的通用性。在实践中我们通常针对特定领域如“网页操作”、“桌面软件操作”甚至特定应用套件如“Office三件套”、“浏览器常见网站”进行训练和微调。这样能在有限的数据下获得更好的性能。一个在网页操作上表现良好的验证模型可能完全看不懂专业设计软件的界面这是可以接受的。5. 系统集成与实操框架把理论变成代码讲完了原理我们来聊聊怎么把它搭起来。ENVS不是一个单一的算法而是一个框架。下图展示了我们构建的一个典型ENVS智能体的核心工作流程与模块组成flowchart TD A[“长视野自然语言指令br如处理财报邮件”] -- B[“分层任务规划器 (LLM)”] B -- C[“当前子目标br如登录邮箱”] C -- D[“环境感知模块”] subgraph D [环境感知] D1[“屏幕捕获”] -- D2[“多模态模型解析br生成语义描述S”] end D2 -- E[“状态追踪器”] E -- F[“动作搜索模块 (LLM)”] F -- G[“生成N个候选动作brA1, A2, …”] G -- H[“验证模型”] subgraph H [验证] H1[“输入: S, Ai, C”] -- H2[“推理”] H2 -- H3[“输出: 可行性/合理性/置信度”] end H3 -- I{“通过验证?”} I -- “是 (最高分)” -- J[“动作执行器br模拟点击/输入等”] I -- “否” -- K[“尝试下一个候选动作”] J -- L[“观察新状态”] L -- M{“子目标完成?”} M -- “否” -- D M -- “是” -- N[“规划器获取下一个子目标”] N -- C下面我结合代码片段解释几个关键模块的实现要点。环境感知模块我们使用mss库进行高效屏幕截图然后送入本地部署的多模态大模型如LLaVA或Qwen-VL的本地量化版本。提示词Prompt的设计至关重要它需要引导模型输出结构化、专注于交互的语义描述。# 示例环境感知提示词 ENV_PERCEPTION_PROMPT 你是一个GUI界面分析助手。请详细描述当前屏幕截图中的内容重点描述 1. 当前活跃的窗口是什么应用如Chrome浏览器登录页面 2. 屏幕上有哪些主要的可交互元素如按钮、输入框、链接、菜单。请列出每个元素的[类型]、[大致位置描述如左上/中央/右下]、[状态如可点击/已禁用/已选中]、[上的文字或标识]。 3. 屏幕上的关键非交互信息是什么如标题、提示文字、错误信息。 请以清晰、简洁的列表形式输出。 截图内容[IMAGE_PLACEHOLDER] 动作搜索模块同样基于LLM。它接收环境描述S、当前子目标C和动作历史H生成多个可能的后续动作。# 示例动作搜索提示词 ACTION_SEARCH_PROMPT 基于以下图形界面描述和任务目标列出接下来最可能执行的3个具体操作。操作描述应清晰指明对哪个元素做什么。 界面描述{environment_description} 当前任务目标{sub_goal} 近期操作历史{action_history} 请以JSON数组格式输出每个元素包含 action_description 字段。 验证模型部署我们将训练好的验证模型如PyTorch格式使用FastAPI封装成微服务。动作执行模块在采取行动前会调用这个服务进行校验。# 示例验证服务调用 import requests def verify_action(env_desc, candidate_action, task_context): payload { environment_state: env_desc, candidate_action: candidate_action, task_context: task_context } response requests.post(http://localhost:8000/verify, jsonpayload) result response.json() return result[feasible], result[reasonable], result[confidence]动作执行器这里我们选用pyautogui进行基础的鼠标键盘操控但对于更精确的控件识别可以结合pywinautoWindows或appium移动端/部分桌面。关键是要将验证通过的动作描述如“点击‘登录’按钮”解析成具体的坐标或控件对象。6. 避坑指南从实验室到生产环境的挑战在实际部署ENVS框架时我们踩过不少坑这里分享几个最典型的希望能帮你绕过去。坑一环境描述的“幻觉”与不一致性多模态模型在描述复杂或动态界面如数据不断刷新的仪表盘时可能会产生“幻觉”即描述出屏幕上不存在的内容或者遗漏快速变化的元素。这会导致后续搜索和验证基于错误的前提进行。应对策略元素去重与融合对模型连续多次如3次对同一状态的描述结果进行对比通过文本相似度合并重复元素剔除低频出现的“幻觉”元素。关键区域聚焦不是每次都分析全屏。结合任务上下文让模型优先关注与当前子目标相关的屏幕区域如下拉菜单、弹窗这可以通过在提示词中指定或预先定义关注区域ROI来实现。轻量级OCR辅助对于已知的关键文本区域如按钮文字、标题可以同时使用Tesseract等OCR工具进行快速提取与模型描述结果交叉验证提高文本信息的准确性。坑二动作执行的“模拟”与“真实”差距pyautogui点击屏幕坐标可能因为屏幕分辨率缩放、窗口位置突然变化如弹出通知而点偏。即使坐标正确某些应用尤其是基于DirectX或游戏引擎的应用可能不响应模拟输入。应对策略基于控件的操作优先如果能通过pywinauto或inspect.exe等工具获取到控件的唯一标识如自动化ID就绝对不要使用屏幕坐标。控件操作更稳定。坐标的“软点击”使用pyautogui时采用相对坐标或结合图像匹配如pyautogui.locateOnScreen来动态定位而不是硬编码绝对坐标。同时在点击前加入微小随机延迟和移动轨迹模拟人类操作绕过一些简单的反自动化检测。失败重试与状态回滚任何一个动作执行后都必须有“状态确认”环节。例如点击“保存”按钮后要检查是否出现了“保存成功”的提示或者文件修改时间是否更新。如果预期状态未出现应触发重试最多2-3次或回滚到上一步安全状态并记录错误。坑三长任务中的“状态漂移”执行几十步后智能体可能会因为某次验证的轻微误判或环境的小幅意外变化逐渐偏离正确路径进入一个“看起来合理但实际错误”的状态分支。应对策略设置关键检查点在任务规划时就定义一些必须达成的“里程碑”状态如“成功登录后应跳转到收件箱页面”。智能体在完成一个阶段后必须主动检查是否到达了预期的检查点。如果没有则启动错误恢复流程而不是继续往下走。定期子目标复审每执行5-10步就让任务规划器重新评估一下当前状态和剩余任务看是否需要调整后续的子目标序列。这相当于给智能体一个“重新规划”的机会。引入人工监督点对于极其关键或风险高的操作如最终确认支付、删除大量文件可以设计流程暂停通过发送通知如邮件、钉钉消息请求人工确认后再继续。坑四验证模型的“过拟合”与“泛化不足”模型在训练集上表现很好但遇到一个从未见过的界面样式或新的交互模式如手势滑动时可能会做出错误验证。应对策略持续的数据飞轮将生产环境中遇到的、经过人工复核的验证失败案例尤其是误判案例不断加入到训练数据集中定期重新训练模型。让模型在真实使用中进化。设置置信度阈值不要完全信任模型。设定一个较高的置信度阈值如0.85。只有当验证模型的置信度高于此阈值时才执行动作。低于阈值时可以尝试其他候选动作或者触发“不确定性处理”流程如记录日志、尝试更保守的备选方案、或请求人工干预。集成多个验证信号除了主验证模型可以并行运行一些基于简单规则或启发式方法的校验器例如检查目标元素是否在屏幕可见区域内、当前焦点是否在输入框上等。综合多个信号来做最终判断比单一模型更鲁棒。ENVS这个思路把我们从编写脆弱、僵化的GUI自动化脚本中解放了出来让智能体真正具备了在复杂、动态的图形界面中自主探索和完成任务的能力。虽然目前整套系统的搭建和调优需要不少工作量特别是在验证数据的收集和模型训练上但它的长期收益是巨大的——一套系统可以更容易地适配到新的应用和任务上而不是为每一个新场景都重写脚本。

相关新闻

Doriax引擎深度体验:C++/Lua混合架构与Unity工作流对比

Doriax引擎深度体验:C++/Lua混合架构与Unity工作流对比

1. 先搞清楚 Doriax 到底是个什么定位的引擎如果你正在找一个能快速上手、代码控制感强、并且对 2D 和轻量 3D 支持都不错的游戏引擎,特别是对 Unity 的工作流感到有些“重”或者想探索更底层的可能性,那么 Doriax 值得你花时间了解一下。它不是 Unity 或…

2026/8/21 5:01:48 阅读更多 →
50元自制Arduino蓝牙遥控机器人:从零搭建两轮差分驱动小车

50元自制Arduino蓝牙遥控机器人:从零搭建两轮差分驱动小车

1. 项目背景与核心概念最近在整理工作室的旧零件时,发现手头有不少闲置的舵机、Arduino开发板和几个旧玩具车的轮子。一个想法冒了出来:能不能用最低的成本,把这些“电子垃圾”组合成一个能跑、能遥控的桌面小机器人?经过一番折腾…

2026/8/21 5:01:48 阅读更多 →
Neopan:自动化批量转存网盘资源,提升整理效率的利器

Neopan:自动化批量转存网盘资源,提升整理效率的利器

这次我们来看一个能大幅提升网盘资源整理效率的工具:Neopan。如果你经常需要从各种渠道收集百度网盘、夸克网盘、迅雷网盘、UC网盘的分享链接,并手动一个个打开、输入提取码、点击转存,这个过程不仅繁琐,还容易出错或遗漏。Neopan…

2026/8/21 5:01:48 阅读更多 →

最新新闻

Vibe-FDTR:基于智能体架构实现热物性测量数据分析的自动化与可重复性

Vibe-FDTR:基于智能体架构实现热物性测量数据分析的自动化与可重复性

1. 项目概述:当热物性测量遇上“智能体”框架如果你在材料科学、微电子散热或者先进制造领域工作,大概率听说过或者亲手做过频域热反射法(Frequency-Domain Thermoreflectance, FDTR)实验。这是一种非常精密的非接触式…

2026/8/21 5:52:06 阅读更多 →
强迫症狂喜!AdsPower分组功能也太好用了

强迫症狂喜!AdsPower分组功能也太好用了

做跨境的朋友是不是都有这种烦恼? 👇FB广告号、TK小店号、亚马逊店铺、独立站测评号……账号一多真的乱到爆炸💥每次找环境都要翻半天 效率直接归零😭直到我发现AdsPower这个分组管理功能真的救了大命了!!&…

2026/8/21 5:52:06 阅读更多 →
层次分析法实战指南:从数学建模到科学决策的量化工具

层次分析法实战指南:从数学建模到科学决策的量化工具

1. 项目概述:从“拍脑袋”到“算出来”的决策艺术每次遇到需要做选择的时候,你是不是也经常陷入纠结?比如,团队要采购一批新电脑,预算、性能、品牌、售后,哪个因素更重要?或者,个人想…

2026/8/21 5:52:06 阅读更多 →
数学建模竞赛编程手实战指南:从工具使用到工程化思维

数学建模竞赛编程手实战指南:从工具使用到工程化思维

1. 从“算盘手”到“发动机”:编程手在数模竞赛中的角色重塑提起数学建模竞赛里的编程手,很多人的第一印象还停留在“码农”或者“工具人”——负责把建模手天马行空的想法用代码实现出来,或者在论文里贴几张花花绿绿的图表。如果你也这么想&…

2026/8/21 5:52:06 阅读更多 →
插值与拟合:数学建模中被低估的硬功夫

插值与拟合:数学建模中被低估的硬功夫

1. 为什么“插值和拟合”是数学建模里最常被低估的硬功夫? 你翻过几十份国赛、亚太杯、深圳杯的获奖论文,会发现一个惊人事实:真正拉开差距的,从来不是模型多炫酷,而是数据处理那几行代码——尤其是插值和拟合。我带过…

2026/8/21 5:52:06 阅读更多 →
从GitHub宕机到AI原生开发:构建高可用研发基础设施与Cursor Agent实战

从GitHub宕机到AI原生开发:构建高可用研发基础设施与Cursor Agent实战

最近在技术圈里,GitHub 的一次长达数小时的全球性服务中断,无疑给无数开发者和团队带来了不小的震动。当代码托管、CI/CD、依赖拉取这些日常开发的生命线突然中断,我们才深刻意识到,将核心工作流完全绑定在单一平台上的潜在风险。…

2026/8/21 5:51:06 阅读更多 →

日新闻

机场边检旅客定位系统国产化白皮书:算法、硬件、底座平台全程自主

机场边检旅客定位系统国产化白皮书:算法、硬件、底座平台全程自主

前言随着国家数字基础设施信创替代、关键技术自主可控战略持续深化,口岸智慧安防、边检智能管控领域正全面进入国产化、自主化、安全可控升级周期。当前国内机场边检旅客识别与定位体系长期依赖国外商用视觉算法、进口成像硬件、闭源通用计算平台,存在核…

2026/8/21 0:00:42 阅读更多 →
别再把“数字孪生”当空间智能了!镜像视界揭开四维时空的真正面纱

别再把“数字孪生”当空间智能了!镜像视界揭开四维时空的真正面纱

别再把“数字孪生”当空间智能了!镜像视界揭开四维时空的真正面纱当下数字化建设浪潮中,很多项目将三维可视化、视频贴图叠加的数字孪生等同于空间智能。传统数字孪生更多停留在三维场景复刻,擅长把物理世界“画出来、展示出来”,…

2026/8/21 0:00:42 阅读更多 →
105、车载温度范围-40°C到85°C的影像质量一致性——ISP参数温漂补偿与产线标定策略

105、车载温度范围-40°C到85°C的影像质量一致性——ISP参数温漂补偿与产线标定策略

105、车载温度范围-40C到85C的影像质量一致性——ISP参数温漂补偿与产线标定策略 去年冬天在北方某车厂做A样评审,凌晨四点的黑河试验场,零下三十三度。客户拿了一台冷启动的车,中控屏上倒车影像全是雪花噪点,暗部细节直接糊成一片。我第一反应是sensor温度没上来,暗电流…

2026/8/21 0:00:42 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/21 3:21:33 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/21 0:02:09 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/19 11:55:16 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/20 6:11:08 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/20 21:46:49 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/21 0:14:22 阅读更多 →