Files
T

68 lines
15 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: unicom-zhijia-daily-screenshots
description: 为联通智家 App 的指定设备采集直播、语音通话、条件云台、告警片段及卡回看和云回看截图;下发长稳计划时一次确认,到点按计划执行,结果通过钉钉私聊截图并发文字 DING。也用于维护对应 ARTEMIS 提示词,不用于其他 App 的通用测试。
metadata:
version: "1.0.1"
---
# 联通智家长稳截图
固定应用:联通智家。用户提供的页面图不包含包名;执行前通过已授权的只读应用信息或 ARTEMIS 返回的真实应用信息核实包名,再作为本轮参数填入 `locked_app_package` 和任务提示词。无法可靠核实时向用户确认,不猜包名、不沿用其他 App 的包名。通过已启动的 ARTEMIS 操作用户指定的 Android 模拟器;App 中的摄像头/设备与 Android 模拟器是不同对象。使用已安装的 `artemis-use` Skill 及其单任务执行参考;调用前查看当前 MCP 工具契约。不要重装、清数据、重置设备或修改全局配置。
## 联通智家页面适配
执行前读取 [ARTEMIS 任务提示词](references/artemis-task-prompt.md)。其中的页面锚点来自用户提供的三张截图;[页面参考图](references/ui-screenshots.md)仅供辨认布局,截图里的设备、日期和状态不作为计划参数。目标设备以用户为本计划或单次任务确认的名称为准,不把示例 `中兴ZXHN K757P1E` 固定为默认设备,也不从型号或页面缺少方向盘推断云台能力。
- 直播入口是底部“直播画面”;对讲入口是“语音通话”,不能用“播放录音”代替。
- 告警录像入口是底部“告警片段”;“声光报警”是主动报警操作,不是告警列表入口,本用例不点击。
- 回看入口是底部“监控回看”,再选“卡回看”或“云回看”,以当前选中状态核对存储类型。直播页“云存储回看”卡片不作为两种回看的统一入口,也不据“使用中/未订购”等卡片状态推断录像是否可用。
- 回看播放器下方左侧的日期时间和三角是时间选择入口;展开后有完整日期行及右箭头、“上午/下午”和小时格。12:00 选“下午”,00:00、09:00 选“上午”;日期行是进一步选择目标日期的候选入口,实际弹层必须现场核实。不要硬套移动爱家的日历图标或固定坐标。
- 播放器的 `1.0` 和“视频快放”中的 `8.0` 不作为时间轴缩放证据。回看时间轴的缩放方式、主刻度、云台和通话弹层均以本轮真实界面及 ARTEMIS 能力为准;参考图没有证明这些具体操作。缩放无法完成时记录缺项,继续采集可定位的时段。
## 下发时确认,到点执行
在创建或变更计划时,一次性请用户确认本计划的起止日期、连续天数、每天的具体时间点和时区;模拟器名称及唯一 Android serial;App 内每台设备的名称及有无云台;回看规则;以及本计划内各轮的发送授权(默认方案为钉钉私聊截图给本人,再发应用内文字 DING)。通过对应 Skill 核实钉钉本人身份、组织和发送渠道;如用户指定其他受支持的收件人或方式,按其明确指示确认。历史任务配置只可供新计划参考,不能当作新计划授权。若用户已在当前请求明确给出并确认了完整配置,无需再问一遍;只补齐缺项。单次立即执行也在下发时确认范围、时间与发送授权,明确“执行 1 天、现在执行”即可。
**已确认的计划到点直接执行。** 将用户确认的配置及发送授权写入该计划,适用于其范围内的所有轮次。每次触发读取当前计划,核对计划范围、实际日期、模拟器 serial、App 包名与目标设备,按已确认配置提交 ARTEMIS 并处理结果;无需再问用户或等待回复。设备、云台、收件人或计划范围有未获授权的实质变化时,只暂停受影响的操作并报告;按用户指示确认变更后再更新计划。若原计划的必需配置缺失或目标无法可靠核实,不猜测、不替换目标,报告受阻及原因。
区分计划连续执行天数与每轮回看天数。除非用户另行指定,回看默认取实际执行日期的前一自然日;回溯 N 天时,分别采集前 N 个自然日的 12:00,00:00 和 09:00 仍只采集执行日前一日。三种时刻均须核对页面实际日期。仅在用户明确要求定时且确认完整计划后建立调度;默认使用北京时间(Asia/Shanghai,UTC+08:00)。最后一天的最后一轮结束后停用计划。
## 指定设备单次截图用例
以已确认配置中的联通智家 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. 直播、语音通话、条件云台、告警片段及卡回看和云回看按任务提示词执行。时间轴缩放方式须现场识别,不照搬移动爱家的放大镜/减号,也不把 `1.0`、`8.0` 或“视频快放”当作缩放。沿用原用例的 4 小时相邻主刻度作为约定的全天尺度目标;联通智家参考图没有证明该刻度受支持,未达到或无法核实则记“用例尺度未验证”,仍继续可定位的日期时段截图。观察到目标刻度即停止缩小,但不能据此断言控件物理下限或已显示完整 00:00–24:00;物理下限另需明确端点等证据。
短时弹层若存在,优先按当前 `artemis-use` 单任务参考及实际工具契约使用原生 `action_sequence` 的 `ensure_visible` 配合 `click`/`drag`,以本轮观察到的真实 resource_id 和实时可见性检查定位。不能把这种局部检查称作 Flash 的 Pro 执行前安全网;无真实 ID 或无可验证动作时记录限制,不猜 ID、不盲点、不以 ADB 或外部控制代替。最多在重新观察后重试一次;连续两次拦截、目标不明或动作结果不确定就保存现状并停止该项,继续其他截图。核对每轮动作前后的刻度、可见范围和实际时间;日期、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` 没有直接附图参数,以当前契约为准,不把本地路径冒充附件。
发送前核对计划授权范围内的收件人及组织;本人身份通过 `dingtalk-contact` 核实,其他人员按 `dingtalk-aisearch` 和 DING 指引解析。全程使用同一 profile,使用实际取得的 `openDingTalkId`,不猜 ID、不选不明确的同名人员,不读取、输出或保存认证凭据。计划下发时已明确授权的发送无需再征求同意,按工具 Runtime 接受的方式使用该授权。若工具明确要求新的交互确认、认证失效、身份不匹配或没有发送授权,记录通知受阻并报告;已授权且环境可用的截图继续执行。私聊和 DING 各自保留实际回执,投递未知或失败不得说已送达,不擅自换接收人或通道。若用户只接受 DING 内附图且接口不支持,在下发前说明并确认可行方式。
## 定时配置
用宿主的 automation 工具下发已确认的计划。保存完整的计划配置与发送授权,注明调用本 Skill,**到点直接执行,无需等待用户回复**;每轮重新计算执行日期、前一日及回溯日期,并使用 ARTEMIS Flash、单任务执行超时 3600 秒,采集各回溯日 12:00 和前一日 00:00、09:00,按已授权方式通知结果,达到终止条件后停用。提示词不包含密钥。若经用户确认更新已有计划,同时更新其中的执行配置与授权,移除旧的逐轮确认指令。
运行前检查 ARTEMIS 和钉钉可用性。若 ARTEMIS、模拟器或 App 不可用,记录截图受阻原因,并按已授权渠道尝试发送结果;通知通道不可用则记录通知受阻。触发不等于截图已开始,分别报告实际开始时间、截图结果、通知状态及证据位置。若用户只要求创建或修改 Skill,则不启动测试、创建计划或发送结果通知。
严格按用户确认的日期和时间设置,统一使用北京时间(Asia/Shanghai,UTC+08:00),除非用户之后明确改用其他时区;不得擅自改变执行时间。创建或修改计划后,核对调度器实际排定的下一次触发时间,并确认计划最后一天包含在内;检查时区转换及调度器可能加入的随机偏移。不要假设规则中的小时字段一定按当地时区解释,具体行为以当前宿主的实际结果为准。优先使用宿主支持且可核验的精确触发方式;如果无法按指定时间排定或无法核实,应如实告知,不能声称已准确设置。计划触发时间与实际开始时间可能不同,若因电脑、服务或会话状态等原因延迟或未执行,应记录实际情况并报告。