diff --git a/.agents/plugins/marketplace.json b/.agents/plugins/marketplace.json
index 0dc96092..b99e1d4b 100644
--- a/.agents/plugins/marketplace.json
+++ b/.agents/plugins/marketplace.json
@@ -280,6 +280,18 @@
},
"category": "Developer Tools"
},
+ {
+ "name": "mobile-aijia-daily-screenshots",
+ "source": {
+ "source": "local",
+ "path": "./plugins/codex/plugins/mobile-aijia-daily-screenshots"
+ },
+ "policy": {
+ "installation": "AVAILABLE",
+ "authentication": "ON_INSTALL"
+ },
+ "category": "Developer Tools"
+ },
{
"name": "next-skills",
"source": {
diff --git a/README.md b/README.md
index 53696e33..33672001 100644
--- a/README.md
+++ b/README.md
@@ -47,6 +47,8 @@ Codex 插件页的大标题按 marketplace 来源分组,不是按插件 `categ
`artemis-case-prep` 根据原始 Android 测试工作簿筛选可自动化用例,保留原表副本并生成七列 ARTEMIS 任务表;它只准备文档,不启动测试。导入前请检查表头与当前 ARTEMIS 版本是否匹配。
+`mobile-aijia-daily-screenshots` 使用 ARTEMIS Flash 采集移动爱家设备截图并整理结果,需要 ARTEMIS、`artemis-use`、Android 模拟器和移动爱家 App;钉钉通知需要 DWS 与对应 Skills。每轮须取得用户确认,定时触发不等于无人值守执行。
+
部分插件依赖特定运行环境。`$updating-gitea-repositories` 面向 Gitea HTTPS、GCM 和 PAT 工作流;安装前应查看插件详情并确认运行前置条件。
`etunel-role-collaboration` 保留原安装 ID,v2.0.0 起提供 `$ep-hub` 项目中心,展示名为 `ep-hub`,按八阶段管理交付、真人确认、进度、交接和成果留档,不再提供旧的全角色流程入口。Etunel 配置与通信需目标环境已安装 `etunel-use`;缺少时仍可整理记录与待决定事项,不得声称配置或通信已完成。
diff --git a/config/assets/mobile-aijia-daily-screenshots.svg b/config/assets/mobile-aijia-daily-screenshots.svg
new file mode 100644
index 00000000..ac4807ec
--- /dev/null
+++ b/config/assets/mobile-aijia-daily-screenshots.svg
@@ -0,0 +1,11 @@
+
diff --git a/config/external-sources.json b/config/external-sources.json
index 436efac8..97b96e77 100644
--- a/config/external-sources.json
+++ b/config/external-sources.json
@@ -1,5 +1,38 @@
{
"sources": [
+ {
+ "id": "mobile-aijia-daily-screenshots",
+ "repo": "https://git.playones.com/hejunxian/mobile-aijia-daily-screenshots.git",
+ "releaseChannel": "latest-stable",
+ "releaseProvider": "gitea",
+ "adapter": "claude-skill",
+ "pluginName": "mobile-aijia-daily-screenshots",
+ "category": "Developer Tools",
+ "skillPath": ".",
+ "sparseCheckout": ["SKILL.md", "agents", "references"],
+ "marketAssets": [
+ {"source": "config/assets/mobile-aijia-daily-screenshots.svg", "destination": "assets/icon.svg"}
+ ],
+ "manifestOverrides": {
+ "description": "通过 ARTEMIS 采集移动爱家设备截图并按确认方式发送结果。",
+ "author": {"name": "hejunxian", "url": "https://git.playones.com/hejunxian"},
+ "homepage": "https://git.playones.com/hejunxian/mobile-aijia-daily-screenshots",
+ "repository": "https://git.playones.com/hejunxian/mobile-aijia-daily-screenshots.git",
+ "license": "UNKNOWN",
+ "keywords": ["android", "artemis", "screenshots", "dingtalk"],
+ "interface": {
+ "displayName": "mobile-aijia-daily-screenshots",
+ "shortDescription": "采集移动爱家截图并按确认方式发送结果。",
+ "longDescription": "使用 ARTEMIS Flash 采集移动爱家设备的直播、对讲、云台、告警和回放截图并整理证据。需要可用的 ARTEMIS、artemis-use、Android 模拟器与移动爱家 App;钉钉通知需要 DWS 及对应 Skills。每次执行须取得本轮确认,定时不代表无人值守。",
+ "developerName": "hejunxian",
+ "category": "Developer Tools",
+ "capabilities": ["Interactive", "Read", "Write"],
+ "defaultPrompt": ["使用 mobile-aijia-daily-screenshots 准备一次截图任务。"],
+ "logo": "./assets/icon.svg",
+ "composerIcon": "./assets/icon.svg"
+ }
+ }
+ },
{
"id": "hallmark",
"repo": "https://github.com/Nutlope/hallmark.git",
diff --git a/config/external-sources.lock.json b/config/external-sources.lock.json
index 01b01754..e8340df5 100644
--- a/config/external-sources.lock.json
+++ b/config/external-sources.lock.json
@@ -1,5 +1,14 @@
{
"sources": [
+ {
+ "id": "mobile-aijia-daily-screenshots",
+ "pluginName": "mobile-aijia-daily-screenshots",
+ "repo": "https://git.playones.com/hejunxian/mobile-aijia-daily-screenshots.git",
+ "ref": "v1.0.0",
+ "adapter": "claude-skill",
+ "commit": "2bd2ba3398cfd1450d53f5ef4e224577340a75b1",
+ "syncedAt": "2026-11-03T08:33:05Z"
+ },
{
"id": "hallmark",
"pluginName": "hallmark",
diff --git a/plugins/codex/.agents/plugins/marketplace.json b/plugins/codex/.agents/plugins/marketplace.json
index 6cc2f17e..d55a63a8 100644
--- a/plugins/codex/.agents/plugins/marketplace.json
+++ b/plugins/codex/.agents/plugins/marketplace.json
@@ -280,6 +280,18 @@
},
"category": "Developer Tools"
},
+ {
+ "name": "mobile-aijia-daily-screenshots",
+ "source": {
+ "source": "local",
+ "path": "./plugins/mobile-aijia-daily-screenshots"
+ },
+ "policy": {
+ "installation": "AVAILABLE",
+ "authentication": "ON_INSTALL"
+ },
+ "category": "Developer Tools"
+ },
{
"name": "next-skills",
"source": {
diff --git a/plugins/codex/plugins/mobile-aijia-daily-screenshots/.codex-plugin/plugin.json b/plugins/codex/plugins/mobile-aijia-daily-screenshots/.codex-plugin/plugin.json
new file mode 100644
index 00000000..0644ec1b
--- /dev/null
+++ b/plugins/codex/plugins/mobile-aijia-daily-screenshots/.codex-plugin/plugin.json
@@ -0,0 +1,41 @@
+{
+ "name": "mobile-aijia-daily-screenshots",
+ "version": "1.0.0",
+ "description": "通过 ARTEMIS 采集移动爱家设备截图并按确认方式发送结果。",
+ "author": {
+ "name": "hejunxian",
+ "url": "https://git.playones.com/hejunxian"
+ },
+ "homepage": "https://git.playones.com/hejunxian/mobile-aijia-daily-screenshots",
+ "repository": "https://git.playones.com/hejunxian/mobile-aijia-daily-screenshots.git",
+ "license": "UNKNOWN",
+ "keywords": [
+ "android",
+ "artemis",
+ "screenshots",
+ "dingtalk"
+ ],
+ "skills": "./skills/",
+ "interface": {
+ "displayName": "mobile-aijia-daily-screenshots",
+ "shortDescription": "采集移动爱家截图并按确认方式发送结果。",
+ "longDescription": "使用 ARTEMIS Flash 采集移动爱家设备的直播、对讲、云台、告警和回放截图并整理证据。需要可用的 ARTEMIS、artemis-use、Android 模拟器与移动爱家 App;钉钉通知需要 DWS 及对应 Skills。每次执行须取得本轮确认,定时不代表无人值守。",
+ "developerName": "hejunxian",
+ "category": "Developer Tools",
+ "capabilities": [
+ "Interactive",
+ "Read",
+ "Write"
+ ],
+ "defaultPrompt": [
+ "使用 mobile-aijia-daily-screenshots 准备一次截图任务。"
+ ],
+ "websiteURL": "https://git.playones.com/hejunxian/mobile-aijia-daily-screenshots",
+ "privacyPolicyURL": "https://git.playones.com/hejunxian/mobile-aijia-daily-screenshots",
+ "termsOfServiceURL": "https://git.playones.com/hejunxian/mobile-aijia-daily-screenshots",
+ "brandColor": "#2563EB",
+ "screenshots": [],
+ "logo": "./assets/icon.svg",
+ "composerIcon": "./assets/icon.svg"
+ }
+}
diff --git a/plugins/codex/plugins/mobile-aijia-daily-screenshots/THIRD_PARTY_SOURCE.json b/plugins/codex/plugins/mobile-aijia-daily-screenshots/THIRD_PARTY_SOURCE.json
new file mode 100644
index 00000000..e7d7d93d
--- /dev/null
+++ b/plugins/codex/plugins/mobile-aijia-daily-screenshots/THIRD_PARTY_SOURCE.json
@@ -0,0 +1,9 @@
+{
+ "sourceId": "mobile-aijia-daily-screenshots",
+ "repo": "https://git.playones.com/hejunxian/mobile-aijia-daily-screenshots.git",
+ "ref": "v1.0.0",
+ "commit": "2bd2ba3398cfd1450d53f5ef4e224577340a75b1",
+ "adapter": "claude-skill",
+ "sourcePath": ".",
+ "syncedAt": "2026-11-03T08:33:05Z"
+}
diff --git a/plugins/codex/plugins/mobile-aijia-daily-screenshots/assets/icon.svg b/plugins/codex/plugins/mobile-aijia-daily-screenshots/assets/icon.svg
new file mode 100644
index 00000000..ac4807ec
--- /dev/null
+++ b/plugins/codex/plugins/mobile-aijia-daily-screenshots/assets/icon.svg
@@ -0,0 +1,11 @@
+
diff --git a/plugins/codex/plugins/mobile-aijia-daily-screenshots/skills/mobile-aijia-daily-screenshots/SKILL.md b/plugins/codex/plugins/mobile-aijia-daily-screenshots/skills/mobile-aijia-daily-screenshots/SKILL.md
new file mode 100644
index 00000000..d1a66d6d
--- /dev/null
+++ b/plugins/codex/plugins/mobile-aijia-daily-screenshots/skills/mobile-aijia-daily-screenshots/SKILL.md
@@ -0,0 +1,55 @@
+---
+name: mobile-aijia-daily-screenshots
+description: 为移动爱家 App 的指定设备采集直播、对讲、云台、告警及卡存和云存回放截图;每次执行前询问天数、每天时间、设备、云台和本人私聊截图加 DING 通知,每轮发送结果,并支持用户确认的每日计划。不用于其他 App 的通用测试。
+metadata:
+ version: "1.0.0"
+---
+
+# 行研长稳截图
+
+固定应用:移动爱家,包名 `com.cmri.universalapp`。通过已启动的 ARTEMIS 操作用户指定的 Android 模拟器;App 中的摄像头/设备与 Android 模拟器是不同对象。使用已安装的 `artemis-use` Skill 及其单任务执行参考;调用前查看当前 MCP 工具契约。不要重装、清数据、重置设备或修改全局配置。
+
+## 先确认配置
+
+每轮截图执行前,无论是单次执行还是定时触发,都必须主动询问并取得用户本轮回复,确认以下全部事项:①计划连续执行的天数、起始日期,以及每天执行的具体时间点;②待截图的 App 内设备名称及每台是否有云台(有/无);③通过钉钉私聊将截图发给本人,并发送应用内文字 DING 通知本人。可把之前的配置或计划参数列为待确认选项,但历史答复、默认值和计划配置均不能代替本轮提问及答复。单次立即执行也要询问天数和时间点;用户可明确答复执行 1 天、现在执行,不得自行假设。钉钉本人身份和组织须通过对应 Skill 核实;用户之后若明确指定其他受支持的收件人或方式,按本轮明确要求处理。钉钉身份解析、通道及外部发送遵循对应 Skill 与 Runtime 的实际要求,不读取、输出或保存认证凭据。
+
+执行前还要核对目标回看日期及模拟器 serial;多个模拟器且目标不明确时向用户确认。逐台确认云台功能,不凭型号或页面猜测。区分计划连续执行天数与每轮回看天数,不能混为一谈:除非用户另行指定,回看默认取执行日期的前一自然日;原有 12:00 回放和新增 00:00、09:00 均须核对实际页面日期。直播基准截图每台每次一张,其他截图见单次用例。
+
+创建每日计划前,将上述事项连同模拟器名称及可唯一对应的 Android serial 一起收集并让用户确认;核对计划起止日期和每天各执行时间点。用户确认回溯 N 天则为前 N 个自然日,分别采集各日原有的 12:00 截图;执行日期前一日的 00:00、09:00 另行采集,不随回溯天数重复。用户要求连续执行 N 天时,在最后一天结束后停用计划。所有时间按北京时间(Asia/Shanghai,UTC+08:00),除非用户之后明确改用其他时区。只有用户明确要求定时且确认完整计划后才创建调度,询问天数和时间本身不自动授权建立计划。
+
+每次触发后都须重新主动询问天数、每天时间点、设备、逐台云台功能及本人私聊截图加 DING 通知,并取得本轮答复;计划配置只能用于提示。若用户要求更改计划,应先核对变更和调度器实际下一次触发时间。缺少必要答复、设备无法唯一对应、云台功能未确认或无法询问时,本轮不启动截图;报告阻塞原因。若本轮已确认通知对象及方式,但 ARTEMIS、设备或 App 等不可用导致阻塞,仍在最终处理阶段按已确认的渠道尝试发送阻塞结果。每轮结束后,无论成功、部分完成、失败或阻塞,均按本轮确认的接收人和方式尝试发送结果,不得臆测或静默沿用旧接收人。
+
+## 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` 只是任务结束,不能替代截图证据。实际失败也尽量继续处理其他设备,不能将部分完成报告为全部成功。
+
+## 钉钉通知与结果
+
+每轮执行无论成功、部分完成、失败或阻塞,都必须在最终处理阶段尝试向本轮已确认的钉钉接收人发送结果通知:写明执行时间、设备、目标日期、实际状态、缺项及失败或阻塞原因;有截图时通过钉钉私聊发送给本人,再发送应用内文字 DING 说明图片发送状态和结果。保留真实业务回执,投递未知或失败不得说已送达;遇到认证、权限、Runtime 确认或接口故障时分别记录并向用户报告,不能保证实际送达。读取 `dingtalk-misc` 的 DING 指引并使用同一 profile,本人身份通过 `dingtalk-contact` 核实,其他人员按 `dingtalk-aisearch` 和 DING 指引解析,使用真实 `openDingTalkId`,不猜 ID、不选不明确的同名人员。当前 `dws ding message send-personal` 只提供文字内容,没有直接附图参数;每次按实际当前契约确认能力,不伪称 DING 包含图片。尚未取得本轮接收人答复时不能发送,应向用户报告该轮因接收人未确认而阻塞。
+
+用 `dingtalk-chat` 的图片发送指引把真实截图发给本轮已确认的接收人,再发 DING 标明图片发送状态;按实际回执或任务状态确认,禁止用本地文件路径冒充可访问附件。截图部分成功时可发送已取得的截图并在 DING 列明缺项及原因;没有截图时发送文字结果及原因。聊天或 DING 任一失败均分别记录并报告,不能静默切换接收人或通道。若用户只接受 DING 内附图且现有接口不支持,在执行或创建自动化前说明能力限制并等待明确选择;若执行中才发现限制,仍尝试发送说明失败原因的文字 DING。外部发送遵循当前工具 Runtime 的确认要求;若定时运行遇到无法无人值守通过的确认或认证,记录阻塞并向用户报告,不能声称通知已完成。
+
+## 定时配置
+
+只有用户明确要求定时且已确认以上参数、发送方式及计划范围后,使用宿主的 automation 工具创建每日任务,采用确认的时区和时间;提示词包含使用 Flash 和单任务执行超时 3600 秒、拟定天数与每天时间点、设备配置及逐台云台功能、调用本 Skill、每轮触发后截图前重新询问并取得全部本轮配置及本人私聊截图加 DING 的答复、每次重新计算执行日期、前一日及回溯日期、原有 12:00 及前一日 00:00/09:00 截图、每轮无论结果均按确认接收人发送通知和终止条件,不包含密钥。计划触发不等于已开始截图:必需配置未答复或无法询问时该轮阻塞,不使用历史配置代替;在创建计划前向用户说明每轮需要人工答复,不能承诺无人值守自动截图和发送。Skill 本身不是调度器。若用户只要求创建或修改 Skill,则不启动测试、创建计划或发送截图结果通知。运行前检查 ARTEMIS 和钉钉可用性;不能保证电脑关机、服务离线、认证失效或调度器不可用时仍能执行或发出通知。最终分别报告截图和通知的实际结果及可恢复的证据位置。
+
+严格按用户确认的日期和时间设置,统一使用北京时间(Asia/Shanghai,UTC+08:00),除非用户之后明确改用其他时区;不得擅自改变执行时间。创建或修改计划后,核对调度器实际排定的下一次触发时间,并确认计划最后一天包含在内;检查时区转换及调度器可能加入的随机偏移。不要假设规则中的小时字段一定按当地时区解释,具体行为以当前宿主的实际结果为准。优先使用宿主支持且可核验的精确触发方式;如果无法按指定时间排定或无法核实,应如实告知,不能声称已准确设置。计划触发时间与实际开始时间可能不同,若因电脑、服务或会话状态等原因延迟或未执行,应记录实际情况并报告。
diff --git a/plugins/codex/plugins/mobile-aijia-daily-screenshots/skills/mobile-aijia-daily-screenshots/agents/openai.yaml b/plugins/codex/plugins/mobile-aijia-daily-screenshots/skills/mobile-aijia-daily-screenshots/agents/openai.yaml
new file mode 100644
index 00000000..188ecf82
--- /dev/null
+++ b/plugins/codex/plugins/mobile-aijia-daily-screenshots/skills/mobile-aijia-daily-screenshots/agents/openai.yaml
@@ -0,0 +1,3 @@
+interface:
+ display_name: "行研长稳截图"
+ short_description: "采集移动爱家直播、对讲、云台、告警及卡存云存截图并通知"
diff --git a/plugins/codex/plugins/mobile-aijia-daily-screenshots/skills/mobile-aijia-daily-screenshots/references/artemis-task-prompt.md b/plugins/codex/plugins/mobile-aijia-daily-screenshots/skills/mobile-aijia-daily-screenshots/references/artemis-task-prompt.md
new file mode 100644
index 00000000..4131055a
--- /dev/null
+++ b/plugins/codex/plugins/mobile-aijia-daily-screenshots/skills/mobile-aijia-daily-screenshots/references/artemis-task-prompt.md
@@ -0,0 +1,20 @@
+# ARTEMIS 单次截图任务提示词
+
+提交前按主 Skill 的要求主动询问并取得本轮全部配置确认,包含执行天数、每天的时间点、逐台设备名称和云台功能及本人私聊截图加 DING 通知;历史固定配置只能作为提示。然后替换方括号中的占位项:App 内设备及用户本轮逐台确认的云台功能(有/无)、模拟器 serial、执行时区、执行具体日期及其前一自然日的具体日期、原有 12:00 回放的具体回溯日期。多设备或多日期任务应列明全部目标;缺少本轮必要确认时不提交该设备任务。提交时使用 Flash 和单任务 `runtime_overrides.timeout_seconds=3600`。当前 Flash 不提供执行前安全网或 Pro notes,不得假称具备;需要受保护操作的项目若当前模式无法提供所需保护,记录缺项并继续其他可执行项目。不要把历史坐标或历史界面状态当作当次事实。下面的文本完整传给 ARTEMIS,按用户当次明确要求调整,不把占位符原样提交。
+
+```text
+在 Android 模拟器 [serial] 的移动爱家(com.cmri.universalapp)执行一轮截图用例。目标 App 内设备及用户确认的云台功能:[逐台列明设备名及有/无];执行时区:[时区];执行日期:[执行日期 YYYY-MM-DD];夜视截图日期(执行日期的前一自然日):[前一日 YYYY-MM-DD];原有回溯截图目标:[具体日期列表],各日期 12:00;新增夜视时段目标:上述前一日的 00:00 和 09:00,两种回看都要采集。仅操作指定设备,不重装、清数据、重置或更改全局配置。逐台执行以下用例,不凭设备型号推断云台能力。
+
+1. 按当前界面确认设备身份,进入直播,画面加载后保存一张直播基准截图。
+2. 点击对讲,依据当前页面确认实际连接/对讲状态并截图;再次点击当前实际显示的对讲/挂断控件,确认已挂断并截图。若出现权限、连接失败等提示,保存提示并记录;不把点击回执或截图当成双向音频正常的证明。尝试确认未处于通话中(未建立连接或已挂断);连接未建立或无法确认是否仍在通话中时保存现状,记录缺项与实际状态,然后继续后续可执行用例,不把未知状态说成已挂断。
+3. 仅对用户确认“有”云台的设备执行云台用例:返回/保持直播,先另存一张操作云台前的截图;按当前界面识别向左控件,向左转动 1 秒后松开并截图;再识别向右控件,向右转动 1 秒后松开并截图。使用 ARTEMIS 当前实际支持且保留安全校验的动作,记录实际方向、持续时间、松开/停止及画面变化。无法可靠执行 1 秒或核实实际时长时记录未验证,不用若干次点按冒充 1 秒,不擅自延长时长;方向按钮消失或动作中断时尝试确认已松开/停止,不能确认则保存现状并记录,停止该项方向操作,不重复方向动作,继续后续可执行用例。左右各 1 秒不代表已精确复位。用户确认“无”云台时标注不适用,不尝试云台操作。
+4. 点击告警,查看当前目标设备的告警列表,选择一条可播放的告警(优先最近一条),确认开始播放后截图;记录选中告警的设备、时间及可见消息信息。列表包含多台设备时先核对归属,不能用其他设备的告警代替。无消息、没有可播放录像或播放失败时,保存列表空态/提示并记录缺项,继续其他截图;需要时保存列表与播放页的关联补充证据。
+5. 分别进入卡回看和云回看,依据当前界面确认存储类型;入口不可见或类型不明确时保存现状并说明,不把设置页的“立即开通”单独当成云回看必然不可用的证明,也不购买或开通服务。对每种回看执行第 6–9 项,先完成全部原有回溯日期的 12:00,再采集该存储类型在上述前一日的 00:00、09:00。
+6. 对每种回看及每个目标日期,观察时间轴刻度和可见范围。相邻主刻度为 4 小时时,按本用例的全天尺度要求保留截图并停止缩小;这是用例的验收尺度,不能仅凭此断言控件的物理下限。若用户要求验证物理下限,另需白点到减号侧轨道端点或其他明确下限证据。
+7. 未到用例尺度时,使用 ARTEMIS 当前实际提供、并能在执行前确认页面与目标且保留安全校验的短时控件动作;按当前画面定位放大镜和减号,动作结束立即观察刻度、可见范围及可见的滑块位置。控件可能很快消失,避免在展开与点击之间安排额外的模型规划或无关操作;仅在工具自身能验证目标仍存在时快速点击。若没有满足上述条件的受保护动作,记录缺项并继续其他可执行项目;不要声称 Flash 有执行前安全网,不要关闭或绕过实际存在的安全校验,不用 ADB shell 或未受校验的快速连续动作代替,不捏合、不盲点或复用过期坐标。没有可用受保护动作时不要宣称已有该能力。
+8. 安全网报告点击前目标消失时,该次点击视为未执行;重新观察并展开,最多再尝试一次。面板收起本身不证明点击是否执行,应结合回执及前后画面判断。连续拦截、目标不明、页面改变或动作回执不确定时停止缩放,保存现状并标注未验证,继续可执行的其他项目。缩放成功以操作前后刻度或可见范围的实际变化为依据,不以点击回执代替;每轮先确认页面和目标。已达本用例尺度或明确下限时停止,不重复点击。
+9. 原有截图:依次选择各回溯目标日期的 12:00,确认实际日期、时间、存储类型,保存截图。保留这些截图后执行新增夜视时段截图:点击日历图标,按当前实际日期/时间选择界面选择上述前一日的 00:00,加载后截图;再次点击日历图标,选择同一前一日的 09:00,加载后截图。两种回看均执行日历选择前一日 00:00→截图→日历选择同日 09:00→截图的顺序;若日期和时间分步选择,逐步核对最终日期与时刻。默认回溯 1 天时,原有 12:00 和新增 00:00、09:00 均为同一个前一日。日历不可用、页面日期不符或目标无法确认时保存现状并记录差异,不能把其他日期或时刻当成目标。每次切换后重新核对存储类型、日期、指针时间和缩放,必要时按第 6–8 项处理。无录像、无法选中或加载失败时保存提示与现状,不改用其他日期或时刻凑数,不推断全天录像情况。夜视表现以实际画面或明确状态为依据,不因选择了 00:00/09:00 就宣称夜视切换成功。截图中无法同时显示设备、类型、日期、指针和缩放信息时保存关联补充截图。
+10. 某项受阻、失败、无数据或无法验证时,保存现状和提示并记录原因,结束该项后继续后续可执行用例及其他设备,不因单项受阻中止整台设备或整轮任务。若设备离线、App不可达或服务不可用导致后续实际无法操作,逐项记录未执行及原因,不伪称完成,不绕过安全校验。每项报告设备、用例、目标及实际状态、截图真实路径、缺项和阻断原因。对讲列明连接/挂断是否有证据;云台列明用户确认的能力、操作前/左 1 秒后/右 1 秒后三项截图、实际方向和时长及停止是否可核实;告警列明选中设备/消息时间和播放状态;回看列明存储类型、目标及实际日期时间、刻度与可见范围、缩放动作是否执行、用例尺度及物理下限分别是否有证据。以回溯 D 天计,每设备预期为直播 1 + 对讲 2 + 告警 1 + 原有回溯 2D + 前一日夜视时段 4 张;有云台另加 3 张,补充证据另计。无云台为不适用,其他无法执行或验证的项目分别记录,不用失败现状图冒充目标已完成。不要以任务 completed 或文件保存成功代替业务操作验证,也不自行判断长稳整体通过。
+```
+
+当前已知版本的 Pro 多动作快速执行及 Flash `click_sequence` 不应被假定为带逐目标安全校验的复合动作;只有实际工具契约与执行回执明确支持时才使用符合第 7 条的动作。若短时面板使普通动作连续受阻,提示词优化本身不能保证成功,应报告需要改进 ARTEMIS 的受保护复合动作。云台 1 秒动作同样需要核对实际工具能力和执行证据,不能仅因工具返回成功就声称时长准确。