Add dark theme, richer Markdown and readable plugin results. Improve Android input evidence, response integrity and diagnostics. Unify lifecycle, guidance receipts and evidence sources across clients. Keep direct action dispatch without an added AI quota approval layer. Align version metadata at 2.2.0 and bundle Helper 1.2.2. Validation: 3063 backend tests before the version bump; 44 after. Frontend: 317 tests and production build passed.
6.7 KiB
6.7 KiB
ARTEMIS-Eapil 2.2.0
日期:2026-10-26。比较基线:v2.1.0(83bcfd5)至当前工作区,包括本轮新增文件。
主程序、前端及各自锁文件已统一为 2.2.0。当前为本地开发提交,尚未推送、创建标签或发布源码包。远程薄客户端 artemis-client 与安卓 Helper 沿用各自独立版本。
主程序变更清单
| 范围 | 2.1.0 → 2.2.0 的变化 |
|---|---|
| Markdown | 计划、笔记和报告复用渲染器,支持表格与对齐、嵌套列表、任务清单、引用、链接、图片、删除线和围栏代码;保留计划进度与验收标记,处理 HTML 转义、链接协议和流式未闭合代码围栏。 |
| 暗色模式 | 导航太阳/月亮按钮一键切换,首次跟随系统,浏览器记忆并在首次绘制前应用;首页、工作区、配置、插件和报告共用亮暗主题。 |
| Flash 最终 AI 判定设置 | 开关切换后立即保存,保存中防止重复操作,失败恢复原值;保存成功后后续未开始任务使用新值,无须重启。默认关闭、运行任务配置快照及 Pro 验收行为保持原约定。 |
| 插件结果阅读 | 窗口状态、控件与工具结果采用摘要、分组及可展开原始数据展示,改善 get_window_state 大 payload 的阅读;此次优化网页呈现,保留执行模型收到的工具证据。 |
| 安卓输入真实性 | 区分输入值、占位提示、可编辑性、焦点与掩码;保留空输入框,输入后重新观察,避免把提示文字当成已经填写。未确认输入时停止继续批量提交,保留已派发事实。 |
| 安卓 Helper | 升至独立版本 1.2.2,补充节点输入相关属性,同步 APK、清单与校验信息。 |
| 点击定位与历史引用 | 动作保留实际目标、坐标、截图和快照身份,旧步骤不会随控件编号复用而改变;像素定位结合真实控件和局部画面,避免改称空白区域绕过目标检查。 |
| 写操作错误处理 | 不因一次执行错误自动重复物理动作;区分未派发、已派发和结果不明,扩展工具错误及证据回执保存失败不会被错误记作成功或诱发重发。 |
| 应用启动恢复 | 启动重试不再隐式强制停止应用;焦点为空时结合已恢复活动所在任务判断,仅可见的候选任务不足以证明已就绪,保留有界等待与诊断。 |
| 模型响应完整性 | 流式、非流式、结构化结果及串接解析器要求服务端完整结束;缺少终止事件、失败、未完成或截断 JSON 不进入工具与正式结论。恢复只重试无效模型请求,保留工具证据,不重新执行业务动作。 |
| 取消、超时和请求诊断 | 传递用户停止、新指导、暂停、任务/检查替换及已知外层时限;区分单次请求、传输与验收总预算。用请求和尝试编号关联重试,显示可用服务端请求、响应及链路编号;未知来源和 HTTP 499 保留未知。 |
| 任务生命周期 | 网页、MCP 与报告共用阶段和耗时投影,区分排队、资源等待、暂停/示范、执行、最终验收和导出;增加实际工作进程开始、导出完成时点,旧数据缺失项不补成零。 |
| 中途指导回执 | 区分接收、领取与消费;终态尚未消费、领取后未确认消费分别显示,收到指导不再等同于已经执行。 |
| 证据来源与验收范围 | 页面、Word/Excel、报告和证据索引汇总实际执行界面及接口、终端、文件等辅助来源,保留步骤和调用引用;最终复核明确未验证边界,不按网址或业务名称猜测平台。 |
| MCP、HTTP 与阶段更新 | 拒绝未知字段,JSON 工具结果提供 structuredContent 与兼容文本;历史摘要带总数、下一页和实际存储步号;任务阶段支持按 id 局部更新,保留其他阶段并原子校验。工具名称和白名单不变。 |
本轮撤回的机制
开发中曾自行加入次数约束编译、配额持久化、提交内容指纹和 AI 二次动作否决,造成首次 Send、Approve 被误拦。已按用户明确要求完整删除运行时、调用接入及专属测试,没有留下开关或替代审批层。
2.2.0 由执行模型依据用户原文、指导、观察与历史遵守任务次数和禁止要求。资源锁、既有参数及插件授权校验、暂停取消、输入状态观察和真实错误处理继续保留。旧任务及历史约束记录保留,不再作为执行配额读取。
同期 CUA 插件候选
此项位于独立的 Artemis-Plugins 仓库和隔离工作树,不是主程序升版后自动更新的插件:
- 本地候选 0.38.0+artemis.1:同步官方 Driver 0.38.0,补充任务栏、托盘及无标题原生菜单发现。
- 根据实际键盘焦点和经验证的 PID、线程及窗口归属选择动作后观察窗口,返回实际来源。
- 对固定上游源码增加已知 Shell/菜单无标题窗口的兼容补丁,重新构建 Driver、UIA helper 与 SDK DLL,记录来源和 SHA256。
- 移除新版驱动已处理的滚动预缩放,避免坐标重复转换;保留最新截图编号、边界与窗口校验。
- 先前验证记录包含 Go 测试、vet、构建,以及共享桌面锁内的菜单/任务栏 9 次调用和隔离浏览器表单 38 次调用。候选市场索引尚未发布,原失败业务全流程未重跑。
验证与交付范围
升版前、撤回次数约束后的当前源码已完成:默认后端 3063 项通过、2 项跳过、8 项排除,保留 102 条现有 Pillow 弃用警告;专项 38 项通过;Ruff 格式与静态检查、质量基线、核心类型及差异空白检查通过。以上为上一轮实际执行的结果,非本次升版后重跑全量。
本次升版后实际完成:
- 后端项目、UV 锁、前端项目、NPM 锁顶层与根包、本机发行元数据及运行时公开版本共七个读数均为 2.2.0。
uv lock --check --offline通过;离线重建并更新本机 Artemis 可编辑安装,仅调整该包,其他依赖版本保留。- 启动导入、安装资源、状态路径及配置/源码打包相关测试 44 项通过。
- 前端 ChromeHeadless 317 项通过,生产构建通过。
- 本轮版本文件及文档的差异空白、相对链接检查通过。未重复执行升版前已通过的后端全量和质量门禁,不把上轮结果标作升版后重跑。
本轮未调用付费模型、操作设备、修改历史任务或重启后台;现有原业务、真实多 DPI、多显示器、长任务和压力场景不能据此视为全部通过。
更新安装时由现有安装/升级流程同步包元数据和网页构建;运行中的后台需正常重启后加载新代码。主程序升级不会自动升级或授权插件。