# ARTEMIS-Eapil 2.2.0 日期:2026-10-27。升级基线:`v2.1.0`(`83bcfd5`)。 本版新增无需手机在线的仅 PC 测试,统一 Android、PC 与跨端任务的串行执行,并修复安卓输入清空、观测恢复、排队状态与最终验收匹配问题。网页新增暗色模式、Markdown 表格和可折叠、可复制的工具结果。 主程序、前端及锁文件为 **2.2.0**;Android Accessibility Helper 为 **1.2.3**;配套 Cua 插件独立发布 **0.38.0+artemis.1**,继续标注 Windows x64 预览。远程 Python 客户端沿用独立的 0.1.0 版本。 ## 任务入口与执行 | 升级内容 | 2.2.0 行为 | | --- | --- | | 仅 PC 测试 | 首页增加“仅 PC”勾选项,Flash、Pro 和探索均可在没有在线 Android 时运行。仍需有效模型和已启用、授权的电脑观察插件;切换目标同步更新就绪状态及插件筛选。 | | MCP、HTTP、SDK 与 JSON | 单任务通过 `runtime_overrides: {"execution_target":"computer"}` 指定电脑目标;批量“任务配置(JSON)”使用 `{"execution_target":"computer"}`;Python 客户端支持 `execution_target="computer"`。混合任务仍需在线 Android。 | | 全局串行 | Android、仅 PC 和跨端任务共用 FIFO 队列与跨进程锁,当前不开放跨设备并行。网页、MCP、批量、CLI 与 SDK 使用同一调度。暂停后可释放资源,恢复时重新排队。 | | 排队状态一致 | MCP 提交、丢失响应后的查询和工作进程启动按真实状态更新。等待资源显示 pending,获得执行权后显示 running;迟到更新不能覆盖已完成或已取消状态。 | | Flash 最终 AI 判定 | 开关切换即保存,失败恢复原值;保存后未开始任务采用新值,无须重启。已运行任务仍使用启动时配置,Pro 保留最终验收。 | | Pro 收尾 | 已完成计划进入最终验收,减少结束阶段重复操作;保留计划进度与恢复信息。 | 详细入口见[工作区说明](../automation-workspace.md)、[AI 自动化](../ai-automation.md)和[Python 客户端](../../packages/artemis-client/README.md)。 ## Android 与操作可靠性 | 修复 | 变化 | | --- | --- | | 输入与清空 | 使用控件清空能力,不再依赖固定次数退格;输入、清空后重新观察真实值。区分占位提示、可编辑性、焦点及掩码,不把提示文字当成输入成功。 | | Helper 1.2.3 | 补全输入属性,排除键盘窗口中的不可编辑焦点容器,避免选错输入目标。同步 APK、版本清单与 SHA256。 | | 观测与连接恢复 | Helper 回退、UIAutomator2 重连和截图共用本次观测预算,取消时停止恢复并回收迟到连接。模拟器窗口运行不等于 ADB、截图或辅助服务正常;诊断保留实际失败阶段。 | | 像素定位 | 按真实截图尺寸映射坐标,检查旋转及快照时效;历史目标保留自己的坐标和快照身份,避免控件编号复用导致引用变化。 | | 写入失败 | 区分未派发、已派发和结果不明,不因工具错误或证据回执保存失败重复物理动作。 | | 应用启动 | 重试不再隐式强制停止应用;结合恢复中的活动和焦点判断就绪,保留有界等待及诊断。 | ## 验收、证据和诊断 - **修复“已有通过项却额外出现未验证项”**:兼容模型返回检查项时携带的、本程序生成的类别和时机展示标签,映射回原检查项。只匹配确切格式;正文、类别或时机冲突仍保留,失败项不被改成通过。旧任务结论不会自动重写。 - **修复 Pro 笔记的截图路径**:保存、追加和更新笔记时,拒绝把实际位于 artifacts 子目录的文件误写为不存在的任务根目录路径,并返回真实候选位置,不自动猜选文件。截图回执要求沿用真实路径和 SHA256。 - **完整响应才形成结果**:流式、非流式及结构化输出要求完整结束;失败、截断 JSON 或缺少终止事件不能进入工具执行或正式通过结论。请求重试保留已有工具证据。 - **取消与超时可追踪**:区分用户停止、暂停、新指导、任务替换及预算到期;记录请求和尝试编号,区分单次请求、传输与最终验收总预算。 - **统一进度与证据来源**:网页、MCP、Word/Excel 报告共用阶段和耗时信息;中途指导区分接收、领取与消费,证据注明实际 Android、PC、接口或文件来源及验收边界。 - **接口结果更明确**:拒绝未知字段,MCP JSON 结果同时提供 structuredContent 和兼容文本;历史分页返回总数、下一页与真实存储步号,阶段更新按 id 合并并原子校验。 ## 网页体验 - 顶部太阳/月亮按钮切换亮暗主题,首次跟随系统并记住浏览器选择;首页、工作区、配置、插件和报告共用主题。 - 计划、笔记和报告支持 Markdown 表格、列对齐、嵌套列表、任务清单、引用、链接、图片、删除线与代码块,保留转义和链接安全检查。 - 工具和动作卡片允许选择、复制内容;RESULT 默认折叠为短预览和字符数,展开后限高滚动并支持复制全文。显示折叠不截断模型收到的工具证据。 - 插件窗口状态和控件数据采用摘要及分组展示,需要时展开原始结果。 ## 配套 Cua 插件 [Cua 0.38.0+artemis.1](https://git.playones.com/chenmingxuan/Artemis-Plugins/releases/tag/cua-driver-v0.38.0+artemis.1) 在独立插件仓库发布,包含上游升级和 ARTEMIS 适配修复: - 固定官方 Driver 0.38.0、源码提交和官方 ZIP SHA256。 - 补充任务栏、托盘及无标题原生菜单发现;根据真实键盘焦点以及 PID、线程和窗口归属决定动作后观察目标。 - 对固定上游源码应用已知 Shell/菜单无标题窗口兼容补丁,重新构建 Driver、UIA helper 和 SDK DLL;包内包含补丁、来源与二进制 SHA256。 - 移除新版驱动已经处理的滚动预缩放,避免重复坐标转换;保留新截图编号、边界与窗口检查。 - 沿用宿主桌面锁、证据、录像和子进程回收。前台输入会占用桌面;此前反馈的显示光标与系统鼠标偶发分离仍待复现,本版不宣称已解决。 ## 验证结果与边界 本次发布代码的验证结果: | 检查 | 结果 | | --- | --- | | 默认 Python 测试 | 3189 通过、2 跳过、8 按标记排除;102 条已有 Pillow 弃用警告 | | Checker 专项 | 74 通过,覆盖展示标签兼容、缺项、冲突和失败保留 | | 远程 Python 客户端 | 24 通过 | | Angular ChromeHeadless | 326 通过,生产构建通过 | | Python 质量门禁 | Ruff 静态与格式、质量基线、核心类型检查通过 | | 依赖与差异 | UV 锁离线检查、Git 差异空白检查通过 | | Cua 确定性检查 | Go 测试、vet 与构建通过;源码、补丁和包内二进制来源分别核对 | 10 月 26 日集中实测的 **9 项正式用例全部通过**,覆盖 Android 三轮输入清空与暂停恢复、仅 PC,以及两轮跨端传递;同时完成 313 项针对性检查。该组使用 `gpt-6-luna / high`,观察到任务按序执行。另一次准备探索因超出指定页面范围而失败,单独保留,未计入 9 项通过。 后续排队状态、笔记路径与验收匹配修复另做新任务验证:实际观察到 running/pending 顺序切换;无效笔记路径被拒绝,真实文件和哈希可核对。最后的 Android Pro 验收任务 **3 项通过、无重复未验证项**,11 次 `gpt-6-luna / high` 请求全部完成、无重试和中途指导。先前曾未判定的任务保留原结论,没有用新解析覆盖历史。 Cua 此版本另有菜单/任务栏 9 次调用与隔离 Brave 表单 38 次调用验证。上述覆盖不等于原失败业务全部复跑,也未覆盖长时间压力、强制真实断连、多设备及全部多屏/DPI 组合。仅 PC 的无手机在线准入另由确定性测试和页面检查覆盖。 ## 安装与升级 1. 等待当前任务结束,运行 `update.bat`,国内镜像运行 `update-cn.bat`。升级流程会停止本项目进程并同步环境。 2. 完成后运行 `start.bat` 或 `start-cn.bat`,由新版后台加载代码并构建网页。 3. 如需新电脑控制能力,在插件市场单独更新至 Cua `0.38.0+artemis.1`,确认授权后再创建任务。**主程序升级不会自动升级或授权插件**,已创建任务固定原插件版本。 发布附件为 `artemis-eapil-2.2.0-source.zip` 与 `SHA256SUMS.txt`。源码包通过仓库打包脚本生成,保留浅 Git 更新能力;不包含本机配置、凭据、历史任务、依赖目录及预构建网页。