# ARTEMIS 2.0.0:插件与跨端测试 状态:核心插件链路、首发 Windows 插件适配已实现;Flash/Pro 纯电脑任务和基础浏览器表单实测通过,跨端与长期稳定性验收仍在进行,不是正式发行。 开发分支:`codex/v2.0.0-plugins`,从 1.5.2 主线建立。版本号为 2.0.0,发布前不创建正式版本标签。1.5.x 的 BUG 修复继续在主线进行,后续正常合并进开发分支。 插件市场仓库: ## 产品目标 用户在 ARTEMIS 网页输入一个任务,由 ARTEMIS 自身完成电脑、Web 控制台和 Android 的组合测试,生成统一证据和验收结论。外部 AI 仍通过现有 MCP 发起任务、指导任务并查询报告。 首版运行环境为本机 Windows。Flash、Pro 共用插件能力,纯电脑任务不要求连接 Android;架构保留远程执行和其他平台的扩展位置。 首发仅提供一个电脑控制插件,适配 [open-codex-computer-use](https://github.com/iFurySt/open-codex-computer-use)。浏览器通过该插件的窗口观察、点击和输入能力操作;首版不增加独立浏览器插件。终端、SSH、专用 API 等能力通过后续插件扩展。 ## 插件市场和安装 - 市场以独立 Git 仓库维护索引、说明、来源和验证记录,发行附件分发插件安装包。 - 用户从 ARTEMIS 的插件页面安装、配置、检查、启用、升级及卸载插件,显示下载、安装和失败状态。 - 完整插件包包含清单、Skill、MCP 启动信息、配置表单定义及必要资源或依赖说明;允许纯 Skill 类型。 - 安装时使用最新已验证且兼容的版本。依赖进入插件专用目录,校验下载文件;安装失败保留原可用版本。 - 已安装插件提示更新,用户点击升级。任务固定使用启动时的版本,插件空闲时完成升级。 - 高级入口允许本地插件和自定义 MCP 接入,标明来源,用户手动启用。 - 验证记录注明 ARTEMIS、插件、系统版本及覆盖场景。尚未完成验证的插件不进入可安装市场索引。 ## 配置、授权与 Skill - 同一插件支持多套命名连接配置,例如不同路由器或控制台,允许设置默认项。 - 任务界面和 JSON 可以覆盖连接配置与可用插件;凭据保存在本机,任务参数和普通报告仅引用配置名称。 - 用户启用插件时授权其控制范围,范围内自动执行;超出范围等待用户指导。 - 执行层校验可调用工具及可识别的目标参数。第三方进程的系统权限必须如实说明,工具参数检查不能宣称等同于操作系统沙箱。 - AI 从已启用且配置就绪的插件中按需选择,按需加载工具、Skill 及其引用资源。 - 复用第三方 Skill 时适配工具名称和运行环境。依赖宿主专用 API 的 Skill 需要对应适配,不能仅复制文件就宣称可用。 ## 任务执行和共享资源 - 复用后台配置、任务队列、批次、历史和报告存储,不另建调度器。 - 执行上下文从单个 Android 设备扩展为资源集合,按资源路由动作和观察结果。 - 同一桌面或同一路由器上的用例整条串行;独立资源上的任务可并行。仅操作手机的任务不占用桌面资源。 - 多资源获取应避免相互等待;资源身份需要跨插件一致,不能因为通过不同插件访问同一路由器而绕开互斥。 - 暂停先停止派发并确认正在执行的动作停止,再释放资源。恢复重新排队、观察和核对环境,不沿用过期截图或状态假设。 - 网页显示正在控制的资源并提供暂停和指导入口;跨端任务沿用现有用户指导语义。 - 工具结果区分成功、失败和结果不确定;保留文本、图像、结构化结果和错误,不因 MCP 调用返回就自动认定业务成功。 - 插件启动、连接、操作和恢复受明确超时及任务总预算约束;不得产生无界重试。 - 结果不明的点击或配置修改先核对状态再决定是否重试,业务用例不因模型或插件重试而重新提交。 - 恢复无效时结束当前用例、记录插件与工具的失败原因,后续用例遵循批次的失败即停止设置。 ## 环境恢复和报告 - 环境恢复由任务提示词或配置决定,不统一强制回滚。 - 具备读取能力时记录配置修改前后的值;要求恢复时将恢复纳入结束阶段并验证,失败单独展示并标记受影响资源。 - 手机、电脑和浏览器操作进入同一时间线,记录资源、插件版本、耗时、动作结果及证据来源。 - 首版电脑证据以步骤截图和工具结果为主。保留 Android 录屏,插件接口允许返回视频附件,电脑持续录屏后续扩展。 - 执行完成与测试通过继续分开。缺少验收证据时记录未验证或阻塞,保留已有明确结论,人工复验沿用现有优先级。 - 网页、Word、Excel、单任务资料包和批次资料包提供一致的跨端结果与证据。 - 对外 MCP、参数文档和随源码分发的自动化 Skill 同步新任务配置及能力查询。 ## 已核实的接入基础 现有代码具有 Actuator 能力描述、内部 MCP ActionSession、统一队列和 DataEngine。外部 MCP 连接、内部 Skill 动态加载及跨资源上下文仍需新增。 Flash 的扩展调用需要完整处理 MCP 错误及多种输出;Pro 的发现、工具绑定和动作分派需要连通,不能仅向模型声明工具名称。 电脑控制项目已有 Windows 实现。前期静态检查发现截图采用屏幕区域截取,窗口定位和元素索引具有会话状态;应通过固定版本实测遮挡、DPI、多窗口、连续操作、超时和退出清理,再确定市场发布包。这里不代表已通过运行验证。 ## 交付顺序和验收 ### 0. 开发基线 - [x] 独立开发分支,版本统一为 2.0.0。 - [x] 保存确认过的设计和市场仓库地址。 - [x] 形成可运行的插件功能;版本标记不代表功能已经完成。 ### 1. 通用插件基础 - [x] 明确清单和市场索引契约,并实现版本兼容与参数校验。 - [x] 支持本地 stdio / 远程 MCP 连接、自定义接入、会话生命周期及有界取消。 - [x] 支持 Skill 按需加载、命名配置、凭据引用和授权范围检查。 - [x] Flash / Pro 共用工具分派,完整保存错误与图像等结果。 ### 2. 插件页面和市场 - [x] 市场查询、安装进度、配置、启停、诊断、更新和卸载。 - [x] 下载完整性检查、失败恢复、任务版本固定与升级互斥。 - [ ] 仅发布实际验证过的插件版本与验证记录。 ### 3. 跨端执行 - [x] 适配首发电脑控制插件,支持纯电脑和混合任务入口。 - [x] 多资源互斥、暂停恢复、指导、超时及共享环境变更处理。 - [ ] 跨端证据、验收、人工复验和各类导出保持一致。 - [x] 同步 HTTP、工作区 MCP 和自动化 Skill。 ### 4. 验收 - [x] 确定性测试覆盖连接失败、结果不确定、超时、取消、升级及资源互斥。 - [ ] Windows 实测窗口遮挡、多窗口、DPI、输入、观察和浏览器控制台操作。 - [x] 实际跑通电脑修改参数、手机验证、按要求恢复及完整证据导出。 - [ ] 验证 Flash / Pro、纯电脑任务、批量执行、暂停恢复和人工指导。 - [ ] 执行仓库质量检查、前端交互检查,并完成真实安装包验证后发布。 ### 本轮验证记录(2026-10-14) - 确定性测试覆盖 stdio、Streamable HTTP、任务固定版本、取消/超时资源保护、图片来源与共享证据清理;网页测试与构建通过。 - 首发包增加窗口自身截图与子控件消息路由,修复实际发现的遮挡画面污染和按钮收不到点击问题。两个临时窗口验证了遮挡下截图来源与实际点击效果。 - 隔离 Chrome 窗口通过 MCP 修改本地表单参数、提交一次并读回确认。 - 使用已配置的 `gpt-6-luna / high` 跑同一个中文输入与结果确认任务:Flash 57 秒、Pro 112 秒,真实控件值和最终通过结果一致。只代表这两个基础样本。 - 真实 Pro 记录成功生成 Word、Excel 与含插件来源命名的截图列表。修复了接口清洗导致来源字段丢失的问题。 - 队列回归复现并修复两处资源遗漏:活动任务元数据丢失插件资源,以及取消后遗留版本占用。运行任务仍等进程退出才释放占用,避免提前允许升级。 - 真实 stdio MCP 的确定性用例验证暂停关闭连接、释放共享资源,恢复等待另一任务完成,再新建连接重新观察;该验证不代替真实模型的批次和指导组合验收。 - 真实 Flash 跨端任务使用选定的 Android 17 模拟器和隔离 Chrome:电脑修改参数、手机刷新验证、电脑恢复、手机再次验证,最终用例通过,耗时约 119 秒;后台仅收到改值与恢复两次提交。Word/Excel 导出包含 11 步、8 条插件操作、23 项截图引用,手机和插件图片分别保留。 - 同一跨端场景实际验证暂停后设备与桌面锁释放、恢复等待另一资源占用者退出;指导已被执行端领取并记录在下一步,未重复提交已完成的修改。该次操作完成但终检发现手机文字层级陈旧,保留为未验证,未把后续修复结果覆盖旧记录。 - 联调修复 Flash 跨端切换时将电脑图像带入手机观察的问题。插件图片保留在带来源的工具结果和步骤记录内,切回手机时重新获取手机截图与元素。 - 插件截图在首次入库时同时保存本次观察文字,回归确认后续动作不会将新文字补写到前一步图片上。 - 联调还复现 Android 辅助服务缓存旧网页文字。辅助 APK 1.2.1 在 Android 13+ 每次观察前清理节点缓存,修复后同一模型任务终检通过;另有不调用模型的动态网页回归,同时验证文字与像素从初始值更新并恢复。Android 12 及更早版本不使用此 API,仍需单独验收。 - 最终默认 Python 测试 2451 通过、2 跳过、8 未选中;Ruff 格式/静态检查、质量基线、核心 Pyright 均通过。前端 187 项测试与生产构建通过,真实 Android 动态网页回归通过。历史检索测试改用同步存储以消除测试自身的线程等待竞争,断言保持不变。 - 复杂浏览器控制台、多 DPI、多显示器、长程运行、真实批次组合及混合 Pro 模式还需要验收。插件市场不提前发布未完成验收的安装包。