feat: release 2.1.0 with optional Flash final AI review

Default Flash final review to off and persist the setting across the UI,
MCP, SDK and queued tasks. Keep execution separate from test verdicts.

Bundle UI fonts and licenses to remove Google Fonts from startup builds.
Align backend/frontend versions and document installation and upgrades.
This commit is contained in:
chenmingxuan committed 2026-10-23 12:36:56 +08:00
1 parent b584dae80a
commit 83bcfd54d5
52 files changed
+898 -33

No files matched your search

+2
View File
@@ -76,6 +76,8 @@ Flash 和 Pro 默认复用只读 Checker,以任务提示词和用户指导中
`mobile_run_task(runtime_overrides={"timeout_seconds":1800,"observation_timeout_seconds":60,"observation_max_attempts":3,"device_command_timeout_seconds":10,"action_failure_attempts":3})` 可为单任务覆盖执行保护;其中 `model` 是 API 模型名,外层 `model` 仍是 Flash/Pro 模式。相同字段也支持批次的 `task_config`。全局默认通过网页功能配置或明确授权的 `mobile_config(section="capabilities", changes={"task_timeout_seconds":1800}, persist_defaults=true)` 保存,对后续任务生效,不接受密钥。
Flash 最终 AI 判定与分析默认关闭。读取 `mobile_config(section="capabilities")` 的 `flash_final_check_enabled`;用户要求保存全局设置时,可用 `changes={"flash_final_check_enabled":true}` 和 `persist_defaults=true` 开启。它影响尚未开始的所有 Flash 任务,运行中的任务、Pro 和主动探索不变;不作为单任务或精选模板的覆盖项。关闭时 `test_result.status="inconclusive"`、`verification_skipped=true`、`source="system"`,表示未做 AI 判定,不是测试通过;执行异常仍按原失败状态记录。人工复验可随后给出独立结论。
任务已经产生最终结果,但 SDK 线程或资源清理仍卡住时,默认最多再等待 30 秒后回收工作进程,避免继续占用队列。全局可用 `ARTEMIS_WORKER_CLEANUP_TIMEOUT_SECONDS` 或功能配置的 `worker_cleanup_timeout_seconds` 调整,任务 JSON 同名字段可覆盖。原有结果与截图保留,未完成保存的录屏尽力恢复。
## 插件证据与留档参数
+4 -2
View File
@@ -14,13 +14,15 @@
报告包含目标、预期结果、执行状态、验证结论、实际输出和步骤证据。Word 内嵌关键截图,Excel 包含结果与证据工作表;任务输出中的 Markdown 表格会转换为真正的文档表格和 Excel 工作表。
“执行完成”与测试结论分开记录。预期直接写在任务提示词中即可;Flash 和 Pro 默认用只读终检核对提示词、用户指导、执行结论及实际证据,不增加必填表单。任务列表显式标注“测试通过 / 测试不通过 / 未验证 / 测试阻塞”,结果区域和 Word/Excel 同时列出判定依据及证据。终检关闭、出错或缺少证据时显示“未验证”,设备或执行异常不当作产品缺陷;已确认的断言失败会保留。正在执行的任务也可以下载,但文件只代表下载时的快照。
“执行完成”与测试结论分开记录。预期直接写在任务提示词中即可;Pro 默认用只读终检核对提示词、用户指导、执行结论及实际证据,不增加必填表单。Flash 的“最终 AI 判定与分析”默认关闭,可在首页功能配置开启;关闭时正常完成的任务显示“执行完成 · 未做 AI 判定”,历史、批次与 Word/Excel 保持一致,不自动记为测试通过。终检出错或缺少证据时仍显示“未验证”,设备或执行异常不当作产品缺陷;已确认的断言失败会保留。正在执行的任务也可以下载,但文件只代表下载时的快照。
Flash 开关保存在全局配置中,对网页、批量、精选、MCP/SDK 和探索提炼用例的 Flash 复跑统一生效;在任务开始时固定,排队中的任务使用最新配置,运行中的任务不变。开关只省去末尾独立 AI 复核,执行模型的最终答复、步骤摘要收尾和资源清理仍保留,不影响 Pro 或主动探索。环境变量为 `ARTEMIS_FLASH_FINAL_CHECK_ENABLED=false`,JSON 默认在 `agent.flash.final_check_enabled`;旧配置缺少该字段时也默认关闭。
终检已输出完整且符合结构的结论时,直接校验并保存,不额外请求模型改写格式;若兼容接口把 `test_result` 编码为 JSON 字符串,会先解码再按同一规则校验。普通说明文字、被截断的输出、缺少检查项或证据的结果不会直接算通过。判定范围以提示词为准:明确要求“发现并如实报告问题、不要求无缺陷”的检查任务通过,不表示被测产品没有缺陷。
报告由项目自己的 `python-docx`、`openpyxl` 生成,不依赖 Codex 客户端的私有工具。输出保存在 `artifacts/reports/`。
任务结束后,可在“用例测试结果”中点击“人工复验”,确认通过或不通过,备注选填。复验会保留原 AI 结论和历次复验记录,不改变任务的执行状态。任务队列、单任务报告和批次汇总采用最近一次人工结论,标明“人工确认”;未复验的结论标明“AI确认”。复验后下载的报告包会重新生成。
任务结束后,可在“用例测试结果”中点击“人工复验”,确认通过或不通过,备注选填。复验会保留原始结果和历次复验记录,不改变任务的执行状态。任务队列、单任务报告和批次汇总采用最近一次人工结论,标明“人工确认”;已做 AI 判定的结论标明“AI确认”,关闭判定的结果标明“未做 AI 判定”。复验后下载的报告包会重新生成。
任务队列的“任务范围”可筛选全部批量任务、单独任务或指定批次,日期、搜索和状态筛选可同时使用。点击批次内的用例会在左侧打开执行记录,右侧保留批次列表;可用“在任务队列查看此批次”集中查看,进入单任务报告后也可返回原批次。
+33
View File
@@ -0,0 +1,33 @@
# ARTEMIS-Eapil 2.1.0
本版增加 Flash 最终 AI 判定与分析开关,并修复全新安装时因 Google 字体访问超时而无法完成网页构建的问题。
## Flash 最终 AI 判定可选
- 在首页打开“系统设置与运行准备”,找到“功能开关”中的 **Flash 最终 AI 判定与分析**,保存选择;默认关闭。
- 关闭时只跳过 Flash 执行结束后,按用例需求和执行步骤进行的最终 AI 复核。执行过程中的 AI 操作及必要检查继续保留,Pro 模式沿用现有行为。
- 正常执行结束但未做最终判定时,页面显示 **执行完成 · 未做 AI 判定**,不自动记为测试通过;执行报错仍显示失败。历史、报告、人工复验及 MCP 结果沿用相同口径。
- 该设置统一用于网页单任务、批量、精选任务、MCP/SDK 及探索用例的 Flash 复跑。任务开始时读取并固定:修改后尚未开始的任务使用新值,运行中的任务保持原值。
## 修复字体网络依赖
- 将 Inter、Outfit、Roboto 和完整 Material Symbols 图标字体随源码分发,移除全局样式及页面入口中的 Google Fonts 外部引用和预连接。
- 生产构建及字体显示无需访问 Google Fonts,避免网络超时导致启动脚本报“网页构建失败”。图标字形及可变轴保留,字体来源、校验值和许可证见[本地字体说明](../../apps/showcase_ui/public/fonts/README.md)。
- 首次安装仍需下载 Python/Node 依赖,可按网络环境选择官方源或国内镜像启动脚本。
## 升级与安装
1. 先结束正在运行的任务,再运行 `update.bat`;国内网络使用 `update-cn.bat`。升级程序会停止当前项目的服务与任务进程,并同步依赖环境。
2. 完成后运行 `start.bat` / `start-cn.bat`,等待网页构建并打开页面。启动脚本只检查更新,不代替升级脚本。
3. 全新安装下载 `artemis-eapil-2.1.0-source.zip`,解压后运行上述启动脚本。用附件 `SHA256SUMS.txt` 校验下载完整性。
源码包保留浅层 Git 更新能力,包含本地字体及许可证;不包含依赖环境、用户密钥、任务历史或预编译网页。升级主程序不会自动升级已安装插件。
## 验证
- 本轮开发的默认后端测试 **2967 项通过、2 项跳过、8 项按标记排除**;Ruff 格式与静态检查、质量基线和核心类型检查通过。
- 前端 **292 项测试通过**;禁用 Angular 构建缓存并阻断构建进程网络后,生产构建成功,未发生网络请求。
- 浏览器在仅允许同源字体的环境中确认四套字体均可加载,描边及填充图标显示正常;字体及许可证已完整复制到构建产物,源码打包过滤规则保留这些资源。
- 升版后启动导入、安装资源和源码归档相关的 **12 项测试通过**,前后端及锁文件版本均为 `2.1.0`,再次完成无网络生产构建。
以上为确定性验证;真实设备及付费模型流程未纳入本轮测试。