# 探索模式:把粗略流程变成一个可复用用例 在「新任务 / 首页」选择 Flash、Pro 或「探索」,描述要验证的大概流程,再点击「开始探索」。ARTEMIS 使用 Pro 的计划、工具和验收机制推进任务;遇到关键预期不明或需要选择时,在任务主区域提问。底部输入框用于回答问题、补充信息和纠正方向;探索还提供人工示范、暂停与继续。 工作区底部始终指导当前选中的任务:Flash/Pro 不会因此创建新任务;探索消息与操作步骤按时间排列。同一次探索在任务队列/历史中保留一张卡,内部执行轮次可展开查看,当前步骤对应所选轮次。通过「任务范围 → 探索任务」筛选。Flash/Pro 复跑各自保留普通任务卡,可点击「查看来源探索」返回;不会自动切换成探索对话。 ## 模型与超时 探索独立保存模型配置,默认 `gpt-6.1-terra / high`,预设也提供 `gpt-6-astra`,允许自定义模型。执行、人工示范分析、用例提炼和结束后的讨论使用这套配置。修改默认值仅影响新探索;已创建会话保留配置快照,Flash/Pro 默认值不变。 默认每段主动执行 1800 秒。模型调用、设备动作、录像分析计入;排队、等待回答和人工示范不计入。到时保存进度并暂停,可点击「继续探索」开启下一段;不会仅因超时把测试判成失败,累计主动耗时仍保留。 普通暂停/等待回答会释放执行资源;继续后重新排队并观察设备。服务或执行进程中断后,已保存对话、证据和用例仍可用;继续会新建关联运行,不能恢复已经丢失的内存状态。 执行过程中获取设备画面超时或连接中断时,探索会保留尚未执行的指导并暂停,释放设备。确认设备恢复响应后点击「继续探索」,重新观察成功后才交给模型执行;等待期间不自动重试、不调用模型。此类暂停不等于测试失败。若设备仍不可用,会再次明确提示并暂停。 队列和历史任务以等高徽标显示「探索 / Flash / Pro」。用例复跑显示实际执行模式并另标版本;尚可继续的探索只展示当前执行状态,具体轮次的阻塞原因可在执行记录查看,结束后再展示测试结论。旧任务未保存模式时显示「模式未记录」。 ## 我来操作 1. 点击「我来操作」,选择安卓、电脑或双来源,再点击「开始示范」。电脑来源要求任务已启用支持录制的插件。 2. 等界面显示「录制中」后再操作。ARTEMIS 会先让当前动作安全结束、停止 AI 操作,保留相应设备与插件资源,避免其他任务抢占。 3. 操作完成后点击「操作完成,开始分析」。ARTEMIS 停止并保存录像,分析实际画面,再显示摘要。证据明确时重新观察并继续;关键步骤或预期不清楚时再提问。 即使普通录屏关闭,人工示范仍单独录制。默认 15 分钟,最后 60 秒提醒,可以延长;到时保存录像并暂停,释放资源,不能自动视为示范完成。取消或分析失败也保留已取得的媒体,可发送文字说明继续。 录像不录音,沿用留档尺寸、帧率和编码配置。安卓与电脑分别保存并按任务时间对齐;示范分析只使用指定的已保存片段,不用手机截图代替电脑证据。画面不可见的输入和动作不能推测,用户示范不等于模型独立复跑通过。 ## 用例版本与复跑 探索验收通过后提炼一个用例,包含目标、前置条件、可验证路径、等待条件和预期结果。长任务会分段提炼完整路径,原始记录保留。提炼失败不改写实际测试结论,可单独重试;未通过的探索不能自动提炼成「已验证路径」,但可以手动保存草稿。 主区域的用例卡可复制提示词,点击「查看 / 编辑」展开编辑器并保存新版本,旧版本不可变。选择已保存版本和 Flash/Pro 模式,可以指定复跑模型,也可使用普通默认模型。复跑固定版本与配置,结果与探索验收分开显示。前置条件会纳入探索用例的复跑提示词。 「加入新批次草稿」只创建批次,在「报告与批量」确认后启动。结束后仍可在对话中讨论与修订;需要再次操作设备时点击「继续探索」,它会重新排队并观察。新指导不会改写旧任务报告。 单任务和批次「全部资料」包含对话、用例版本和关联运行索引、当前任务的示范录像及原有截图/附件。其他关联任务的媒体需从对应任务导出,索引不会假称包含它们。 ## MCP 与 Python SDK 更新 MCP 配置并重载后,使用 `mobile_exploration`。它与网页共用接口、队列和存储;`list/get/case` 都是只读操作。 ```python mobile_exploration( action="create", request_id="case-search-create", payload={ "goal": "探索设置搜索流程;关键预期不清楚时询问我", "task_config": {"device_serial": "用户指定的设备编号"}, }, ) # 以下 exploration_id 使用 create 返回的 id。 mobile_exploration(action="start", exploration_id="会话编号", request_id="case-search-start") mobile_exploration(action="get", exploration_id="会话编号", after=0) mobile_exploration( action="message", exploration_id="会话编号", request_id="guide-1", payload={"text": "只验证能打开搜索页,不修改设置"}, ) ``` 写操作除 `pause/stop/delete` 外均需稳定的 `request_id`;传输失败时原样重试,不生成新编号。消息 `after` 为已读最大序号;读取返回下一页,不会启动执行。运行结束看 `runs[].test_result`,不能把 `completed` 当作测试通过。 | 操作 | 参数/行为 | | --- | --- | | `pause/continue/stop` | 暂停/继续/明确取消当前执行 | | `demonstrate` | `payload={source:"android"/"computer"/"both"}`;等 `demonstrations[].status=recording` 再操作 | | `demo_finish/demo_cancel` | 传 `demonstration_id`;结束分析/取消保留媒体 | | `demo_extend` | 另传 `payload={seconds:900}`,同一请求不会重复延长 | | `case` | 可传 `version` 获取旧版本 | | `save_case` | `payload={expected_version,case:{name,goal,preconditions,evidence}}`;版本冲突返回 409 | | `generate` | `payload={source_run_id,expected_version}`;返回生成任务,轮询 `get.generations` | | `validate` | `payload={version,profile:"flash"/"pro",task_config:{...}}` | | `batch` | 与 validate 相同,可加 `name`;只建草稿 | `mobile_config(section="exploration")` 读取非敏感默认值;用户授权保存后才传 `changes` 与 `persist_defaults=true`。接口不接收 API Key,模型传输仍使用已配置的 Responses 网关。 远程 SDK 的 `await client.exploration(action, exploration_id=..., request_id=..., payload=...)` 使用同样动作及参数,不创建第二套执行器。遵循当前服务返回的参数与状态。 ## 对话与结束行为 - 探索助手提问后会暂停,主区域和输入框显示“等待你回答”。回答前不进行最终验收,也不生成用例。 - 新指导优先于已完成的旧计划。最终检查期间收到指导会返回执行;例如“先回到主页,再结束”需要实际完成返回操作后再验收。 - 设备操作及最终验收结束后进入“正在提炼用例”,此时不再接收设备指导。未发送文字会保留,提炼完成后可点击“继续探索”。用例卡片只在探索结束时展示。 - 进入只读最终验收前停止保存录屏,模型等待、重试与用例提炼不录入视频;如需补做操作,再录制后续片段。 - 首页探索设置使用滑块调整思考强度与时限。复跑任务显示已保存的用例名称及版本,完整提示词仍保存在任务中。 ## 删除探索 用户明确要求删除时,先 `mobile_exploration(action="deletion_preview", exploration_id=...)` 查看影响;再 `delete` 并传 `user_confirmed=true`。删除整段对话及探索运行,独立 Flash/Pro 复跑保留。删除不需要 request_id;运行中或示范/提炼中不能删除。