fix: make Android tasks use extensions automatically and populate marketplace
This commit is contained in:
1 parent
6663233ab8
commit
9c82a40cbf
32 files changed
+341
-131
No files matched your search
@@ -22,7 +22,7 @@
|
||||
- 安装时使用最新已验证且兼容的版本。依赖进入插件专用目录,校验下载文件;安装失败保留原可用版本。
|
||||
- 已安装插件提示更新,用户点击升级。任务固定使用启动时的版本,插件空闲时完成升级。
|
||||
- 高级入口允许本地插件和自定义 MCP 接入,标明来源,用户手动启用。
|
||||
- 验证记录注明 ARTEMIS、插件、系统版本及覆盖场景。尚未完成验证的插件不进入可安装市场索引。
|
||||
- 验证记录注明 ARTEMIS、插件、系统版本及覆盖场景。开发预览包列明已完成的验证范围与未覆盖场景,不宣称已完成正式版全面验收。
|
||||
|
||||
## 配置、授权与 Skill
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
- 复用后台配置、任务队列、批次、历史和报告存储,不另建调度器。
|
||||
- 执行上下文从单个 Android 设备扩展为资源集合,按资源路由动作和观察结果。
|
||||
- 同一桌面或同一路由器上的用例整条串行;独立资源上的任务可并行。仅操作手机的任务不占用桌面资源。
|
||||
- 同一桌面或同一路由器上的用例整条串行;独立资源上的任务可并行。当前按任务可用插件统一预留资源;显式禁用插件的手机任务不占用桌面资源。按需扩大资源集合的调度尚未实现。
|
||||
- 多资源获取应避免相互等待;资源身份需要跨插件一致,不能因为通过不同插件访问同一路由器而绕开互斥。
|
||||
- 暂停先停止派发并确认正在执行的动作停止,再释放资源。恢复重新排队、观察和核对环境,不沿用过期截图或状态假设。
|
||||
- 网页显示正在控制的资源并提供暂停和指导入口;跨端任务沿用现有用户指导语义。
|
||||
@@ -83,11 +83,11 @@ Flash 的扩展调用需要完整处理 MCP 错误及多种输出;Pro 的发
|
||||
|
||||
- [x] 市场查询、安装进度、配置、启停、诊断、更新和卸载。
|
||||
- [x] 下载完整性检查、失败恢复、任务版本固定与升级互斥。
|
||||
- [ ] 仅发布实际验证过的插件版本与验证记录。
|
||||
- [x] 发布首个电脑插件开发预览及实际验证范围;正式版全面验收继续。
|
||||
|
||||
### 3. 跨端执行
|
||||
|
||||
- [x] 适配首发电脑控制插件,支持纯电脑和混合任务入口。
|
||||
- [x] 适配首发电脑控制插件,安卓任务自主调用插件;保留高级 API 纯电脑入口。
|
||||
- [x] 多资源互斥、暂停恢复、指导、超时及共享环境变更处理。
|
||||
- [ ] 跨端证据、验收、人工复验和各类导出保持一致。
|
||||
- [x] 同步 HTTP、工作区 MCP 和自动化 Skill。
|
||||
@@ -115,4 +115,13 @@ Flash 的扩展调用需要完整处理 MCP 错误及多种输出;Pro 的发
|
||||
- 插件截图在首次入库时同时保存本次观察文字,回归确认后续动作不会将新文字补写到前一步图片上。
|
||||
- 联调还复现 Android 辅助服务缓存旧网页文字。辅助 APK 1.2.1 在 Android 13+ 每次观察前清理节点缓存,修复后同一模型任务终检通过;另有不调用模型的动态网页回归,同时验证文字与像素从初始值更新并恢复。Android 12 及更早版本不使用此 API,仍需单独验收。
|
||||
- 最终默认 Python 测试 2451 通过、2 跳过、8 未选中;Ruff 格式/静态检查、质量基线、核心 Pyright 均通过。前端 187 项测试与生产构建通过,真实 Android 动态网页回归通过。历史检索测试改用同步存储以消除测试自身的线程等待竞争,断言保持不变。
|
||||
- 复杂浏览器控制台、多 DPI、多显示器、长程运行、真实批次组合及混合 Pro 模式还需要验收。插件市场不提前发布未完成验收的安装包。
|
||||
- 复杂浏览器控制台、多 DPI、多显示器、长程运行、真实批次组合及混合 Pro 模式还需要验收。这些未覆盖项不包含在首个电脑插件开发预览包的验证范围内。
|
||||
|
||||
### 插件入口修正(2026-10-14)
|
||||
|
||||
- 普通安卓任务自动提供已启用且默认连接已授权的扩展简介,由模型按需加载工具和 Skill。无需选择 mixed。仍可通过 plugins: [] 禁用或指定命名配置。
|
||||
- 首页、工作区和批次导入移除执行目标选择,使用默认收起的浅色「扩展插件 · 自动」入口;保留高级 API 的纯电脑目标。
|
||||
- 插件市场区分加载、失败、空列表与可安装内容,明确标注开发预览。电脑控制 1.0.0 包和校验文件已上传市场仓库,索引已推送。
|
||||
- 公开 HTTPS 下载、SHA-256 与清单校验、隔离目录安装通过。新装保持未授权、未启用;不覆盖用户配置。
|
||||
- 回归覆盖普通安卓任务按需加载跨端插件、默认连接、禁用与未授权边界、MCP 不自动换执行器。默认 Python 2456 通过、2 跳过、8 未选中;前端 190 项通过,生产构建及 Ruff、质量基线、核心类型检查通过。
|
||||
- 浏览器已检查市场卡片、安装按钮、首页/工作区的折叠插件入口。这一轮未额外运行付费模型任务,真实跨端模型证据沿用上述联调记录。
|
||||
+8
-6
@@ -8,19 +8,21 @@ ARTEMIS 可通过插件连接 stdio 或 Streamable HTTP MCP 服务,并按需
|
||||
|
||||
点击「配置」建立命名连接,例如 `lab-router`。填写字段、工具白名单、允许的参数值和共享资源,勾选授权后保存,再启用插件。密码留空保留已保存的值;页面和 MCP 查询只返回已配置的密钥名称。不要把密钥写进清单、提示词或任务 JSON。
|
||||
|
||||
每个插件可设置一套默认连接。自动选择只使用符合任务目标、已启用且默认连接已授权的插件。任务中也可以明确选择插件与连接;空列表表示不使用插件。
|
||||
每个插件可设置一套默认连接。安卓任务默认可使用支持手机扩展(targets 含 android 或 mixed)、已启用且默认连接已授权的插件。AI 先读取能力简介,需要外部操作时才加载对应工具和 Skill。任务中也可以明确选择插件与连接;空列表表示不使用插件。
|
||||
|
||||
正在排队、暂停和执行中的任务会固定插件版本,并阻止修改配置、启停、升级或卸载。操作结束后再修改。卸载会移除插件安装文件与连接配置,历史证据仍保留。
|
||||
|
||||
## 执行任务
|
||||
|
||||
任务输入区和批次导入区有执行目标选项:
|
||||
任务输入区和批次导入区保持安卓测试入口,无需选择“手机 + 电脑”。照常描述任务,例如“电脑修改路由器参数,再在手机验证并恢复”。默认收起的「扩展插件 · 自动」可展开指定连接,或取消自动选择且不勾选插件,以仅使用手机能力。
|
||||
|
||||
高级 JSON、CLI 和 SDK 保留以下执行目标参数:
|
||||
|
||||
| 目标 | 含义 |
|
||||
| --- | --- |
|
||||
| `android` | 手机任务,默认不使用桌面插件 |
|
||||
| `android` | 默认手机任务,AI 按需调用已授权扩展插件 |
|
||||
| `computer` | 纯电脑任务,无需 Android;必须选择提供观察能力的插件 |
|
||||
| `mixed` | 手机和扩展插件组合任务 |
|
||||
| `mixed` | 显式跨端任务;普通安卓任务无需设置此值 |
|
||||
|
||||
单任务 `runtime_overrides`、批次每项 `task_config` 都支持:
|
||||
|
||||
@@ -40,7 +42,7 @@ SDK:先 `await agent.init(execution_target="computer")`,然后 `agent.new_ta
|
||||
|
||||
## 共享资源与中断
|
||||
|
||||
同一目标应使用同一个资源名,例如 `desktop:local` 或 `router:lab`。资源名不区分大小写。不同插件操作同一路由器时也要使用相同资源名。无资源声明的 MCP 插件按插件与配置名称保守互斥。
|
||||
同一目标应使用同一个资源名,例如 `desktop:local` 或 `router:lab`。当前采用保守调度:任务启动时统一预留所有可用插件声明的共享资源,避免执行中跨端加锁死锁;工具与进程仍按需加载。需要独立并行的手机任务可设置 plugins: [],不占插件资源。资源名不区分大小写。不同插件操作同一路由器时也要使用相同资源名。无资源声明的 MCP 插件按插件与配置名称保守互斥。
|
||||
|
||||
暂停会先取消调用并关闭插件连接,再释放任务资源;恢复排队后重新观察。插件取消/超时的写操作可能已经生效,不能盲目重放。如果远程服务未确认动作停止,页面会显示资源保护及原因,用户核对后点击「已核对,解除保护」。这只解除 ARTEMIS 的保护,不会替用户终止远程操作。
|
||||
|
||||
@@ -76,7 +78,7 @@ HTTP 服务使用 `{"transport":"streamable_http","url":"https://example.com/mcp
|
||||
|
||||
清单提供的工具和参数范围检查不是操作系统沙箱;第三方进程以当前用户权限运行。市场包使用 HTTPS、SHA-256、平台/版本检查及安全解压,包内应保留许可证和来源记录。
|
||||
|
||||
市场索引为 `{"schema_version":1,"plugins":[...]}`,每项包含 `manifest`、`archive_url`、`sha256`、`verification`。同一版本不可覆盖,先验证新包再使用新版本号。
|
||||
市场索引为 `{"schema_version":1,"plugins":[...]}`,每项包含 `manifest`、`archive_url`、`sha256`、`verification`,以及 release_stage(stable 或 preview,默认 stable)。开发预览在市场明确标注,并提供已验证范围和未覆盖场景。同一版本不可覆盖,先验证新包再使用新版本号。
|
||||
|
||||
## 环境参数
|
||||
|
||||
|
||||
Reference in new issue
Block a user