--- name: mobile-aijia-daily-screenshots description: 为移动爱家 App 的指定设备采集直播、对讲、云台、告警及卡存和云存回放截图;下发长稳计划时一次确认,到点按计划执行,结果通过钉钉私聊截图并发文字 DING。不用于其他 App 的通用测试。 metadata: version: "1.0.1" --- # 行研长稳截图 固定应用:移动爱家,包名 `com.cmri.universalapp`。通过已启动的 ARTEMIS 操作用户指定的 Android 模拟器;App 中的摄像头/设备与 Android 模拟器是不同对象。使用已安装的 `artemis-use` Skill 及其单任务执行参考;调用前查看当前 MCP 工具契约。不要重装、清数据、重置设备或修改全局配置。 ## 下发时确认,到点执行 创建计划或确认变更时,一次性确认起止日期、连续天数、每天的具体时间点和时区;模拟器名称及唯一 Android serial;App 内每台设备的名称及有无云台;回看规则;以及计划范围内各轮的发送授权(默认方案为钉钉私聊截图给本人,再发应用内文字 DING)。只补问缺项;用户已明确给出并确认完整配置时无需再问。历史任务配置可供新计划参考,不能代替新计划的授权。单次立即执行也在下发时确认范围、时间与发送授权,明确“执行 1 天、现在执行”即可。 **已确认的计划到点直接执行。** 保存已确认的配置及发送授权,适用于该计划范围内的所有轮次。触发后核对计划范围、实际日期、模拟器 serial、目标设备与运行条件,按已确认的配置执行,无需逐轮询问或等待回复。配置缺失、目标无法可靠核实或需要变更设备、云台、接收人或计划范围等已确认事项时,暂停受影响的操作并报告原因;需要变更的事项在更新计划时确认。 区分计划连续执行天数与每轮回看天数。默认回看执行日期的前一自然日;回溯 N 天时,分别采集前 N 个自然日的 12:00,00:00、09:00 仍只采集执行日前一日。三个时刻均须核对页面实际日期。只有用户明确要求定时并确认完整计划后才创建调度;默认采用北京时间(Asia/Shanghai,UTC+08:00)。最后一天的最后一轮结束后停用计划。 ## YT70-468 及指定设备单次截图用例 用户指定 `YT70-468` 单次用例时,以该 App 内设备为目标;用户明确指定其他设备时,逐台执行同一组用例。按以下顺序采集,详细操作见任务提示词: 1. **直播及对讲**:直播加载后先保存一张基准截图。点击对讲,核对实际对讲状态并截图;再次点击当前页面的对讲/挂断控件,核对已挂断并截图。截图验证页面状态,不单凭截图断言双向音频正常。若连接失败或无法确认已挂断,保存提示和现状,记录该项缺失及实际通话状态,然后继续后续可执行用例;不把未知状态说成已挂断。 2. **云台(仅用户确认有此功能时)**:先重新保存一张操作云台前的直播截图;向左转动 1 秒并松开,截图;再向右转动 1 秒并松开,截图。通过 ARTEMIS 的实际受保护操作控制方向、时长及松开;无法执行或核实时如实记录,不用若干次点按冒充 1 秒,也不声称左右等时操作必然恢复原位。用户确认无云台时标记“不适用”。 3. **告警**:点击告警,查看目标设备的告警列表,选择一条可播放的告警,播放后截图并记录该条告警的设备和时间。无消息、无可播放录像或播放失败时保存列表空态/提示,记录缺项并继续回看。 4. **原有回看**:卡回看和云回看各按下方截图执行流程达到用例约定的全天尺度,选择每个目标回溯日期的 12:00 并截图,默认日期为执行当地时间的前一天。 5. **新增夜视时段截图**:在每种回看中保留原有 12:00 截图后,点击日历图标,选择执行日期前一日的 00:00 并截图;再次点击日历图标,选择同一前一日的 09:00 并截图。两种回看均执行这一顺序,默认回溯 1 天时,12:00、00:00、09:00 均属于同一个前一日。每次切换后重新核对日期、时间、存储类型和缩放;依据实际画面或状态记录夜视表现,不仅凭时刻判定夜视切换成功。无录像或无法选择时保留实际提示,不擅自换成其他日期或时刻。 任何用例受阻、失败、无数据或无法验证时,保存现状和页面提示,逐项记录实际状态、缺项及原因,结束受阻项后继续执行后续可执行用例和其他设备;不因单项受阻停止整台设备或整轮任务。云台无法核实停止时记录状态,不重复方向动作,继续其他可执行用例;对讲状态不明时如实记录,继续后续可执行用例。设备离线、App不可达或ARTEMIS服务不可用等使后续操作实际无法进行时,记录受影响项目及原因,不伪称已执行;不绕过安全校验。当次接受现状不代表以后无数据自动通过。报告各截图真实路径及缺项原因,截图仅记录执行事实,不自行判断长稳是否通过。 这是供 Codex 后续长稳调度的单次用例。每次运行都必须将完整用例及当次设备、日期要求传入 ARTEMIS,由 ARTEMIS 执行全部 App 操作和截图;Codex 负责调度、提交、跟踪、读取与整理 ARTEMIS 证据,并按已确认的发送授权通知结果。不得由 Codex 通过 ADB、电脑操作工具或其他直接控制方式代替 ARTEMIS 执行用例,也不得在 ARTEMIS 不可用或执行失败时切换到 Codex 直接操作;应报告阻塞或失败原因。不自行循环或创建定时任务,只有用户明确要求时才执行对应操作。仅要求整理或修改用例/Skill 时不启动设备任务或发送截图结果通知。 ## 截图执行 1. 用 `mobile_workspace` 核对模拟器 serial、队列和在线状态;服务离线按 `artemis-use` 诊断并报告,不自行启动 ARTEMIS 主程序。选择用户确认的目标,单一模拟器上的任务串行。 2. 用 `mobile_run_task` 提交实际任务,设置 `model="Flash"`,并通过单任务 `runtime_overrides={"timeout_seconds":3600}` 设置 1 小时执行超时(不含排队和暂停);指定 `device_serial` 和 `locked_app_package`,为每次提交生成唯一 `request_id`。不修改 ARTEMIS 全局配置;其他确需的临时覆盖项合并进同一个 `runtime_overrides`。提交结果不确定时用原 request_id 查询,不能重新生成 ID 重复提交。读取并按当次设备及云台功能、执行日期、前一日日期、回溯日期、时刻和存储类型填充 [ARTEMIS 任务提示词](references/artemis-task-prompt.md),把完整内容传入任务;根据实际页面识别控件,不假设坐标、登录状态或设备顺序。 当前 Flash 契约没有执行前安全网、持久化计划或 Pro notes;`expected_output_desc` 与 `verification_level` 对 Flash 无效。不得声称已启用这些能力。需要受保护动作的项目,仅在当前 Flash 实际契约提供并能核实所需保护时执行;否则记录缺项并继续其他可执行项目,不用无保护动作代替。通过任务状态、最终 `test_result`、步骤、原生截图及导出报告整理证据,不依赖 Pro notes。 3. 直播、对讲、条件云台、告警及卡存和云存回放按任务提示词执行。放大镜面板可能在观察期间消失:仅采用当前 ARTEMIS 实际支持且能确认目标并保留所需安全校验的动作;不具备时记录缺项并继续。不要假定现有快速连续动作具备逐目标安全校验,也不要通过 ADB shell 或未受校验动作绕过安全校验。若连续两次拦截、目标不明或动作结果不确定,保存现状并停止该项缩放,继续其他截图。对每轮实际动作核对前后刻度和可见范围;4 小时主刻度是本用例约定的全天尺度,观察到即停止缩小,但不能仅凭它断言控件物理下限。若用户要求物理下限,另需轨道端点或其他明确证据;缺少则报告未验证。日期、12:00/00:00/09:00、设备和存储类型尽量用截图核对,无法同时显示时保存关联补充证据;无录像不得推断全天无录像。 4. 从 ARTEMIS 实际步骤及截图证据核对页面、设备、对讲状态、云台方向与时长及松开、告警播放状态、回看日期与时刻、缩放与指针;导出实际截图并确认文件存在、可读取,按设备、日期、用例和存储类型整理。每设备每轮预期:直播基准 1 张、对讲 2 张、告警播放 1 张、每个回溯日期的卡存和云存 12:00 各 1 张、执行日期前一日的卡存和云存 00:00/09:00 共 4 张;有云台另加操作前/左转后/右转后 3 张。回溯 D 天时,无云台为 8 + 2D 张,有云台为 11 + 2D 张;默认回溯 1 天分别为 10/13 张,补充证据另计。无云台属不适用;用户确认有云台但不可操作、其他缺项、页面不可达、设备离线、无权限、状态/时长/时间/缩放无法验证都记入逐项结果。`completed` 只是任务结束,不能替代截图证据。实际失败也尽量继续处理其他设备,不能将部分完成报告为全部成功。 ## 钉钉通知与结果 每轮无论成功、部分完成、失败或阻塞,都在最终处理阶段按已确认的接收人和方式尝试发送结果。写明执行时间、设备、目标日期、实际状态、缺项及失败或阻塞原因。用 `dingtalk-chat` 的图片指引私聊发送实际取得的截图,再用 `dingtalk-misc` 的 DING 指引发应用内文字通知,说明图片发送状态;无截图时发送文字结果和原因。`dws ding message send-personal` 没有直接附图参数,以当前契约为准,不把本地路径冒充附件。若用户只接受 DING 内附图且接口不支持,在下发前说明并确认可行方式。 发送前核对已授权的收件人及组织;本人身份通过 `dingtalk-contact` 核实,其他人员按 `dingtalk-aisearch` 和 DING 指引解析。全程使用同一 profile,使用真实业务返回的 `openDingTalkId`,不猜 ID、不选身份不明确的同名人员,不读取、输出或保存认证凭据。下发时已授权的发送无需逐轮征求同意,按工具 Runtime 接受的方式使用该授权。若工具另需交互确认、认证或权限不可用、身份不匹配、接口故障或缺少发送授权,记录通知受阻并报告;已授权且环境可用的截图继续执行。私聊和 DING 分别保留真实回执,投递未知或失败不得说已送达,不擅自更换收件人或渠道。 ## 定时配置 用宿主的 automation 工具下发已确认的计划。提示词保存完整配置及发送授权,注明调用本 Skill,**到点直接执行,无需等待用户回复**;每轮重新计算执行日期、前一日及回溯日期,使用 ARTEMIS Flash 和单任务超时 3600 秒,采集各回溯日的 12:00 及前一日的 00:00、09:00,按已授权方式通知结果,达到终止条件后停用。提示词不包含密钥。用户授权既有计划改为到点直接执行时,更新该计划的提示词并移除旧的逐轮确认要求;保留已确认的日期、时间、设备和发送授权,必要的缺项在更新时补齐。 运行前检查 ARTEMIS 和钉钉可用性。ARTEMIS、模拟器或 App 不可用时,记录截图受阻原因,并按已授权渠道尝试发送结果;通知通道不可用时单独记录。分别报告实际开始时间、截图结果、通知状态及证据位置。若用户只要求创建或修改 Skill,则不启动测试、创建计划或发送结果通知。 严格按用户确认的日期和时间设置,统一使用北京时间(Asia/Shanghai,UTC+08:00),除非用户之后明确改用其他时区;不得擅自改变执行时间。创建或修改计划后,核对调度器实际排定的下一次触发时间,并确认计划最后一天包含在内;检查时区转换及调度器可能加入的随机偏移。不要假设规则中的小时字段一定按当地时区解释,具体行为以当前宿主的实际结果为准。优先使用宿主支持且可核验的精确触发方式;如果无法按指定时间排定或无法核实,应如实告知,不能声称已准确设置。计划触发时间与实际开始时间可能不同,若因电脑、服务或会话状态等原因延迟或未执行,应记录实际情况并报告。