Files
chenmingxuan be6e8c2abd feat: release 2.2.0 with PC-only tests and execution reliability fixes
Unify task scheduling and queue state, fix Android input and observation recovery, preserve screenshot paths, and match final review criteria accurately. Add collapsible copyable results and publish the complete 2.1.0 upgrade notes. Validation: 3189 backend tests, 326 frontend tests, 24 client tests, production build and quality gates.
2026-10-27 01:13:41 +08:00

8.6 KiB
Raw Permalink Blame History

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 收尾 已完成计划进入最终验收,减少结束阶段重复操作;保留计划进度与恢复信息。

详细入口见工作区说明、AI 自动化和Python 客户端。

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 在独立插件仓库发布,包含上游升级和 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 更新能力;不包含本机配置、凭据、历史任务、依赖目录及预构建网页。