{"id":"c8b5c553-3263-443f-bf9f-d1a7b77dd154","entityType":"agent","slug":"clawhub-smyx-sunjinhui-smyx-thermal-fever-screening-analysis","name":"Thermal Relative Fever Screening (Multi-Person Gathering) | 家庭多人聚集时体温相对异常检测","canonicalUrl":"https://www.xpersona.co/agent/clawhub-smyx-sunjinhui-smyx-thermal-fever-screening-analysis","canonicalPath":"/agent/clawhub-smyx-sunjinhui-smyx-thermal-fever-screening-analysis","generatedAt":"2026-10-10T13:38:19.451Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T11:36:24.722Z","emptyReason":null},"description":"Using a fixed thermal-imaging camera installed in public areas (e.g., living room, dining room), the system automatically analyzes each person's skin-surface temperature (usually forehead or facial region) when multiple people gather, and computes the difference between an individual's temperature and the average temperature of others in the scene. | 通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。 Skill: Thermal Relative Fever Screening (Multi-Person Gathering) | 家庭多人聚集时体温相对异常检测 Owner: smyx-sunjinhui Summary: Using a fixed thermal-imaging camera installed in public areas (e.g., living room, dining room), the system automatically analyzes each person's skin-surface temperature (usually forehead or facial region) when multiple people gather, and computes the difference between an individual's temperature and the","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.5K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s17cfv2h26b7hq5w47tgfy23xx83z9x6:smyx-thermal-fever-screening-analysis","sourceUrl":"https://clawhub.ai/smyx-sunjinhui/smyx-thermal-fever-screening-analysis","homepage":"https://clawhub.ai/smyx-sunjinhui/skills/smyx-thermal-fever-screening-analysis","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/smyx-sunjinhui/smyx-thermal-fever-screening-analysis","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/smyx-sunjinhui/skills/smyx-thermal-fever-screening-analysis","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":63,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Using a fixed thermal-imaging camera installed in public areas (e.g., living room, dining room), the system automatically analyzes each person's skin-surface te"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T11:36:24.722Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T11:36:24.722Z","emptyReason":null},"stars":null,"forks":null,"downloads":1460,"packageName":null,"latestVersion":"1.0.8","tractionLabel":"1.5K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T11:36:24.722Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T11:36:24.722Z","lastCrawledAt":"2026-10-10T11:36:24.722Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T11:36:24.722Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.8","createdAt":"2026-10-01T21:34:36.765Z","changelog":"- Updated version to 1.0.17 in SKILL.md. - SKILL.md content revised, including minor documentation improvements and version bump. - Removed deprecated skill-card.md file. - skills/smyx_common/scripts/config.yaml and other configuration/documentation files updated for consistency.","fileCount":31,"zipByteSize":41192},{"version":"1.0.7","createdAt":"2026-09-07T10:18:29.771Z","changelog":"- Updated version to 1.0.13 in SKILL.md. - SKILL.md content was revised; no changes to functionality or workflow were noted. - Removed redundant or outdated skill-card.md file.","fileCount":31,"zipByteSize":41505},{"version":"1.0.6","createdAt":"2026-08-27T03:30:44.435Z","changelog":"- Updated version to 1.0.11. - SKILL.md updated: version bump and possible documentation/content improvements. - skills/smyx_common/scripts/config.yaml modified (details not provided). - Removed redundant file: skill-card.md.","fileCount":31,"zipByteSize":41481},{"version":"1.0.5","createdAt":"2026-08-03T03:19:28.808Z","changelog":"- Updated version to 1.0.8 in SKILL.md. - Removed the redundant skill-card.md file. - No functional changes to skill logic or documentation content.","fileCount":31,"zipByteSize":41408},{"version":"1.0.4","createdAt":"2026-07-29T01:13:32.515Z","changelog":"- Updated SKILL.md with new version number (1.0.7) and description details. - Removed the file skill-card.md. - No functional or feature changes to the skill itself; documentation and metadata updates only.","fileCount":31,"zipByteSize":41474},{"version":"1.0.3","createdAt":"2026-07-16T23:52:28.785Z","changelog":"- Updated version to 1.0.5 and refreshed documentation in SKILL.md, including minor clarifications and formatting. - Removed the redundant skill-card.md file to streamline the project structure. - Made small adjustments in util.py and documentation to improve clarity and consistency.","fileCount":31,"zipByteSize":41451},{"version":"1.0.2","createdAt":"2026-07-08T08:13:43.138Z","changelog":"- Updated version number to 1.0.4. - Minor documentation changes in SKILL.md; no feature or usage changes. - Removed the file skill-card.md.","fileCount":31,"zipByteSize":41266},{"version":"1.0.1","createdAt":"2026-06-30T17:58:26.920Z","changelog":"- Improved user privacy: All identity (open-id) handling is now fully automatic and internal, never shown or prompted to users. - Simplified workflow: The process no longer requires manual identity configuration or prompts; analysis and historical report queries are seamless for all users. - Documentation and usage guide updated for greater clarity and brevity, with concise steps and a new focused examples section. - Legacy/unused files removed and several internal script/config files reorganized for maintainability. - Markdown formatting for historical report output clarified. - Skill description, version, and license fields updated.","fileCount":31,"zipByteSize":41077}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17cfv2h26b7hq5w47tgfy23xx83z9x6:smyx-thermal-fever-screening-analysis","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-thermal-fever-screening-analysis/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-thermal-fever-screening-analysis/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-thermal-fever-screening-analysis/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-thermal-fever-screening-analysis/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-thermal-fever-screening-analysis/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-thermal-fever-screening-analysis/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T13:38:19.447Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-thermal-fever-screening-analysis/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-thermal-fever-screening-analysis/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-thermal-fever-screening-analysis/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-thermal-fever-screening-analysis/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-10T11:36:24.722Z","emptyReason":null},"readme":"Skill: Thermal Relative Fever Screening (Multi-Person Gathering) | 家庭多人聚集时体温相对异常检测\n\nOwner: smyx-sunjinhui\n\nSummary: Using a fixed thermal-imaging camera installed in public areas (e.g., living room, dining room), the system automatically analyzes each person's skin-surface temperature (usually forehead or facial region) when multiple people gather, and computes the difference between an individual's temperature and the average temperature of others in the scene. | 通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。\n\nTags: latest:1.0.8\n\nVersion history:\n\nv1.0.8 | 2026-10-01T21:34:36.765Z | auto\n\n- Updated version to 1.0.17 in SKILL.md.\n- SKILL.md content revised, including minor documentation improvements and version bump.\n- Removed deprecated skill-card.md file.\n- skills/smyx_common/scripts/config.yaml and other configuration/documentation files updated for consistency.\n\nv1.0.7 | 2026-09-07T10:18:29.771Z | auto\n\n- Updated version to 1.0.13 in SKILL.md.\n- SKILL.md content was revised; no changes to functionality or workflow were noted.\n- Removed redundant or outdated skill-card.md file.\n\nv1.0.6 | 2026-08-27T03:30:44.435Z | auto\n\n- Updated version to 1.0.11.\n- SKILL.md updated: version bump and possible documentation/content improvements.\n- skills/smyx_common/scripts/config.yaml modified (details not provided).\n- Removed redundant file: skill-card.md.\n\nv1.0.5 | 2026-08-03T03:19:28.808Z | auto\n\n- Updated version to 1.0.8 in SKILL.md.\n- Removed the redundant skill-card.md file.\n- No functional changes to skill logic or documentation content.\n\nv1.0.4 | 2026-07-29T01:13:32.515Z | auto\n\n- Updated SKILL.md with new version number (1.0.7) and description details.\n- Removed the file skill-card.md.\n- No functional or feature changes to the skill itself; documentation and metadata updates only.\n\nv1.0.3 | 2026-07-16T23:52:28.785Z | auto\n\n- Updated version to 1.0.5 and refreshed documentation in SKILL.md, including minor clarifications and formatting.\n- Removed the redundant skill-card.md file to streamline the project structure.\n- Made small adjustments in util.py and documentation to improve clarity and consistency.\n\nv1.0.2 | 2026-07-08T08:13:43.138Z | auto\n\n- Updated version number to 1.0.4.\n- Minor documentation changes in SKILL.md; no feature or usage changes.\n- Removed the file skill-card.md.\n\nv1.0.1 | 2026-06-30T17:58:26.920Z | auto\n\n- Improved user privacy: All identity (open-id) handling is now fully automatic and internal, never shown or prompted to users.\n- Simplified workflow: The process no longer requires manual identity configuration or prompts; analysis and historical report queries are seamless for all users.\n- Documentation and usage guide updated for greater clarity and brevity, with concise steps and a new focused examples section.\n- Legacy/unused files removed and several internal script/config files reorganized for maintainability.\n- Markdown formatting for historical report output clarified.\n- Skill description, version, and license fields updated.\n\nv1.0.0 | 2026-05-26T06:08:04.702Z | auto\n\nsmyx-thermal-fever-screening-analysis v1.0.0\n\n- Initial release of a thermal-imaging based group fever screening skill.\n- Supports real-time detection of abnormal relative skin temperatures in multi-person gatherings using thermal cameras.\n- Triggers alerts when an individual's temperature exceeds the group average by a preset threshold; suggests thermometer recheck.\n- Integrates open-id workflow to manage report history and privacy; only supports infrared/thermal camera videos.\n- Suitable for family gatherings, meetings, kindergartens, and nursing homes for early fever screening and health monitoring.\n- Provides multi-language support (English/Chinese) and detailed step-by-step operation guidance.\n\nArchive index:\n\nArchive v1.0.8: 31 files, 41192 bytes\n\nFiles: references/api_doc.md (3119b), scripts/__init__.py (51b), scripts/config.py (697b), scripts/config.yaml (3b), scripts/skill.py (594b), scripts/smyx_thermal_fever_screening_analysis.py (3687b), skill-card.md (2181b), SKILL.md (13031b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (156b)\n\nFile v1.0.8:SKILL.md\n\n---\nname: \"smyx-thermal-fever-screening-analysis\"\ndescription: \"Using a fixed thermal-imaging camera installed in public areas (e.g., living room, dining room), the system automatically analyzes each person's skin-surface temperature (usually forehead or facial region) when multiple people gather, and computes the difference between an individual's temperature and the average temperature of others in the scene. | 通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。\"\nversion: \"1.0.17\"\nlicense: \"MIT-0\"\n---\n\n# 🌡️ Thermal Relative Fever Screening (Multi-Person Gathering) | 家庭多人聚集时体温相对异常检测\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **家庭多人聚集时体温相对异常检测** |\n| 🎯 核心目标 | 通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_THERMAL_FEVER_SCREENING_ANALYSIS` |\n\nUsing a fixed thermal-imaging camera installed in public areas (e.g., living room, dining room), the system automatically analyzes each person's skin-surface temperature (usually forehead or facial region) when multiple people gather, and computes the difference between an individual's temperature and the average temperature of others in the scene. When someone's temperature is significantly higher than the surrounding group (delta exceeds a preset threshold, e.g., 1.5 °C), it outputs a 'relative temperature anomaly' alert and recommends rechecking with a calibrated forehead thermometer. The skill is suitable for family gatherings, small meetings, etc., and aids early screening of people with fever. Application scenarios: family living rooms, meeting rooms, kindergarten activity rooms, nursing-home activity areas. The system monitors in real time; when someone's temperature is clearly higher than others, it pushes a mobile-app alert to remind attention to health. Skill features: during flu season or epidemics, if a household member has a fever during gatherings, quick screening enables timely precautions. Relative-temperature detection reduces reliance on absolute-temperature calibration, allowing ordinary families to use a thermal-imaging camera for health monitoring. Can be integrated into smart-home security systems to strengthen family health protection.\n\n通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。该技能适用于家庭聚会、小型会议等场景，辅助早期筛查发热人员。应用场景：家庭客厅、会议室、幼儿园活动室、养老院活动区。系统实时监测，当检测到某人体温明显高于他人时，通过手机APP推送提醒，提示注意健康状态。技能特点：在流感季节或疫情期间，家庭聚会中若有成员发热，可快速筛查并采取防护措施。通过相对温度检测，可降低对绝对温度校准的要求，使普通家庭也能使用热成像摄像头进行健康监测。该技能可集成到智能家居安防系统中，提升家庭健康防护能力。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的群体体温筛查 AI。你的任务是分析固定热成像摄像头拍摄的多人聚集视频，检测每个个体的体表温度（头部区域），计算个体温度与同期场景内所有个体平均温度的差值。当差值超过预设阈值时，输出相对温度异常提醒。不要提供医疗诊断或具体疾病判定，仅输出基于热成像的相对温度差异与方向性提醒。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n基于热成像摄像头多人聚集视频，自动检测每个人额头体表温度 → 计算个体相对群体均值的差值 → 输出相对体温异常提醒并建议额温枪复测\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 多人体检测与身份编号 |\n| 2 | 头部/额头 ROI 定位 |\n| 3 | 热成像像素 → 温度（°C）换算 |\n| 4 | 群体均值/标准差统计 |\n| 5 | 个体 - 群体差值计算 |\n| 6 | 相对异常判定（默认 \\| Δ \\| > 1.5 °C） |\n| 7 | 有效样本数校验 |\n| 8 | 持续时间过滤（≥ 3 秒） |\n| 9 | APP 推送文本生成 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供热成像摄像头多人聚集视频 URL 或文件需要分析时，默认触发本技能进行体温相对异常筛查 |\n| 🔎 明确分析意图 | 当用户明确提及发热筛查、体温相对异常、热成像、群体测温、家庭聚会健康、流感季节、疫情防控、幼儿园/养老院测温等关键词，并且上传了热成像视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看体温筛查历史报告、发热相对异常报告清单、群体测温报告清单、查询历史筛查记录、显示所有体温筛查报告、显示家庭聚会健康报告，查询体温异常预警清单 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_thermal_fever_screening_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_thermal_fever_screening_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备热成像摄像头多人聚集视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行多人聚集体温相对异常检测 | 调用 `-m scripts.smyx_thermal_fever_screening_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地热成像摄像头多人聚集视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络热成像摄像头多人聚集视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 类别标识，群体体温筛查场景默认 `other` | 按需填写 |\n| `--list` | 显示家庭多人聚集体温相对异常历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_thermal_fever_screening_analysis.py`](scripts/smyx_thermal_fever_screening_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 输入要求：支持 mp4/avi/mov 视频，最大 10MB；**关键**：必须是热成像（红外测温）摄像头视频，普通可见光视频无法识别温度 |\n| 🔎 使用提醒 | **本工具仅基于\"群体相对差异\"判定，不依赖绝对温度校准**；任何相对异常都建议使用经过校准的医用额温枪/电子体温计复测 |\n| 🔎 使用提醒 | 戴帽子/口罩、刚运动/喝热饮/晒太阳、紧邻空调或取暖器等情况会显著影响额头体表温度，可能造成误报 |\n| 🔏 隐私合规 | 隐私合规：热成像家庭视频涉及个人健康隐私，使用前需取得家庭成员/参与者知情同意，妥善加密保管 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地热成像多人聚集视频\npython -m scripts.smyx_thermal_fever_screening_analysis --input /path/to/thermal.mp4\n\n# 分析网络热成像多人聚集视频\npython -m scripts.smyx_thermal_fever_screening_analysis --url https://example.com/thermal.mp4\n\n# 显示历史体温相对异常报告（自动触发关键词：查看体温筛查历史报告、发热相对异常报告清单等）\npython -m scripts.smyx_thermal_fever_screening_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_thermal_fever_screening_analysis --input thermal.mp4 --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_thermal_fever_screening_analysis --input thermal.mp4 --output result.json\n```\n\nFile v1.0.8:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-thermal-fever-screening-analysis\",\n  \"version\": \"1.0.8\",\n  \"publishedAt\": 1790890476765\n}\n\nFile v1.0.8:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放家庭多人聚集时体温相对异常检测 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动多人聚集体温相对异常检测任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取相对体温分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史筛查记录\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_THERMAL_FEVER_SCREENING_ANALYSIS` - 家庭多人聚集时体温相对异常检测\n\n## 输入约束\n\n- 摄像头：**必须为热成像（红外测温）摄像头**，普通可见光摄像头无法支持\n- 安装位置：家庭客厅、餐厅、会议室、活动室等公共区域，可同时覆盖 ≥ 2 人\n- 帧率：≥ 5 FPS；分辨率：≥ 256×192（建议 384×288 或更高）\n- 测温距离：1-3 m 之间为佳；测温目标头部需充分露出（避免帽子/口罩遮挡额头）\n- 环境温度建议恒定，避免短时空调直吹、紧邻热源（炉灶/取暖器）\n\n## 关键观测特征\n\n- `persons_detected` - 当前场景检测到的人数\n- `face_visible_count` - 头部/额头清晰可见的人数（参与温度比较的有效样本数）\n- `per_person_temperature` - 每个人的额头体表温度（°C，已校正）\n- `group_avg_temperature` - 群体平均体表温度（°C）\n- `group_temperature_std` - 群体体表温度标准差（°C）\n- `temperature_delta_per_person` - 每个人相对群体均值的差值（°C）\n\n## 默认阈值（可由调用方覆盖）\n\n- 相对异常阈值：`|temperature_delta| > 1.5 °C`（默认）\n- 最小有效样本数：≥ 2 人（少于 2 人时不输出相对异常）\n- 持续时间：相对异常持续 ≥ 3 秒触发提醒（防止偶发误报）\n\n## 异常类型\n\n- `relatively_hotter` - 个体体表温度显著高于群体均值（疑似发热）\n- `relatively_colder` - 个体体表温度显著低于群体均值（多为环境因素，仅参考）\n- `insufficient_sample` - 有效样本数不足，不进行相对比较\n\n## 输出字段（参考）\n\n- `persons_detected` / `face_visible_count` / `sample_sufficient`\n- `group_metrics` - 群体统计（group_avg_temperature / group_temperature_std）\n- `per_person_results` - 每个人的结果列表（含 person_id / forehead_temp_c / delta_c / is_relative_anomaly / anomaly_type）\n- `anomaly_count` - 本次异常人数\n- `alert_message` - 推送文本（如\"客厅检测到 4 人，其中 1 人额头体表温度比群体均值高 1.8°C，建议使用额温枪复测体温\"）\n- `recommend_action` - 建议动作（recheck_with_thermometer / push_app_notice / observe_only）\n\n> 仅输出基于热成像的相对温度差异与方向性提醒，不提供发热、流感、COVID 等具体医学诊断；正式体温判定请使用经过校准的医用红外/水银/电子额温枪/口腔体温计复测，并由专业医生评估。\n\nFile v1.0.8:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.8:scripts/config.yaml\n\n{}\n\nFile v1.0.8:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.8:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.8:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.8:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.8:skill-card.md\n\n## Description:\n\nAnalyzes thermal video of groups to flag people whose skin-surface temperature differs from the group average and recommends thermometer rechecks.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nHouseholds and staff overseeing small gatherings use thermal camera footage to identify relative skin-temperature anomalies and review historical screening reports. Alerts prompt a calibrated thermometer recheck rather than a medical diagnosis.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Sensitive thermal/video inputs and report history are sent to a cloud service.\n\nMitigation: Obtain participants' consent and confirm the provider's retention and deletion practices before use.\n\nRisk: The skill can silently create or reuse an account and store persistent tokens locally.\n\nMitigation: Review the need for automatic identity creation and local token storage before installation.\n\nRisk: Relative skin-temperature readings may mislead when affected by clothing, activity, or ambient heat.\n\nMitigation: Treat alerts as screening only; recheck with a calibrated thermometer and seek clinical assessment where appropriate.\n\n## Reference(s):\n\n- [ClawHub skill release](https://clawhub.ai/smyx-sunjinhui/skills/smyx-thermal-fever-screening-analysis)\n- [Screening API documentation](references/api_doc.md)\n- [Skill demonstration](https://lifeemergence.com/sample.html)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Guidance]\n\n**Output Format:** [Structured screening results and Markdown report listings]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Includes relative temperature alerts, recheck advice, and report links when available.]\n\n## Skill Version(s):\n\n1.0.8 (source: ClawHub release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.8:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.8:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.7: 31 files, 41505 bytes\n\nFiles: references/api_doc.md (3119b), scripts/__init__.py (51b), scripts/config.py (697b), scripts/config.yaml (3b), scripts/skill.py (594b), scripts/smyx_thermal_fever_screening_analysis.py (3687b), skill-card.md (2816b), SKILL.md (13031b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (472b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (156b)\n\nFile v1.0.7:SKILL.md\n\n---\nname: \"smyx-thermal-fever-screening-analysis\"\ndescription: \"Using a fixed thermal-imaging camera installed in public areas (e.g., living room, dining room), the system automatically analyzes each person's skin-surface temperature (usually forehead or facial region) when multiple people gather, and computes the difference between an individual's temperature and the average temperature of others in the scene. | 通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。\"\nversion: \"1.0.13\"\nlicense: \"MIT-0\"\n---\n\n# 🌡️ Thermal Relative Fever Screening (Multi-Person Gathering) | 家庭多人聚集时体温相对异常检测\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **家庭多人聚集时体温相对异常检测** |\n| 🎯 核心目标 | 通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_THERMAL_FEVER_SCREENING_ANALYSIS` |\n\nUsing a fixed thermal-imaging camera installed in public areas (e.g., living room, dining room), the system automatically analyzes each person's skin-surface temperature (usually forehead or facial region) when multiple people gather, and computes the difference between an individual's temperature and the average temperature of others in the scene. When someone's temperature is significantly higher than the surrounding group (delta exceeds a preset threshold, e.g., 1.5 °C), it outputs a 'relative temperature anomaly' alert and recommends rechecking with a calibrated forehead thermometer. The skill is suitable for family gatherings, small meetings, etc., and aids early screening of people with fever. Application scenarios: family living rooms, meeting rooms, kindergarten activity rooms, nursing-home activity areas. The system monitors in real time; when someone's temperature is clearly higher than others, it pushes a mobile-app alert to remind attention to health. Skill features: during flu season or epidemics, if a household member has a fever during gatherings, quick screening enables timely precautions. Relative-temperature detection reduces reliance on absolute-temperature calibration, allowing ordinary families to use a thermal-imaging camera for health monitoring. Can be integrated into smart-home security systems to strengthen family health protection.\n\n通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。该技能适用于家庭聚会、小型会议等场景，辅助早期筛查发热人员。应用场景：家庭客厅、会议室、幼儿园活动室、养老院活动区。系统实时监测，当检测到某人体温明显高于他人时，通过手机APP推送提醒，提示注意健康状态。技能特点：在流感季节或疫情期间，家庭聚会中若有成员发热，可快速筛查并采取防护措施。通过相对温度检测，可降低对绝对温度校准的要求，使普通家庭也能使用热成像摄像头进行健康监测。该技能可集成到智能家居安防系统中，提升家庭健康防护能力。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的群体体温筛查 AI。你的任务是分析固定热成像摄像头拍摄的多人聚集视频，检测每个个体的体表温度（头部区域），计算个体温度与同期场景内所有个体平均温度的差值。当差值超过预设阈值时，输出相对温度异常提醒。不要提供医疗诊断或具体疾病判定，仅输出基于热成像的相对温度差异与方向性提醒。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n基于热成像摄像头多人聚集视频，自动检测每个人额头体表温度 → 计算个体相对群体均值的差值 → 输出相对体温异常提醒并建议额温枪复测\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 多人体检测与身份编号 |\n| 2 | 头部/额头 ROI 定位 |\n| 3 | 热成像像素 → 温度（°C）换算 |\n| 4 | 群体均值/标准差统计 |\n| 5 | 个体 - 群体差值计算 |\n| 6 | 相对异常判定（默认 \\| Δ \\| > 1.5 °C） |\n| 7 | 有效样本数校验 |\n| 8 | 持续时间过滤（≥ 3 秒） |\n| 9 | APP 推送文本生成 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供热成像摄像头多人聚集视频 URL 或文件需要分析时，默认触发本技能进行体温相对异常筛查 |\n| 🔎 明确分析意图 | 当用户明确提及发热筛查、体温相对异常、热成像、群体测温、家庭聚会健康、流感季节、疫情防控、幼儿园/养老院测温等关键词，并且上传了热成像视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看体温筛查历史报告、发热相对异常报告清单、群体测温报告清单、查询历史筛查记录、显示所有体温筛查报告、显示家庭聚会健康报告，查询体温异常预警清单 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_thermal_fever_screening_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_thermal_fever_screening_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备热成像摄像头多人聚集视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行多人聚集体温相对异常检测 | 调用 `-m scripts.smyx_thermal_fever_screening_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地热成像摄像头多人聚集视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络热成像摄像头多人聚集视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 类别标识，群体体温筛查场景默认 `other` | 按需填写 |\n| `--list` | 显示家庭多人聚集体温相对异常历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_thermal_fever_screening_analysis.py`](scripts/smyx_thermal_fever_screening_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 输入要求：支持 mp4/avi/mov 视频，最大 10MB；**关键**：必须是热成像（红外测温）摄像头视频，普通可见光视频无法识别温度 |\n| 🔎 使用提醒 | **本工具仅基于\"群体相对差异\"判定，不依赖绝对温度校准**；任何相对异常都建议使用经过校准的医用额温枪/电子体温计复测 |\n| 🔎 使用提醒 | 戴帽子/口罩、刚运动/喝热饮/晒太阳、紧邻空调或取暖器等情况会显著影响额头体表温度，可能造成误报 |\n| 🔏 隐私合规 | 隐私合规：热成像家庭视频涉及个人健康隐私，使用前需取得家庭成员/参与者知情同意，妥善加密保管 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地热成像多人聚集视频\npython -m scripts.smyx_thermal_fever_screening_analysis --input /path/to/thermal.mp4\n\n# 分析网络热成像多人聚集视频\npython -m scripts.smyx_thermal_fever_screening_analysis --url https://example.com/thermal.mp4\n\n# 显示历史体温相对异常报告（自动触发关键词：查看体温筛查历史报告、发热相对异常报告清单等）\npython -m scripts.smyx_thermal_fever_screening_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_thermal_fever_screening_analysis --input thermal.mp4 --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_thermal_fever_screening_analysis --input thermal.mp4 --output result.json\n```\n\nFile v1.0.7:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-thermal-fever-screening-analysis\",\n  \"version\": \"1.0.7\",\n  \"publishedAt\": 1788776309771\n}\n\nFile v1.0.7:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放家庭多人聚集时体温相对异常检测 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动多人聚集体温相对异常检测任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取相对体温分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史筛查记录\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_THERMAL_FEVER_SCREENING_ANALYSIS` - 家庭多人聚集时体温相对异常检测\n\n## 输入约束\n\n- 摄像头：**必须为热成像（红外测温）摄像头**，普通可见光摄像头无法支持\n- 安装位置：家庭客厅、餐厅、会议室、活动室等公共区域，可同时覆盖 ≥ 2 人\n- 帧率：≥ 5 FPS；分辨率：≥ 256×192（建议 384×288 或更高）\n- 测温距离：1-3 m 之间为佳；测温目标头部需充分露出（避免帽子/口罩遮挡额头）\n- 环境温度建议恒定，避免短时空调直吹、紧邻热源（炉灶/取暖器）\n\n## 关键观测特征\n\n- `persons_detected` - 当前场景检测到的人数\n- `face_visible_count` - 头部/额头清晰可见的人数（参与温度比较的有效样本数）\n- `per_person_temperature` - 每个人的额头体表温度（°C，已校正）\n- `group_avg_temperature` - 群体平均体表温度（°C）\n- `group_temperature_std` - 群体体表温度标准差（°C）\n- `temperature_delta_per_person` - 每个人相对群体均值的差值（°C）\n\n## 默认阈值（可由调用方覆盖）\n\n- 相对异常阈值：`|temperature_delta| > 1.5 °C`（默认）\n- 最小有效样本数：≥ 2 人（少于 2 人时不输出相对异常）\n- 持续时间：相对异常持续 ≥ 3 秒触发提醒（防止偶发误报）\n\n## 异常类型\n\n- `relatively_hotter` - 个体体表温度显著高于群体均值（疑似发热）\n- `relatively_colder` - 个体体表温度显著低于群体均值（多为环境因素，仅参考）\n- `insufficient_sample` - 有效样本数不足，不进行相对比较\n\n## 输出字段（参考）\n\n- `persons_detected` / `face_visible_count` / `sample_sufficient`\n- `group_metrics` - 群体统计（group_avg_temperature / group_temperature_std）\n- `per_person_results` - 每个人的结果列表（含 person_id / forehead_temp_c / delta_c / is_relative_anomaly / anomaly_type）\n- `anomaly_count` - 本次异常人数\n- `alert_message` - 推送文本（如\"客厅检测到 4 人，其中 1 人额头体表温度比群体均值高 1.8°C，建议使用额温枪复测体温\"）\n- `recommend_action` - 建议动作（recheck_with_thermometer / push_app_notice / observe_only）\n\n> 仅输出基于热成像的相对温度差异与方向性提醒，不提供发热、流感、COVID 等具体医学诊断；正式体温判定请使用经过校准的医用红外/水银/电子额温枪/口腔体温计复测，并由专业医生评估。\n\nFile v1.0.7:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.7:scripts/config.yaml\n\n{}\n\nFile v1.0.7:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.7:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.7:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.7:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: dev\n\nFile v1.0.7:skill-card.md\n\n## Description:\n\nUsing fixed thermal-imaging camera footage, this skill analyzes multiple people in a shared scene, compares each person's skin-surface temperature with the group average, and reports relative temperature anomalies with a recommendation to recheck using a calibrated thermometer.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers can use this skill to analyze thermal camera images or videos from family, meeting-room, kindergarten, or care-facility gathering spaces for relative body-temperature anomalies. It supports structured screening reports, historical report lookup, and directional alerts, but it is not a medical diagnosis tool.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Thermal health media and report history may be processed through cloud services and include sensitive personal or health-related information.\n\nMitigation: Use only with explicit participant consent, appropriate privacy review, encrypted storage, and environments approved for sensitive media.\n\nRisk: The security review reports silent identity-state persistence and under-scoped, partly plaintext network paths.\n\nMitigation: Do not deploy as-is in sensitive environments; require HTTPS-only endpoints, scoped identity handling, and secure credential storage before production use.\n\nRisk: Relative temperature anomalies can be affected by masks, hats, recent exercise, hot drinks, sunlight, air conditioning, heaters, or poor thermal-camera setup.\n\nMitigation: Treat outputs as screening signals only and confirm any anomaly with a calibrated medical thermometer or qualified clinical process.\n\n## Reference(s):\n\n- [Thermal Fever Screening API Documentation](references/api_doc.md)\n- [Skill Demo](https://lifeemergence.com/sample.html)\n- [ClawHub Skill Page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-thermal-fever-screening-analysis)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown and JSON-style structured analysis reports with command examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include detected-person counts, group temperature statistics, per-person deltas, anomaly labels, recommended actions, and report links.]\n\n## Skill Version(s):\n\n1.0.7 (source: server-resolved release metadata; artifact frontmatter reports 1.0.13)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.7:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.7:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.6: 31 files, 41481 bytes\n\nFiles: references/api_doc.md (3119b), scripts/__init__.py (51b), scripts/config.py (697b), scripts/config.yaml (3b), scripts/skill.py (594b), scripts/smyx_thermal_fever_screening_analysis.py (3687b), skill-card.md (2768b), SKILL.md (13031b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (472b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (156b)\n\nFile v1.0.6:SKILL.md\n\n---\nname: \"smyx-thermal-fever-screening-analysis\"\ndescription: \"Using a fixed thermal-imaging camera installed in public areas (e.g., living room, dining room), the system automatically analyzes each person's skin-surface temperature (usually forehead or facial region) when multiple people gather, and computes the difference between an individual's temperature and the average temperature of others in the scene. | 通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。\"\nversion: \"1.0.11\"\nlicense: \"MIT-0\"\n---\n\n# 🌡️ Thermal Relative Fever Screening (Multi-Person Gathering) | 家庭多人聚集时体温相对异常检测\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **家庭多人聚集时体温相对异常检测** |\n| 🎯 核心目标 | 通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_THERMAL_FEVER_SCREENING_ANALYSIS` |\n\nUsing a fixed thermal-imaging camera installed in public areas (e.g., living room, dining room), the system automatically analyzes each person's skin-surface temperature (usually forehead or facial region) when multiple people gather, and computes the difference between an individual's temperature and the average temperature of others in the scene. When someone's temperature is significantly higher than the surrounding group (delta exceeds a preset threshold, e.g., 1.5 °C), it outputs a 'relative temperature anomaly' alert and recommends rechecking with a calibrated forehead thermometer. The skill is suitable for family gatherings, small meetings, etc., and aids early screening of people with fever. Application scenarios: family living rooms, meeting rooms, kindergarten activity rooms, nursing-home activity areas. The system monitors in real time; when someone's temperature is clearly higher than others, it pushes a mobile-app alert to remind attention to health. Skill features: during flu season or epidemics, if a household member has a fever during gatherings, quick screening enables timely precautions. Relative-temperature detection reduces reliance on absolute-temperature calibration, allowing ordinary families to use a thermal-imaging camera for health monitoring. Can be integrated into smart-home security systems to strengthen family health protection.\n\n通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。该技能适用于家庭聚会、小型会议等场景，辅助早期筛查发热人员。应用场景：家庭客厅、会议室、幼儿园活动室、养老院活动区。系统实时监测，当检测到某人体温明显高于他人时，通过手机APP推送提醒，提示注意健康状态。技能特点：在流感季节或疫情期间，家庭聚会中若有成员发热，可快速筛查并采取防护措施。通过相对温度检测，可降低对绝对温度校准的要求，使普通家庭也能使用热成像摄像头进行健康监测。该技能可集成到智能家居安防系统中，提升家庭健康防护能力。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的群体体温筛查 AI。你的任务是分析固定热成像摄像头拍摄的多人聚集视频，检测每个个体的体表温度（头部区域），计算个体温度与同期场景内所有个体平均温度的差值。当差值超过预设阈值时，输出相对温度异常提醒。不要提供医疗诊断或具体疾病判定，仅输出基于热成像的相对温度差异与方向性提醒。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n基于热成像摄像头多人聚集视频，自动检测每个人额头体表温度 → 计算个体相对群体均值的差值 → 输出相对体温异常提醒并建议额温枪复测\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 多人体检测与身份编号 |\n| 2 | 头部/额头 ROI 定位 |\n| 3 | 热成像像素 → 温度（°C）换算 |\n| 4 | 群体均值/标准差统计 |\n| 5 | 个体 - 群体差值计算 |\n| 6 | 相对异常判定（默认 \\| Δ \\| > 1.5 °C） |\n| 7 | 有效样本数校验 |\n| 8 | 持续时间过滤（≥ 3 秒） |\n| 9 | APP 推送文本生成 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供热成像摄像头多人聚集视频 URL 或文件需要分析时，默认触发本技能进行体温相对异常筛查 |\n| 🔎 明确分析意图 | 当用户明确提及发热筛查、体温相对异常、热成像、群体测温、家庭聚会健康、流感季节、疫情防控、幼儿园/养老院测温等关键词，并且上传了热成像视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看体温筛查历史报告、发热相对异常报告清单、群体测温报告清单、查询历史筛查记录、显示所有体温筛查报告、显示家庭聚会健康报告，查询体温异常预警清单 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_thermal_fever_screening_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_thermal_fever_screening_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备热成像摄像头多人聚集视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行多人聚集体温相对异常检测 | 调用 `-m scripts.smyx_thermal_fever_screening_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地热成像摄像头多人聚集视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络热成像摄像头多人聚集视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 类别标识，群体体温筛查场景默认 `other` | 按需填写 |\n| `--list` | 显示家庭多人聚集体温相对异常历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_thermal_fever_screening_analysis.py`](scripts/smyx_thermal_fever_screening_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 输入要求：支持 mp4/avi/mov 视频，最大 10MB；**关键**：必须是热成像（红外测温）摄像头视频，普通可见光视频无法识别温度 |\n| 🔎 使用提醒 | **本工具仅基于\"群体相对差异\"判定，不依赖绝对温度校准**；任何相对异常都建议使用经过校准的医用额温枪/电子体温计复测 |\n| 🔎 使用提醒 | 戴帽子/口罩、刚运动/喝热饮/晒太阳、紧邻空调或取暖器等情况会显著影响额头体表温度，可能造成误报 |\n| 🔏 隐私合规 | 隐私合规：热成像家庭视频涉及个人健康隐私，使用前需取得家庭成员/参与者知情同意，妥善加密保管 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地热成像多人聚集视频\npython -m scripts.smyx_thermal_fever_screening_analysis --input /path/to/thermal.mp4\n\n# 分析网络热成像多人聚集视频\npython -m scripts.smyx_thermal_fever_screening_analysis --url https://example.com/thermal.mp4\n\n# 显示历史体温相对异常报告（自动触发关键词：查看体温筛查历史报告、发热相对异常报告清单等）\npython -m scripts.smyx_thermal_fever_screening_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_thermal_fever_screening_analysis --input thermal.mp4 --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_thermal_fever_screening_analysis --input thermal.mp4 --output result.json\n```\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-thermal-fever-screening-analysis\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1787801444435\n}\n\nFile v1.0.6:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放家庭多人聚集时体温相对异常检测 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动多人聚集体温相对异常检测任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取相对体温分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史筛查记录\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_THERMAL_FEVER_SCREENING_ANALYSIS` - 家庭多人聚集时体温相对异常检测\n\n## 输入约束\n\n- 摄像头：**必须为热成像（红外测温）摄像头**，普通可见光摄像头无法支持\n- 安装位置：家庭客厅、餐厅、会议室、活动室等公共区域，可同时覆盖 ≥ 2 人\n- 帧率：≥ 5 FPS；分辨率：≥ 256×192（建议 384×288 或更高）\n- 测温距离：1-3 m 之间为佳；测温目标头部需充分露出（避免帽子/口罩遮挡额头）\n- 环境温度建议恒定，避免短时空调直吹、紧邻热源（炉灶/取暖器）\n\n## 关键观测特征\n\n- `persons_detected` - 当前场景检测到的人数\n- `face_visible_count` - 头部/额头清晰可见的人数（参与温度比较的有效样本数）\n- `per_person_temperature` - 每个人的额头体表温度（°C，已校正）\n- `group_avg_temperature` - 群体平均体表温度（°C）\n- `group_temperature_std` - 群体体表温度标准差（°C）\n- `temperature_delta_per_person` - 每个人相对群体均值的差值（°C）\n\n## 默认阈值（可由调用方覆盖）\n\n- 相对异常阈值：`|temperature_delta| > 1.5 °C`（默认）\n- 最小有效样本数：≥ 2 人（少于 2 人时不输出相对异常）\n- 持续时间：相对异常持续 ≥ 3 秒触发提醒（防止偶发误报）\n\n## 异常类型\n\n- `relatively_hotter` - 个体体表温度显著高于群体均值（疑似发热）\n- `relatively_colder` - 个体体表温度显著低于群体均值（多为环境因素，仅参考）\n- `insufficient_sample` - 有效样本数不足，不进行相对比较\n\n## 输出字段（参考）\n\n- `persons_detected` / `face_visible_count` / `sample_sufficient`\n- `group_metrics` - 群体统计（group_avg_temperature / group_temperature_std）\n- `per_person_results` - 每个人的结果列表（含 person_id / forehead_temp_c / delta_c / is_relative_anomaly / anomaly_type）\n- `anomaly_count` - 本次异常人数\n- `alert_message` - 推送文本（如\"客厅检测到 4 人，其中 1 人额头体表温度比群体均值高 1.8°C，建议使用额温枪复测体温\"）\n- `recommend_action` - 建议动作（recheck_with_thermometer / push_app_notice / observe_only）\n\n> 仅输出基于热成像的相对温度差异与方向性提醒，不提供发热、流感、COVID 等具体医学诊断；正式体温判定请使用经过校准的医用红外/水银/电子额温枪/口腔体温计复测，并由专业医生评估。\n\nFile v1.0.6:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.6:scripts/config.yaml\n\n{}\n\nFile v1.0.6:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.6:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.6:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.6:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: dev\n\nFile v1.0.6:skill-card.md\n\n## Description:\n\nAnalyzes thermal-imaging video of multi-person gatherings to compare each person's forehead or facial surface temperature against the group average and flag relative temperature anomalies for thermometer recheck.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to screen thermal-camera video from family, meeting, classroom, or care-facility gatherings for relative surface-temperature anomalies. The output is an early screening aid and should not be used as a medical diagnosis.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Thermal videos may contain identifiable people, health information, children, employees, or guests and are uploaded for remote analysis.\n\nMitigation: Use the skill only with participant consent, trusted publisher and backend services, and verified configurable endpoints; avoid submitting unnecessary sensitive footage.\n\nRisk: The skill may silently create or reuse a local user identity and store session tokens in the workspace data directory.\n\nMitigation: Run it in an isolated workspace, review local data storage before and after use, and remove account or token data when retention is not required.\n\nRisk: Relative thermal screening can be affected by camera type, calibration, distance, occlusion, recent exercise, hot drinks, sunlight, air conditioning, or nearby heat sources.\n\nMitigation: Use only suitable thermal-imaging input under stable conditions and confirm any anomaly with a calibrated thermometer and appropriate professional review.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-thermal-fever-screening-analysis)\n- [Skill demo](https://lifeemergence.com/sample.html)\n- [Thermal fever screening API documentation](references/api_doc.md)\n- [Shared analysis API documentation](skills/smyx_analysis/references/api_doc.md)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, JSON, Guidance, Files]\n\n**Output Format:** [Markdown text with embedded JSON analysis results, recommendations, and report links]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Can save analysis output to a requested file; history queries return server-side report records.]\n\n## Skill Version(s):\n\n1.0.6 (source: server release metadata; artifact SKILL.md frontmatter reports 1.0.11)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.6:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.6:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.5: 31 files, 41408 bytes\n\nFiles: references/api_doc.md (3119b), scripts/__init__.py (51b), scripts/config.py (697b), scripts/config.yaml (3b), scripts/skill.py (594b), scripts/smyx_thermal_fever_screening_analysis.py (3687b), skill-card.md (2772b), SKILL.md (13030b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (156b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: \"smyx-thermal-fever-screening-analysis\"\ndescription: \"Using a fixed thermal-imaging camera installed in public areas (e.g., living room, dining room), the system automatically analyzes each person's skin-surface temperature (usually forehead or facial region) when multiple people gather, and computes the difference between an individual's temperature and the average temperature of others in the scene. | 通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。\"\nversion: \"1.0.8\"\nlicense: \"MIT-0\"\n---\n\n# 🌡️ Thermal Relative Fever Screening (Multi-Person Gathering) | 家庭多人聚集时体温相对异常检测\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **家庭多人聚集时体温相对异常检测** |\n| 🎯 核心目标 | 通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_THERMAL_FEVER_SCREENING_ANALYSIS` |\n\nUsing a fixed thermal-imaging camera installed in public areas (e.g., living room, dining room), the system automatically analyzes each person's skin-surface temperature (usually forehead or facial region) when multiple people gather, and computes the difference between an individual's temperature and the average temperature of others in the scene. When someone's temperature is significantly higher than the surrounding group (delta exceeds a preset threshold, e.g., 1.5 °C), it outputs a 'relative temperature anomaly' alert and recommends rechecking with a calibrated forehead thermometer. The skill is suitable for family gatherings, small meetings, etc., and aids early screening of people with fever. Application scenarios: family living rooms, meeting rooms, kindergarten activity rooms, nursing-home activity areas. The system monitors in real time; when someone's temperature is clearly higher than others, it pushes a mobile-app alert to remind attention to health. Skill features: during flu season or epidemics, if a household member has a fever during gatherings, quick screening enables timely precautions. Relative-temperature detection reduces reliance on absolute-temperature calibration, allowing ordinary families to use a thermal-imaging camera for health monitoring. Can be integrated into smart-home security systems to strengthen family health protection.\n\n通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。该技能适用于家庭聚会、小型会议等场景，辅助早期筛查发热人员。应用场景：家庭客厅、会议室、幼儿园活动室、养老院活动区。系统实时监测，当检测到某人体温明显高于他人时，通过手机APP推送提醒，提示注意健康状态。技能特点：在流感季节或疫情期间，家庭聚会中若有成员发热，可快速筛查并采取防护措施。通过相对温度检测，可降低对绝对温度校准的要求，使普通家庭也能使用热成像摄像头进行健康监测。该技能可集成到智能家居安防系统中，提升家庭健康防护能力。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的群体体温筛查 AI。你的任务是分析固定热成像摄像头拍摄的多人聚集视频，检测每个个体的体表温度（头部区域），计算个体温度与同期场景内所有个体平均温度的差值。当差值超过预设阈值时，输出相对温度异常提醒。不要提供医疗诊断或具体疾病判定，仅输出基于热成像的相对温度差异与方向性提醒。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n基于热成像摄像头多人聚集视频，自动检测每个人额头体表温度 → 计算个体相对群体均值的差值 → 输出相对体温异常提醒并建议额温枪复测\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 多人体检测与身份编号 |\n| 2 | 头部/额头 ROI 定位 |\n| 3 | 热成像像素 → 温度（°C）换算 |\n| 4 | 群体均值/标准差统计 |\n| 5 | 个体 - 群体差值计算 |\n| 6 | 相对异常判定（默认 \\| Δ \\| > 1.5 °C） |\n| 7 | 有效样本数校验 |\n| 8 | 持续时间过滤（≥ 3 秒） |\n| 9 | APP 推送文本生成 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供热成像摄像头多人聚集视频 URL 或文件需要分析时，默认触发本技能进行体温相对异常筛查 |\n| 🔎 明确分析意图 | 当用户明确提及发热筛查、体温相对异常、热成像、群体测温、家庭聚会健康、流感季节、疫情防控、幼儿园/养老院测温等关键词，并且上传了热成像视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看体温筛查历史报告、发热相对异常报告清单、群体测温报告清单、查询历史筛查记录、显示所有体温筛查报告、显示家庭聚会健康报告，查询体温异常预警清单 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_thermal_fever_screening_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_thermal_fever_screening_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备热成像摄像头多人聚集视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行多人聚集体温相对异常检测 | 调用 `-m scripts.smyx_thermal_fever_screening_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地热成像摄像头多人聚集视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络热成像摄像头多人聚集视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 类别标识，群体体温筛查场景默认 `other` | 按需填写 |\n| `--list` | 显示家庭多人聚集体温相对异常历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_thermal_fever_screening_analysis.py`](scripts/smyx_thermal_fever_screening_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 输入要求：支持 mp4/avi/mov 视频，最大 10MB；**关键**：必须是热成像（红外测温）摄像头视频，普通可见光视频无法识别温度 |\n| 🔎 使用提醒 | **本工具仅基于\"群体相对差异\"判定，不依赖绝对温度校准**；任何相对异常都建议使用经过校准的医用额温枪/电子体温计复测 |\n| 🔎 使用提醒 | 戴帽子/口罩、刚运动/喝热饮/晒太阳、紧邻空调或取暖器等情况会显著影响额头体表温度，可能造成误报 |\n| 🔏 隐私合规 | 隐私合规：热成像家庭视频涉及个人健康隐私，使用前需取得家庭成员/参与者知情同意，妥善加密保管 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地热成像多人聚集视频\npython -m scripts.smyx_thermal_fever_screening_analysis --input /path/to/thermal.mp4\n\n# 分析网络热成像多人聚集视频\npython -m scripts.smyx_thermal_fever_screening_analysis --url https://example.com/thermal.mp4\n\n# 显示历史体温相对异常报告（自动触发关键词：查看体温筛查历史报告、发热相对异常报告清单等）\npython -m scripts.smyx_thermal_fever_screening_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_thermal_fever_screening_analysis --input thermal.mp4 --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_thermal_fever_screening_analysis --input thermal.mp4 --output result.json\n```\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-thermal-fever-screening-analysis\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1785727168808\n}\n\nFile v1.0.5:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放家庭多人聚集时体温相对异常检测 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动多人聚集体温相对异常检测任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取相对体温分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史筛查记录\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_THERMAL_FEVER_SCREENING_ANALYSIS` - 家庭多人聚集时体温相对异常检测\n\n## 输入约束\n\n- 摄像头：**必须为热成像（红外测温）摄像头**，普通可见光摄像头无法支持\n- 安装位置：家庭客厅、餐厅、会议室、活动室等公共区域，可同时覆盖 ≥ 2 人\n- 帧率：≥ 5 FPS；分辨率：≥ 256×192（建议 384×288 或更高）\n- 测温距离：1-3 m 之间为佳；测温目标头部需充分露出（避免帽子/口罩遮挡额头）\n- 环境温度建议恒定，避免短时空调直吹、紧邻热源（炉灶/取暖器）\n\n## 关键观测特征\n\n- `persons_detected` - 当前场景检测到的人数\n- `face_visible_count` - 头部/额头清晰可见的人数（参与温度比较的有效样本数）\n- `per_person_temperature` - 每个人的额头体表温度（°C，已校正）\n- `group_avg_temperature` - 群体平均体表温度（°C）\n- `group_temperature_std` - 群体体表温度标准差（°C）\n- `temperature_delta_per_person` - 每个人相对群体均值的差值（°C）\n\n## 默认阈值（可由调用方覆盖）\n\n- 相对异常阈值：`|temperature_delta| > 1.5 °C`（默认）\n- 最小有效样本数：≥ 2 人（少于 2 人时不输出相对异常）\n- 持续时间：相对异常持续 ≥ 3 秒触发提醒（防止偶发误报）\n\n## 异常类型\n\n- `relatively_hotter` - 个体体表温度显著高于群体均值（疑似发热）\n- `relatively_colder` - 个体体表温度显著低于群体均值（多为环境因素，仅参考）\n- `insufficient_sample` - 有效样本数不足，不进行相对比较\n\n## 输出字段（参考）\n\n- `persons_detected` / `face_visible_count` / `sample_sufficient`\n- `group_metrics` - 群体统计（group_avg_temperature / group_temperature_std）\n- `per_person_results` - 每个人的结果列表（含 person_id / forehead_temp_c / delta_c / is_relative_anomaly / anomaly_type）\n- `anomaly_count` - 本次异常人数\n- `alert_message` - 推送文本（如\"客厅检测到 4 人，其中 1 人额头体表温度比群体均值高 1.8°C，建议使用额温枪复测体温\"）\n- `recommend_action` - 建议动作（recheck_with_thermometer / push_app_notice / observe_only）\n\n> 仅输出基于热成像的相对温度差异与方向性提醒，不提供发热、流感、COVID 等具体医学诊断；正式体温判定请使用经过校准的医用红外/水银/电子额温枪/口腔体温计复测，并由专业医生评估。\n\nFile v1.0.5:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.5:scripts/config.yaml\n\n{}\n\nFile v1.0.5:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.5:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.5:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.5:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.5:skill-card.md\n\n## Description: <br>\nAnalyzes multi-person thermal-camera images or videos to flag relative skin-temperature anomalies and recommend thermometer recheck without making a medical diagnosis. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to analyze thermal-camera footage from multi-person gatherings, produce structured relative-temperature screening results, and query prior cloud reports. It is intended as a health-screening aid and directs users to confirm anomalies with a calibrated thermometer. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill handles thermal or health-adjacent videos, participant information, generated reports, and local account tokens through Life Emergence cloud endpoints. <br>\nMitigation: Install and run it only when those endpoints are trusted for the captured media and reports, and avoid shared workspaces unless identity and report access are isolated. <br>\nRisk: Thermal footage of people in homes, meetings, kindergartens, or nursing-home areas can expose sensitive health and privacy information. <br>\nMitigation: Get explicit consent from people captured in the footage and store reports and media with appropriate access controls. <br>\nRisk: Relative temperature anomalies can be affected by camera limits, face visibility, masks, hats, exercise, hot drinks, sun exposure, air conditioning, or nearby heat sources. <br>\nMitigation: Treat results as screening guidance only and confirm any alert with a calibrated thermometer or qualified medical evaluation. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-thermal-fever-screening-analysis) <br>\n- [API Documentation](artifact/references/api_doc.md) <br>\n- [Skill Demo](https://lifeemergence.com/sample.html) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, guidance] <br>\n**Output Format:** [Markdown or JSON structured analysis report with report links] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May include relative-temperature deltas, anomaly counts, recheck guidance, and historical report links.] <br>\n\n## Skill Version(s): <br>\n1.0.5 (source: server release metadata; artifact frontmatter reports 1.0.8) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.5:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.5:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.4: 31 files, 41474 bytes\n\nFiles: references/api_doc.md (3119b), scripts/__init__.py (51b), scripts/config.py (697b), scripts/config.yaml (3b), scripts/skill.py (594b), scripts/smyx_thermal_fever_screening_analysis.py (3687b), skill-card.md (2948b), SKILL.md (13030b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (156b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: \"smyx-thermal-fever-screening-analysis\"\ndescription: \"Using a fixed thermal-imaging camera installed in public areas (e.g., living room, dining room), the system automatically analyzes each person's skin-surface temperature (usually forehead or facial region) when multiple people gather, and computes the difference between an individual's temperature and the average temperature of others in the scene. | 通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。\"\nversion: \"1.0.7\"\nlicense: \"MIT-0\"\n---\n\n# 🌡️ Thermal Relative Fever Screening (Multi-Person Gathering) | 家庭多人聚集时体温相对异常检测\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **家庭多人聚集时体温相对异常检测** |\n| 🎯 核心目标 | 通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_THERMAL_FEVER_SCREENING_ANALYSIS` |\n\nUsing a fixed thermal-imaging camera installed in public areas (e.g., living room, dining room), the system automatically analyzes each person's skin-surface temperature (usually forehead or facial region) when multiple people gather, and computes the difference between an individual's temperature and the average temperature of others in the scene. When someone's temperature is significantly higher than the surrounding group (delta exceeds a preset threshold, e.g., 1.5 °C), it outputs a 'relative temperature anomaly' alert and recommends rechecking with a calibrated forehead thermometer. The skill is suitable for family gatherings, small meetings, etc., and aids early screening of people with fever. Application scenarios: family living rooms, meeting rooms, kindergarten activity rooms, nursing-home activity areas. The system monitors in real time; when someone's temperature is clearly higher than others, it pushes a mobile-app alert to remind attention to health. Skill features: during flu season or epidemics, if a household member has a fever during gatherings, quick screening enables timely precautions. Relative-temperature detection reduces reliance on absolute-temperature calibration, allowing ordinary families to use a thermal-imaging camera for health monitoring. Can be integrated into smart-home security systems to strengthen family health protection.\n\n通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。该技能适用于家庭聚会、小型会议等场景，辅助早期筛查发热人员。应用场景：家庭客厅、会议室、幼儿园活动室、养老院活动区。系统实时监测，当检测到某人体温明显高于他人时，通过手机APP推送提醒，提示注意健康状态。技能特点：在流感季节或疫情期间，家庭聚会中若有成员发热，可快速筛查并采取防护措施。通过相对温度检测，可降低对绝对温度校准的要求，使普通家庭也能使用热成像摄像头进行健康监测。该技能可集成到智能家居安防系统中，提升家庭健康防护能力。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的群体体温筛查 AI。你的任务是分析固定热成像摄像头拍摄的多人聚集视频，检测每个个体的体表温度（头部区域），计算个体温度与同期场景内所有个体平均温度的差值。当差值超过预设阈值时，输出相对温度异常提醒。不要提供医疗诊断或具体疾病判定，仅输出基于热成像的相对温度差异与方向性提醒。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n基于热成像摄像头多人聚集视频，自动检测每个人额头体表温度 → 计算个体相对群体均值的差值 → 输出相对体温异常提醒并建议额温枪复测\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 多人体检测与身份编号 |\n| 2 | 头部/额头 ROI 定位 |\n| 3 | 热成像像素 → 温度（°C）换算 |\n| 4 | 群体均值/标准差统计 |\n| 5 | 个体 - 群体差值计算 |\n| 6 | 相对异常判定（默认 \\| Δ \\| > 1.5 °C） |\n| 7 | 有效样本数校验 |\n| 8 | 持续时间过滤（≥ 3 秒） |\n| 9 | APP 推送文本生成 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供热成像摄像头多人聚集视频 URL 或文件需要分析时，默认触发本技能进行体温相对异常筛查 |\n| 🔎 明确分析意图 | 当用户明确提及发热筛查、体温相对异常、热成像、群体测温、家庭聚会健康、流感季节、疫情防控、幼儿园/养老院测温等关键词，并且上传了热成像视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看体温筛查历史报告、发热相对异常报告清单、群体测温报告清单、查询历史筛查记录、显示所有体温筛查报告、显示家庭聚会健康报告，查询体温异常预警清单 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_thermal_fever_screening_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_thermal_fever_screening_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备热成像摄像头多人聚集视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行多人聚集体温相对异常检测 | 调用 `-m scripts.smyx_thermal_fever_screening_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地热成像摄像头多人聚集视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络热成像摄像头多人聚集视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 类别标识，群体体温筛查场景默认 `other` | 按需填写 |\n| `--list` | 显示家庭多人聚集体温相对异常历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_thermal_fever_screening_analysis.py`](scripts/smyx_thermal_fever_screening_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 输入要求：支持 mp4/avi/mov 视频，最大 10MB；**关键**：必须是热成像（红外测温）摄像头视频，普通可见光视频无法识别温度 |\n| 🔎 使用提醒 | **本工具仅基于\"群体相对差异\"判定，不依赖绝对温度校准**；任何相对异常都建议使用经过校准的医用额温枪/电子体温计复测 |\n| 🔎 使用提醒 | 戴帽子/口罩、刚运动/喝热饮/晒太阳、紧邻空调或取暖器等情况会显著影响额头体表温度，可能造成误报 |\n| 🔏 隐私合规 | 隐私合规：热成像家庭视频涉及个人健康隐私，使用前需取得家庭成员/参与者知情同意，妥善加密保管 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地热成像多人聚集视频\npython -m scripts.smyx_thermal_fever_screening_analysis --input /path/to/thermal.mp4\n\n# 分析网络热成像多人聚集视频\npython -m scripts.smyx_thermal_fever_screening_analysis --url https://example.com/thermal.mp4\n\n# 显示历史体温相对异常报告（自动触发关键词：查看体温筛查历史报告、发热相对异常报告清单等）\npython -m scripts.smyx_thermal_fever_screening_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_thermal_fever_screening_analysis --input thermal.mp4 --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_thermal_fever_screening_analysis --input thermal.mp4 --output result.json\n```\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-thermal-fever-screening-analysis\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1785287612515\n}\n\nFile v1.0.4:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放家庭多人聚集时体温相对异常检测 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动多人聚集体温相对异常检测任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取相对体温分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史筛查记录\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_THERMAL_FEVER_SCREENING_ANALYSIS` - 家庭多人聚集时体温相对异常检测\n\n## 输入约束\n\n- 摄像头：**必须为热成像（红外测温）摄像头**，普通可见光摄像头无法支持\n- 安装位置：家庭客厅、餐厅、会议室、活动室等公共区域，可同时覆盖 ≥ 2 人\n- 帧率：≥ 5 FPS；分辨率：≥ 256×192（建议 384×288 或更高）\n- 测温距离：1-3 m 之间为佳；测温目标头部需充分露出（避免帽子/口罩遮挡额头）\n- 环境温度建议恒定，避免短时空调直吹、紧邻热源（炉灶/取暖器）\n\n## 关键观测特征\n\n- `persons_detected` - 当前场景检测到的人数\n- `face_visible_count` - 头部/额头清晰可见的人数（参与温度比较的有效样本数）\n- `per_person_temperature` - 每个人的额头体表温度（°C，已校正）\n- `group_avg_temperature` - 群体平均体表温度（°C）\n- `group_temperature_std` - 群体体表温度标准差（°C）\n- `temperature_delta_per_person` - 每个人相对群体均值的差值（°C）\n\n## 默认阈值（可由调用方覆盖）\n\n- 相对异常阈值：`|temperature_delta| > 1.5 °C`（默认）\n- 最小有效样本数：≥ 2 人（少于 2 人时不输出相对异常）\n- 持续时间：相对异常持续 ≥ 3 秒触发提醒（防止偶发误报）\n\n## 异常类型\n\n- `relatively_hotter` - 个体体表温度显著高于群体均值（疑似发热）\n- `relatively_colder` - 个体体表温度显著低于群体均值（多为环境因素，仅参考）\n- `insufficient_sample` - 有效样本数不足，不进行相对比较\n\n## 输出字段（参考）\n\n- `persons_detected` / `face_visible_count` / `sample_sufficient`\n- `group_metrics` - 群体统计（group_avg_temperature / group_temperature_std）\n- `per_person_results` - 每个人的结果列表（含 person_id / forehead_temp_c / delta_c / is_relative_anomaly / anomaly_type）\n- `anomaly_count` - 本次异常人数\n- `alert_message` - 推送文本（如\"客厅检测到 4 人，其中 1 人额头体表温度比群体均值高 1.8°C，建议使用额温枪复测体温\"）\n- `recommend_action` - 建议动作（recheck_with_thermometer / push_app_notice / observe_only）\n\n> 仅输出基于热成像的相对温度差异与方向性提醒，不提供发热、流感、COVID 等具体医学诊断；正式体温判定请使用经过校准的医用红外/水银/电子额温枪/口腔体温计复测，并由专业医生评估。\n\nFile v1.0.4:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.4:scripts/config.yaml\n\n{}\n\nFile v1.0.4:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.4:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.4:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.4:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.4:skill-card.md\n\n## Description: <br>\nAnalyzes thermal-camera images or videos of multi-person gatherings to identify relative skin-temperature anomalies and recommend confirmation with a calibrated thermometer. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers can use this skill to screen thermal-camera media from homes, meeting rooms, kindergartens, nursing-home activity areas, or similar gathering spaces for relative body-temperature anomalies. It reports directional screening results and report links, but it is not a medical diagnosis tool. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Thermal household or public-area videos may contain sensitive health-related information and are sent to the vendor cloud service. <br>\nMitigation: Use the skill only with informed consent from recorded people, avoid unnecessary uploads, and handle resulting reports as sensitive health-adjacent data. <br>\nRisk: The skill silently creates or reuses a local identity and associates cloud report history with that identity. <br>\nMitigation: Deploy only where identity separation, report access, and workspace sharing are understood and reviewed before use. <br>\nRisk: Relative thermal anomalies can be affected by sensor quality, environmental conditions, face coverage, recent activity, hot drinks, or nearby heating and cooling sources. <br>\nMitigation: Treat alerts as screening guidance only and confirm any concern with a calibrated thermometer or appropriate medical evaluation. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-thermal-fever-screening-analysis) <br>\n- [Skill Demo](https://lifeemergence.com/sample.html) <br>\n- [Thermal Fever Screening API Documentation](references/api_doc.md) <br>\n- [General Analysis API Documentation](skills/smyx_analysis/references/api_doc.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown or JSON-formatted structured analysis results with report links and suggested follow-up actions.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Outputs relative temperature anomaly findings, cloud report history, and export links; results depend on valid thermal-camera input and vendor cloud service availability.] <br>\n\n## Skill Version(s): <br>\n1.0.4 (source: server release metadata; artifact frontmatter reports 1.0.7) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.4:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.4:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.3: 31 files, 41451 bytes\n\nFiles: references/api_doc.md (3119b), scripts/__init__.py (51b), scripts/config.py (697b), scripts/config.yaml (3b), scripts/skill.py (594b), scripts/smyx_thermal_fever_screening_analysis.py (3687b), skill-card.md (2876b), SKILL.md (13030b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (156b)\n\nFile v1.0.3:SKILL.md\n\n---\nname: \"smyx-thermal-fever-screening-analysis\"\ndescription: \"Using a fixed thermal-imaging camera installed in public areas (e.g., living room, dining room), the system automatically analyzes each person's skin-surface temperature (usually forehead or facial region) when multiple people gather, and computes the difference between an individual's temperature and the average temperature of others in the scene. | 通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。\"\nversion: \"1.0.5\"\nlicense: \"MIT-0\"\n---\n\n# 🌡️ Thermal Relative Fever Screening (Multi-Person Gathering) | 家庭多人聚集时体温相对异常检测\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **家庭多人聚集时体温相对异常检测** |\n| 🎯 核心目标 | 通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_THERMAL_FEVER_SCREENING_ANALYSIS` |\n\nUsing a fixed thermal-imaging camera installed in public areas (e.g., living room, dining room), the system automatically analyzes each person's skin-surface temperature (usually forehead or facial region) when multiple people gather, and computes the difference between an individual's temperature and the average temperature of others in the scene. When someone's temperature is significantly higher than the surrounding group (delta exceeds a preset threshold, e.g., 1.5 °C), it outputs a 'relative temperature anomaly' alert and recommends rechecking with a calibrated forehead thermometer. The skill is suitable for family gatherings, small meetings, etc., and aids early screening of people with fever. Application scenarios: family living rooms, meeting rooms, kindergarten activity rooms, nursing-home activity areas. The system monitors in real time; when someone's temperature is clearly higher than others, it pushes a mobile-app alert to remind attention to health. Skill features: during flu season or epidemics, if a household member has a fever during gatherings, quick screening enables timely precautions. Relative-temperature detection reduces reliance on absolute-temperature calibration, allowing ordinary families to use a thermal-imaging camera for health monitoring. Can be integrated into smart-home security systems to strengthen family health protection.\n\n通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。该技能适用于家庭聚会、小型会议等场景，辅助早期筛查发热人员。应用场景：家庭客厅、会议室、幼儿园活动室、养老院活动区。系统实时监测，当检测到某人体温明显高于他人时，通过手机APP推送提醒，提示注意健康状态。技能特点：在流感季节或疫情期间，家庭聚会中若有成员发热，可快速筛查并采取防护措施。通过相对温度检测，可降低对绝对温度校准的要求，使普通家庭也能使用热成像摄像头进行健康监测。该技能可集成到智能家居安防系统中，提升家庭健康防护能力。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的群体体温筛查 AI。你的任务是分析固定热成像摄像头拍摄的多人聚集视频，检测每个个体的体表温度（头部区域），计算个体温度与同期场景内所有个体平均温度的差值。当差值超过预设阈值时，输出相对温度异常提醒。不要提供医疗诊断或具体疾病判定，仅输出基于热成像的相对温度差异与方向性提醒。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n基于热成像摄像头多人聚集视频，自动检测每个人额头体表温度 → 计算个体相对群体均值的差值 → 输出相对体温异常提醒并建议额温枪复测\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 多人体检测与身份编号 |\n| 2 | 头部/额头 ROI 定位 |\n| 3 | 热成像像素 → 温度（°C）换算 |\n| 4 | 群体均值/标准差统计 |\n| 5 | 个体 - 群体差值计算 |\n| 6 | 相对异常判定（默认 \\| Δ \\| > 1.5 °C） |\n| 7 | 有效样本数校验 |\n| 8 | 持续时间过滤（≥ 3 秒） |\n| 9 | APP 推送文本生成 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供热成像摄像头多人聚集视频 URL 或文件需要分析时，默认触发本技能进行体温相对异常筛查 |\n| 🔎 明确分析意图 | 当用户明确提及发热筛查、体温相对异常、热成像、群体测温、家庭聚会健康、流感季节、疫情防控、幼儿园/养老院测温等关键词，并且上传了热成像视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看体温筛查历史报告、发热相对异常报告清单、群体测温报告清单、查询历史筛查记录、显示所有体温筛查报告、显示家庭聚会健康报告，查询体温异常预警清单 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_thermal_fever_screening_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_thermal_fever_screening_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备热成像摄像头多人聚集视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行多人聚集体温相对异常检测 | 调用 `-m scripts.smyx_thermal_fever_screening_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地热成像摄像头多人聚集视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络热成像摄像头多人聚集视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 类别标识，群体体温筛查场景默认 `other` | 按需填写 |\n| `--list` | 显示家庭多人聚集体温相对异常历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_thermal_fever_screening_analysis.py`](scripts/smyx_thermal_fever_screening_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 输入要求：支持 mp4/avi/mov 视频，最大 10MB；**关键**：必须是热成像（红外测温）摄像头视频，普通可见光视频无法识别温度 |\n| 🔎 使用提醒 | **本工具仅基于\"群体相对差异\"判定，不依赖绝对温度校准**；任何相对异常都建议使用经过校准的医用额温枪/电子体温计复测 |\n| 🔎 使用提醒 | 戴帽子/口罩、刚运动/喝热饮/晒太阳、紧邻空调或取暖器等情况会显著影响额头体表温度，可能造成误报 |\n| 🔏 隐私合规 | 隐私合规：热成像家庭视频涉及个人健康隐私，使用前需取得家庭成员/参与者知情同意，妥善加密保管 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地热成像多人聚集视频\npython -m scripts.smyx_thermal_fever_screening_analysis --input /path/to/thermal.mp4\n\n# 分析网络热成像多人聚集视频\npython -m scripts.smyx_thermal_fever_screening_analysis --url https://example.com/thermal.mp4\n\n# 显示历史体温相对异常报告（自动触发关键词：查看体温筛查历史报告、发热相对异常报告清单等）\npython -m scripts.smyx_thermal_fever_screening_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_thermal_fever_screening_analysis --input thermal.mp4 --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_thermal_fever_screening_analysis --input thermal.mp4 --output result.json\n```\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-thermal-fever-screening-analysis\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1784245948785\n}\n\nFile v1.0.3:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放家庭多人聚集时体温相对异常检测 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动多人聚集体温相对异常检测任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取相对体温分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史筛查记录\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_THERMAL_FEVER_SCREENING_ANALYSIS` - 家庭多人聚集时体温相对异常检测\n\n## 输入约束\n\n- 摄像头：**必须为热成像（红外测温）摄像头**，普通可见光摄像头无法支持\n- 安装位置：家庭客厅、餐厅、会议室、活动室等公共区域，可同时覆盖 ≥ 2 人\n- 帧率：≥ 5 FPS；分辨率：≥ 256×192（建议 384×288 或更高）\n- 测温距离：1-3 m 之间为佳；测温目标头部需充分露出（避免帽子/口罩遮挡额头）\n- 环境温度建议恒定，避免短时空调直吹、紧邻热源（炉灶/取暖器）\n\n## 关键观测特征\n\n- `persons_detected` - 当前场景检测到的人数\n- `face_visible_count` - 头部/额头清晰可见的人数（参与温度比较的有效样本数）\n- `per_person_temperature` - 每个人的额头体表温度（°C，已校正）\n- `group_avg_temperature` - 群体平均体表温度（°C）\n- `group_temperature_std` - 群体体表温度标准差（°C）\n- `temperature_delta_per_person` - 每个人相对群体均值的差值（°C）\n\n## 默认阈值（可由调用方覆盖）\n\n- 相对异常阈值：`|temperature_delta| > 1.5 °C`（默认）\n- 最小有效样本数：≥ 2 人（少于 2 人时不输出相对异常）\n- 持续时间：相对异常持续 ≥ 3 秒触发提醒（防止偶发误报）\n\n## 异常类型\n\n- `relatively_hotter` - 个体体表温度显著高于群体均值（疑似发热）\n- `relatively_colder` - 个体体表温度显著低于群体均值（多为环境因素，仅参考）\n- `insufficient_sample` - 有效样本数不足，不进行相对比较\n\n## 输出字段（参考）\n\n- `persons_detected` / `face_visible_count` / `sample_sufficient`\n- `group_metrics` - 群体统计（group_avg_temperature / group_temperature_std）\n- `per_person_results` - 每个人的结果列表（含 person_id / forehead_temp_c / delta_c / is_relative_anomaly / anomaly_type）\n- `anomaly_count` - 本次异常人数\n- `alert_message` - 推送文本（如\"客厅检测到 4 人，其中 1 人额头体表温度比群体均值高 1.8°C，建议使用额温枪复测体温\"）\n- `recommend_action` - 建议动作（recheck_with_thermometer / push_app_notice / observe_only）\n\n> 仅输出基于热成像的相对温度差异与方向性提醒，不提供发热、流感、COVID 等具体医学诊断；正式体温判定请使用经过校准的医用红外/水银/电子额温枪/口腔体温计复测，并由专业医生评估。\n\nFile v1.0.3:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.3:scripts/config.yaml\n\n{}\n\nFile v1.0.3:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.3:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.3:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.3:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.3:skill-card.md\n\n## Description: <br>\nAnalyzes multi-person thermal-imaging photos or video to compare each visible person's skin-surface temperature against the group average and report relative temperature anomalies with a recommendation to recheck using a calibrated thermometer. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers can use this skill to submit thermal-imaging footage from gatherings, generate structured relative-temperature screening reports, and retrieve prior cloud reports. It is a screening aid only and should not be used as a medical diagnosis. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Thermal or household video may contain sensitive health-adjacent personal data and may be uploaded to the publisher's cloud service. <br>\nMitigation: Use only with informed participant consent, appropriate authorization, and an acceptable cloud-data handling arrangement. <br>\nRisk: The skill can create or reuse hidden user identities, store tokens locally, and query cloud report history with limited user control. <br>\nMitigation: Review account-handling, token storage, report-history access, retention, and deletion behavior before routine deployment. <br>\nRisk: Relative temperature anomalies can be affected by camera quality, calibration, occlusion, recent exercise, hot drinks, sunlight, or nearby heating/cooling sources. <br>\nMitigation: Treat results as screening guidance only and confirm any concern with a calibrated medical thermometer and qualified medical advice. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-thermal-fever-screening-analysis) <br>\n- [Skill API documentation](artifact/references/api_doc.md) <br>\n- [Analysis API documentation](artifact/skills/smyx_analysis/references/api_doc.md) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown or JSON reports with status text, anomaly details, recommendations, report links, and optional history tables] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May upload media to a cloud API and retrieve cloud-hosted report history.] <br>\n\n## Skill Version(s): <br>\n1.0.3 (source: server release metadata; artifact SKILL.md frontmatter states 1.0.5) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.3:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.3:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.2: 31 files, 41266 bytes\n\nFiles: references/api_doc.md (3119b), scripts/__init__.py (51b), scripts/config.py (697b), scripts/config.yaml (3b), scripts/skill.py (594b), scripts/smyx_thermal_fever_screening_analysis.py (3687b), skill-card.md (2635b), SKILL.md (13030b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28605b), _meta.json (156b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: \"smyx-thermal-fever-screening-analysis\"\ndescription: \"Using a fixed thermal-imaging camera installed in public areas (e.g., living room, dining room), the system automatically analyzes each person's skin-surface temperature (usually forehead or facial region) when multiple people gather, and computes the difference between an individual's temperature and the average temperature of others in the scene. | 通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。\"\nversion: \"1.0.4\"\nlicense: \"MIT-0\"\n---\n\n# 🌡️ Thermal Relative Fever Screening (Multi-Person Gathering) | 家庭多人聚集时体温相对异常检测\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **家庭多人聚集时体温相对异常检测** |\n| 🎯 核心目标 | 通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_THERMAL_FEVER_SCREENING_ANALYSIS` |\n\nUsing a fixed thermal-imaging camera installed in public areas (e.g., living room, dining room), the system automatically analyzes each person's skin-surface temperature (usually forehead or facial region) when multiple people gather, and computes the difference between an individual's temperature and the average temperature of others in the scene. When someone's temperature is significantly higher than the surrounding group (delta exceeds a preset threshold, e.g., 1.5 °C), it outputs a 'relative temperature anomaly' alert and recommends rechecking with a calibrated forehead thermometer. The skill is suitable for family gatherings, small meetings, etc., and aids early screening of people with fever. Application scenarios: family living rooms, meeting rooms, kindergarten activity rooms, nursing-home activity areas. The system monitors in real time; when someone's temperature is clearly higher than others, it pushes a mobile-app alert to remind attention to health. Skill features: during flu season or epidemics, if a household member has a fever during gatherings, quick screening enables timely precautions. Relative-temperature detection reduces reliance on absolute-temperature calibration, allowing ordinary families to use a thermal-imaging camera for health monitoring. Can be integrated into smart-home security systems to strengthen family health protection.\n\n通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。该技能适用于家庭聚会、小型会议等场景，辅助早期筛查发热人员。应用场景：家庭客厅、会议室、幼儿园活动室、养老院活动区。系统实时监测，当检测到某人体温明显高于他人时，通过手机APP推送提醒，提示注意健康状态。技能特点：在流感季节或疫情期间，家庭聚会中若有成员发热，可快速筛查并采取防护措施。通过相对温度检测，可降低对绝对温度校准的要求，使普通家庭也能使用热成像摄像头进行健康监测。该技能可集成到智能家居安防系统中，提升家庭健康防护能力。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的群体体温筛查 AI。你的任务是分析固定热成像摄像头拍摄的多人聚集视频，检测每个个体的体表温度（头部区域），计算个体温度与同期场景内所有个体平均温度的差值。当差值超过预设阈值时，输出相对温度异常提醒。不要提供医疗诊断或具体疾病判定，仅输出基于热成像的相对温度差异与方向性提醒。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n基于热成像摄像头多人聚集视频，自动检测每个人额头体表温度 → 计算个体相对群体均值的差值 → 输出相对体温异常提醒并建议额温枪复测\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 多人体检测与身份编号 |\n| 2 | 头部/额头 ROI 定位 |\n| 3 | 热成像像素 → 温度（°C）换算 |\n| 4 | 群体均值/标准差统计 |\n| 5 | 个体 - 群体差值计算 |\n| 6 | 相对异常判定（默认 \\| Δ \\| > 1.5 °C） |\n| 7 | 有效样本数校验 |\n| 8 | 持续时间过滤（≥ 3 秒） |\n| 9 | APP 推送文本生成 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供热成像摄像头多人聚集视频 URL 或文件需要分析时，默认触发本技能进行体温相对异常筛查 |\n| 🔎 明确分析意图 | 当用户明确提及发热筛查、体温相对异常、热成像、群体测温、家庭聚会健康、流感季节、疫情防控、幼儿园/养老院测温等关键词，并且上传了热成像视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看体温筛查历史报告、发热相对异常报告清单、群体测温报告清单、查询历史筛查记录、显示所有体温筛查报告、显示家庭聚会健康报告，查询体温异常预警清单 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_thermal_fever_screening_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_thermal_fever_screening_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备热成像摄像头多人聚集视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行多人聚集体温相对异常检测 | 调用 `-m scripts.smyx_thermal_fever_screening_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地热成像摄像头多人聚集视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络热成像摄像头多人聚集视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 类别标识，群体体温筛查场景默认 `other` | 按需填写 |\n| `--list` | 显示家庭多人聚集体温相对异常历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_thermal_fever_screening_analysis.py`](scripts/smyx_thermal_fever_screening_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 输入要求：支持 mp4/avi/mov 视频，最大 10MB；**关键**：必须是热成像（红外测温）摄像头视频，普通可见光视频无法识别温度 |\n| 🔎 使用提醒 | **本工具仅基于\"群体相对差异\"判定，不依赖绝对温度校准**；任何相对异常都建议使用经过校准的医用额温枪/电子体温计复测 |\n| 🔎 使用提醒 | 戴帽子/口罩、刚运动/喝热饮/晒太阳、紧邻空调或取暖器等情况会显著影响额头体表温度，可能造成误报 |\n| 🔏 隐私合规 | 隐私合规：热成像家庭视频涉及个人健康隐私，使用前需取得家庭成员/参与者知情同意，妥善加密保管 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地热成像多人聚集视频\npython -m scripts.smyx_thermal_fever_screening_analysis --input /path/to/thermal.mp4\n\n# 分析网络热成像多人聚集视频\npython -m scripts.smyx_thermal_fever_screening_analysis --url https://example.com/thermal.mp4\n\n# 显示历史体温相对异常报告（自动触发关键词：查看体温筛查历史报告、发热相对异常报告清单等）\npython -m scripts.smyx_thermal_fever_screening_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_thermal_fever_screening_analysis --input thermal.mp4 --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_thermal_fever_screening_analysis --input thermal.mp4 --output result.json\n```\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-thermal-fever-screening-analysis\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1783498423138\n}\n\nFile v1.0.2:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放家庭多人聚集时体温相对异常检测 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动多人聚集体温相对异常检测任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取相对体温分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史筛查记录\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_THERMAL_FEVER_SCREENING_ANALYSIS` - 家庭多人聚集时体温相对异常检测\n\n## 输入约束\n\n- 摄像头：**必须为热成像（红外测温）摄像头**，普通可见光摄像头无法支持\n- 安装位置：家庭客厅、餐厅、会议室、活动室等公共区域，可同时覆盖 ≥ 2 人\n- 帧率：≥ 5 FPS；分辨率：≥ 256×192（建议 384×288 或更高）\n- 测温距离：1-3 m 之间为佳；测温目标头部需充分露出（避免帽子/口罩遮挡额头）\n- 环境温度建议恒定，避免短时空调直吹、紧邻热源（炉灶/取暖器）\n\n## 关键观测特征\n\n- `persons_detected` - 当前场景检测到的人数\n- `face_visible_count` - 头部/额头清晰可见的人数（参与温度比较的有效样本数）\n- `per_person_temperature` - 每个人的额头体表温度（°C，已校正）\n- `group_avg_temperature` - 群体平均体表温度（°C）\n- `group_temperature_std` - 群体体表温度标准差（°C）\n- `temperature_delta_per_person` - 每个人相对群体均值的差值（°C）\n\n## 默认阈值（可由调用方覆盖）\n\n- 相对异常阈值：`|temperature_delta| > 1.5 °C`（默认）\n- 最小有效样本数：≥ 2 人（少于 2 人时不输出相对异常）\n- 持续时间：相对异常持续 ≥ 3 秒触发提醒（防止偶发误报）\n\n## 异常类型\n\n- `relatively_hotter` - 个体体表温度显著高于群体均值（疑似发热）\n- `relatively_colder` - 个体体表温度显著低于群体均值（多为环境因素，仅参考）\n- `insufficient_sample` - 有效样本数不足，不进行相对比较\n\n## 输出字段（参考）\n\n- `persons_detected` / `face_visible_count` / `sample_sufficient`\n- `group_metrics` - 群体统计（group_avg_temperature / group_temperature_std）\n- `per_person_results` - 每个人的结果列表（含 person_id / forehead_temp_c / delta_c / is_relative_anomaly / anomaly_type）\n- `anomaly_count` - 本次异常人数\n- `alert_message` - 推送文本（如\"客厅检测到 4 人，其中 1 人额头体表温度比群体均值高 1.8°C，建议使用额温枪复测体温\"）\n- `recommend_action` - 建议动作（recheck_with_thermometer / push_app_notice / observe_only）\n\n> 仅输出基于热成像的相对温度差异与方向性提醒，不提供发热、流感、COVID 等具体医学诊断；正式体温判定请使用经过校准的医用红外/水银/电子额温枪/口腔体温计复测，并由专业医生评估。\n\nFile v1.0.2:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.2:scripts/config.yaml\n\n{}\n\nFile v1.0.2:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.2:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.2:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.2:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.2:skill-card.md\n\n## Description: <br>\nAnalyzes multi-person thermal-imaging footage to report relative skin-temperature anomalies and recommend confirmation with a calibrated thermometer. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to analyze thermal-camera images or videos from family, meeting, classroom, or care-area gatherings and receive structured relative-temperature screening reports. It supports directional screening only and should not be treated as a medical diagnosis. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Sensitive thermal household or public-area footage and report metadata may be sent to publisher cloud services. <br>\nMitigation: Use only with informed consent from recorded people, confirm the cloud storage and retention expectations, and avoid uploading footage that is unnecessary for the screening task. <br>\nRisk: Local identity, profile, or authentication data may persist in the local SQLite database. <br>\nMitigation: Review and protect local storage before deployment, restrict filesystem access, and clear retained local data when it is no longer needed. <br>\nRisk: Relative thermal anomalies can be misleading and are not medical diagnoses. <br>\nMitigation: Treat results as screening guidance only and confirm any alert with a calibrated medical thermometer or qualified medical review. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-thermal-fever-screening-analysis) <br>\n- [API documentation](references/api_doc.md) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown and JSON-style structured reports, with optional shell commands and saved result files] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May include analysis status, per-person temperature deltas, anomaly counts, recommendations, and report links.] <br>\n\n## Skill Version(s): <br>\n1.0.2 (source: server release evidence; SKILL.md frontmatter reports 1.0.4) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.2:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.2:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.1: 31 files, 41077 bytes\n\nFiles: references/api_doc.md (3119b), scripts/__init__.py (51b), scripts/config.py (697b), scripts/config.yaml (3b), scripts/skill.py (594b), scripts/smyx_thermal_fever_screening_analysis.py (3687b), skill-card.md (2749b), SKILL.md (13030b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (22801b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28605b), _meta.json (156b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: \"smyx-thermal-fever-screening-analysis\"\ndescription: \"Using a fixed thermal-imaging camera installed in public areas (e.g., living room, dining room), the system automatically analyzes each person's skin-surface temperature (usually forehead or facial region) when multiple people gather, and computes the difference between an individual's temperature and the average temperature of others in the scene. | 通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。\"\nversion: \"1.0.3\"\nlicense: \"MIT-0\"\n---\n\n# 🌡️ Thermal Relative Fever Screening (Multi-Person Gathering) | 家庭多人聚集时体温相对异常检测\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **家庭多人聚集时体温相对异常检测** |\n| 🎯 核心目标 | 通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_THERMAL_FEVER_SCREENING_ANALYSIS` |\n\nUsing a fixed thermal-imaging camera installed in public areas (e.g., living room, dining room), the system automatically analyzes each person's skin-surface temperature (usually forehead or facial region) when multiple people gather, and computes the difference between an individual's temperature and the average temperature of others in the scene. When someone's temperature is significantly higher than the surrounding group (delta exceeds a preset threshold, e.g., 1.5 °C), it outputs a 'relative temperature anomaly' alert and recommends rechecking with a calibrated forehead thermometer. The skill is suitable for family gatherings, small meetings, etc., and aids early screening of people with fever. Application scenarios: family living rooms, meeting rooms, kindergarten activity rooms, nursing-home activity areas. The system monitors in real time; when someone's temperature is clearly higher than others, it pushes a mobile-app alert to remind attention to health. Skill features: during flu season or epidemics, if a household member has a fever during gatherings, quick screening enables timely precautions. Relative-temperature detection reduces reliance on absolute-temperature calibration, allowing ordinary families to use a thermal-imaging camera for health monitoring. Can be integrated into smart-home security systems to strengthen family health protection.\n\n通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。该技能适用于家庭聚会、小型会议等场景，辅助早期筛查发热人员。应用场景：家庭客厅、会议室、幼儿园活动室、养老院活动区。系统实时监测，当检测到某人体温明显高于他人时，通过手机APP推送提醒，提示注意健康状态。技能特点：在流感季节或疫情期间，家庭聚会中若有成员发热，可快速筛查并采取防护措施。通过相对温度检测，可降低对绝对温度校准的要求，使普通家庭也能使用热成像摄像头进行健康监测。该技能可集成到智能家居安防系统中，提升家庭健康防护能力。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的群体体温筛查 AI。你的任务是分析固定热成像摄像头拍摄的多人聚集视频，检测每个个体的体表温度（头部区域），计算个体温度与同期场景内所有个体平均温度的差值。当差值超过预设阈值时，输出相对温度异常提醒。不要提供医疗诊断或具体疾病判定，仅输出基于热成像的相对温度差异与方向性提醒。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n基于热成像摄像头多人聚集视频，自动检测每个人额头体表温度 → 计算个体相对群体均值的差值 → 输出相对体温异常提醒并建议额温枪复测\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 多人体检测与身份编号 |\n| 2 | 头部/额头 ROI 定位 |\n| 3 | 热成像像素 → 温度（°C）换算 |\n| 4 | 群体均值/标准差统计 |\n| 5 | 个体 - 群体差值计算 |\n| 6 | 相对异常判定（默认 \\| Δ \\| > 1.5 °C） |\n| 7 | 有效样本数校验 |\n| 8 | 持续时间过滤（≥ 3 秒） |\n| 9 | APP 推送文本生成 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供热成像摄像头多人聚集视频 URL 或文件需要分析时，默认触发本技能进行体温相对异常筛查 |\n| 🔎 明确分析意图 | 当用户明确提及发热筛查、体温相对异常、热成像、群体测温、家庭聚会健康、流感季节、疫情防控、幼儿园/养老院测温等关键词，并且上传了热成像视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看体温筛查历史报告、发热相对异常报告清单、群体测温报告清单、查询历史筛查记录、显示所有体温筛查报告、显示家庭聚会健康报告，查询体温异常预警清单 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_thermal_fever_screening_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_thermal_fever_screening_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备热成像摄像头多人聚集视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行多人聚集体温相对异常检测 | 调用 `-m scripts.smyx_thermal_fever_screening_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地热成像摄像头多人聚集视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络热成像摄像头多人聚集视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 类别标识，群体体温筛查场景默认 `other` | 按需填写 |\n| `--list` | 显示家庭多人聚集体温相对异常历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_thermal_fever_screening_analysis.py`](scripts/smyx_thermal_fever_screening_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 输入要求：支持 mp4/avi/mov 视频，最大 10MB；**关键**：必须是热成像（红外测温）摄像头视频，普通可见光视频无法识别温度 |\n| 🔎 使用提醒 | **本工具仅基于\"群体相对差异\"判定，不依赖绝对温度校准**；任何相对异常都建议使用经过校准的医用额温枪/电子体温计复测 |\n| 🔎 使用提醒 | 戴帽子/口罩、刚运动/喝热饮/晒太阳、紧邻空调或取暖器等情况会显著影响额头体表温度，可能造成误报 |\n| 🔏 隐私合规 | 隐私合规：热成像家庭视频涉及个人健康隐私，使用前需取得家庭成员/参与者知情同意，妥善加密保管 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地热成像多人聚集视频\npython -m scripts.smyx_thermal_fever_screening_analysis --input /path/to/thermal.mp4\n\n# 分析网络热成像多人聚集视频\npython -m scripts.smyx_thermal_fever_screening_analysis --url https://example.com/thermal.mp4\n\n# 显示历史体温相对异常报告（自动触发关键词：查看体温筛查历史报告、发热相对异常报告清单等）\npython -m scripts.smyx_thermal_fever_screening_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_thermal_fever_screening_analysis --input thermal.mp4 --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_thermal_fever_screening_analysis --input thermal.mp4 --output result.json\n```\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-thermal-fever-screening-analysis\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1782842306920\n}\n\nFile v1.0.1:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放家庭多人聚集时体温相对异常检测 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动多人聚集体温相对异常检测任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取相对体温分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史筛查记录\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_THERMAL_FEVER_SCREENING_ANALYSIS` - 家庭多人聚集时体温相对异常检测\n\n## 输入约束\n\n- 摄像头：**必须为热成像（红外测温）摄像头**，普通可见光摄像头无法支持\n- 安装位置：家庭客厅、餐厅、会议室、活动室等公共区域，可同时覆盖 ≥ 2 人\n- 帧率：≥ 5 FPS；分辨率：≥ 256×192（建议 384×288 或更高）\n- 测温距离：1-3 m 之间为佳；测温目标头部需充分露出（避免帽子/口罩遮挡额头）\n- 环境温度建议恒定，避免短时空调直吹、紧邻热源（炉灶/取暖器）\n\n## 关键观测特征\n\n- `persons_detected` - 当前场景检测到的人数\n- `face_visible_count` - 头部/额头清晰可见的人数（参与温度比较的有效样本数）\n- `per_person_temperature` - 每个人的额头体表温度（°C，已校正）\n- `group_avg_temperature` - 群体平均体表温度（°C）\n- `group_temperature_std` - 群体体表温度标准差（°C）\n- `temperature_delta_per_person` - 每个人相对群体均值的差值（°C）\n\n## 默认阈值（可由调用方覆盖）\n\n- 相对异常阈值：`|temperature_delta| > 1.5 °C`（默认）\n- 最小有效样本数：≥ 2 人（少于 2 人时不输出相对异常）\n- 持续时间：相对异常持续 ≥ 3 秒触发提醒（防止偶发误报）\n\n## 异常类型\n\n- `relatively_hotter` - 个体体表温度显著高于群体均值（疑似发热）\n- `relatively_colder` - 个体体表温度显著低于群体均值（多为环境因素，仅参考）\n- `insufficient_sample` - 有效样本数不足，不进行相对比较\n\n## 输出字段（参考）\n\n- `persons_detected` / `face_visible_count` / `sample_sufficient`\n- `group_metrics` - 群体统计（group_avg_temperature / group_temperature_std）\n- `per_person_results` - 每个人的结果列表（含 person_id / forehead_temp_c / delta_c / is_relative_anomaly / anomaly_type）\n- `anomaly_count` - 本次异常人数\n- `alert_message` - 推送文本（如\"客厅检测到 4 人，其中 1 人额头体表温度比群体均值高 1.8°C，建议使用额温枪复测体温\"）\n- `recommend_action` - 建议动作（recheck_with_thermometer / push_app_notice / observe_only）\n\n> 仅输出基于热成像的相对温度差异与方向性提醒，不提供发热、流感、COVID 等具体医学诊断；正式体温判定请使用经过校准的医用红外/水银/电子额温枪/口腔体温计复测，并由专业医生评估。\n\nFile v1.0.1:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.1:scripts/config.yaml\n\n{}\n\nFile v1.0.1:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.1:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.1:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.1:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.1:skill-card.md\n\n## Description: <br>\nAnalyzes thermal-image videos or URLs of multi-person gatherings to report relative skin-temperature anomalies and recommend thermometer rechecks without making medical diagnoses. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to screen thermal-imaging videos from homes, meeting rooms, classrooms, and care facilities for relative temperature outliers and to retrieve prior cloud reports. Results are directional health-screening alerts, not medical diagnoses. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Thermal videos and report history may contain sensitive health and identity information and are processed through cloud services. <br>\nMitigation: Use only with informed consent from recorded participants and confirm that storage, retention, and sharing practices meet the deployment environment's privacy requirements. <br>\nRisk: Relative temperature anomalies can be affected by camera setup, exposed forehead visibility, environment, recent activity, masks, hats, heat sources, or cooling airflow. <br>\nMitigation: Treat results as screening signals only and confirm any alert with a calibrated thermometer or appropriate clinical process. <br>\nRisk: The skill can create or reuse persistent local identity and token state while querying cloud report history. <br>\nMitigation: Review local workspace state and credential handling before installation, and restrict use to trusted workspaces and approved service endpoints. <br>\n\n\n## Reference(s): <br>\n- [Skill Page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-thermal-fever-screening-analysis) <br>\n- [API Documentation](references/api_doc.md) <br>\n- [Shared Analysis API Documentation](skills/smyx_analysis/references/api_doc.md) <br>\n- [Skill Demo](https://lifeemergence.com/sample.html) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, guidance] <br>\n**Output Format:** [Markdown or JSON analysis report with alerts, recommendations, report links, and historical-report tables] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May write the report to a user-specified output file.] <br>\n\n## Skill Version(s): <br>\n1.0.1 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.1:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.1:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.0: 32 files, 38880 bytes\n\nFiles: references/api_doc.md (3119b), scripts/__init__.py (51b), scripts/api_service.py (1704b), scripts/config.py (697b), scripts/config.yaml (3b), scripts/skill.py (594b), scripts/smyx_thermal_fever_screening_analysis.py (3656b), skill-card.md (2528b), SKILL.md (15461b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (2094b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1857b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (11394b), skills/smyx_analysis/scripts/smyx_analysis.py (3691b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (45b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2518b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (22771b), skills/smyx_common/scripts/config.yaml (463b), skills/smyx_common/scripts/dao.py (11119b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (18384b), _meta.json (156b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: \"smyx-thermal-fever-screening-analysis\"\ndescription: \"Using a fixed thermal-imaging camera installed in public areas (e.g., living room, dining room), the system automatically analyzes each person's skin-surface temperature (usually forehead or facial region) when multiple people gather, and computes the difference between an individual's temperature and the average temperature of others in the scene. When someone's temperature is significantly higher than the surrounding group (delta exceeds a preset threshold, e.g., 1.5 °C), it outputs a 'relative temperature anomaly' alert and recommends rechecking with a calibrated forehead thermometer. The skill is suitable for family gatherings, small meetings, etc., and aids early screening of people with fever. Application scenarios: family living rooms, meeting rooms, kindergarten activity rooms, nursing-home activity areas. The system monitors in real time; when someone's temperature is clearly higher than others, it pushes a mobile-app alert to remind attention to health. Skill features: during flu season or epidemics, if a household member has a fever during gatherings, quick screening enables timely precautions. Relative-temperature detection reduces reliance on absolute-temperature calibration, allowing ordinary families to use a thermal-imaging camera for health monitoring. Can be integrated into smart-home security systems to strengthen family health protection. | 通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。该技能适用于家庭聚会、小型会议等场景，辅助早期筛查发热人员。应用场景：家庭客厅、会议室、幼儿园活动室、养老院活动区。系统实时监测，当检测到某人体温明显高于他人时，通过手机APP推送提醒，提示注意健康状态。技能特点：在流感季节或疫情期间，家庭聚会中若有成员发热，可快速筛查并采取防护措施。通过相对温度检测，可降低对绝对温度校准的要求，使普通家庭也能使用热成像摄像头进行健康监测。该技能可集成到智能家居安防系统中，提升家庭健康防护能力。\"\nversion: \"1.0.0\"\n---\n\n# Thermal Relative Fever Screening (Multi-Person Gathering) | 家庭多人聚集时体温相对异常检测\n\nUsing a fixed thermal-imaging camera installed in public areas (e.g., living room, dining room), the system automatically analyzes each person's skin-surface temperature (usually forehead or facial region) when multiple people gather, and computes the difference between an individual's temperature and the average temperature of others in the scene. When someone's temperature is significantly higher than the surrounding group (delta exceeds a preset threshold, e.g., 1.5 °C), it outputs a 'relative temperature anomaly' alert and recommends rechecking with a calibrated forehead thermometer. The skill is suitable for family gatherings, small meetings, etc., and aids early screening of people with fever. Application scenarios: family living rooms, meeting rooms, kindergarten activity rooms, nursing-home activity areas. The system monitors in real time; when someone's temperature is clearly higher than others, it pushes a mobile-app alert to remind attention to health. Skill features: during flu season or epidemics, if a household member has a fever during gatherings, quick screening enables timely precautions. Relative-temperature detection reduces reliance on absolute-temperature calibration, allowing ordinary families to use a thermal-imaging camera for health monitoring. Can be integrated into smart-home security systems to strengthen family health protection.\n\n通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。该技能适用于家庭聚会、小型会议等场景，辅助早期筛查发热人员。应用场景：家庭客厅、会议室、幼儿园活动室、养老院活动区。系统实时监测，当检测到某人体温明显高于他人时，通过手机APP推送提醒，提示注意健康状态。技能特点：在流感季节或疫情期间，家庭聚会中若有成员发热，可快速筛查并采取防护措施。通过相对温度检测，可降低对绝对温度校准的要求，使普通家庭也能使用热成像摄像头进行健康监测。该技能可集成到智能家居安防系统中，提升家庭健康防护能力。\n\n## 🎯 AI 角色\n\n**假设你是一个专业的群体体温筛查 AI。你的任务是分析固定热成像摄像头拍摄的多人聚集视频，检测每个个体的体表温度（头部区域），计算个体温度与同期场景内所有个体平均温度的差值。当差值超过预设阈值时，输出相对温度异常提醒。不要提供医疗诊断或具体疾病判定，仅输出基于热成像的相对温度差异与方向性提醒。**\n\n## 任务目标\n\n- 本 Skill 用于：基于热成像摄像头多人聚集视频，自动检测每个人额头体表温度 → 计算个体相对群体均值的差值 → 输出相对体温异常提醒并建议额温枪复测\n- 能力包含：多人体检测与身份编号、头部/额头 ROI 定位、热成像像素 → 温度（°C）换算、群体均值/标准差统计、个体 - 群体差值计算、相对异常判定（默认 |Δ| > 1.5 °C）、有效样本数校验、持续时间过滤（≥ 3 秒）、APP 推送文本生成\n- 触发条件:\n    1. **默认触发**：当用户提供热成像摄像头多人聚集视频 URL 或文件需要分析时，默认触发本技能进行体温相对异常筛查\n    2. 当用户明确提及发热筛查、体温相对异常、热成像、群体测温、家庭聚会健康、流感季节、疫情防控、幼儿园/养老院测温等关键词，并且上传了热成像视频文件\n    3. 当用户提及以下关键词时，**自动触发历史报告查询功能**\n       ：查看体温筛查历史报告、发热相对异常报告清单、群体测温报告清单、查询历史筛查记录、显示所有体温筛查报告、显示家庭聚会健康报告，查询体温异常预警清单\n- 自动行为：\n    1. 如果用户上传了附件或者视频文件，则自动保存为本地文件\n    2. **⚠️ 强制数据获取规则（次高优先级）**：如果用户触发任何历史报告查询关键词（如\"查看所有体温筛查报告\"、\"\n       显示所有发热相对异常报告\"、\"\n       查看历史报告\"等），**必须**：\n        - 直接使用 `python -m scripts.smyx_thermal_fever_screening_analysis --list --open-id` 参数调用 API\n          查询云端的历史报告数据\n        - **严格禁止**：从本地 memory 目录读取历史会话信息、严格禁止手动汇总本地记录中的报告、严格禁止从长期记忆中提取报告\n        - **必须统一**从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果\n\n## 前置准备\n\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 操作步骤\n\n### 🔒 open-id 获取流程控制（强制执行，防止遗漏）\n\n**在执行家庭多人聚集体温相对异常检测前，必须按以下优先级顺序获取 open-id：**\n\n```\n第 1 步：【最高优先级】检查技能所在目录的配置文件（优先）\n        路径：skills/smyx_common/scripts/config.yaml（相对于技能根目录）\n        完整路径示例：${OPENCLAW_WORKSPACE}/skills/{当前技能目录}/skills/smyx_common/scripts/config.yaml\n        → 如果文件存在且配置了 api-key 字段，则读取 api-key 作为 open-id\n        ↓ (未找到/未配置/api-key 为空)\n第 2 步：检查 workspace 公共目录的配置文件\n        路径：${OPENCLAW_WORKSPACE}/skills/smyx_common/scripts/config.yaml\n        → 如果文件存在且配置了 api-key 字段，则读取 api-key 作为 open-id\n        ↓ (未找到/未配置)\n第 3 步：检查用户是否在消息中明确提供了 open-id\n        ↓ (未提供)\n第 4 步：❗ 必须暂停执行，明确提示用户提供用户名或手机号作为 open-id\n```\n\n**⚠️ 关键约束：**\n\n- **禁止**自行假设,自行推导,自行生成 open-id 值（如 openclaw-control-ui、default、userC113、user123 等）\n- **禁止**跳过 open-id 验证直接调用 API\n- **必须**在获取到有效 open-id 后才能继续执行分析\n- 如果用户拒绝提供 open-id，说明用途（用于保存和查询历史报告记录），并询问是否继续\n\n---\n\n- 标准流程:\n    1. **准备热成像摄像头多人聚集视频输入**\n        - 提供本地热成像视频路径或网络 URL\n        - 摄像头建议：**必须为热成像（红外测温）摄像头**，普通可见光摄像头无法支持\n        - 安装于客厅/餐厅/会议室/活动室等公共区域，可同时覆盖 ≥ 2 人；分辨率 ≥ 256×192（建议 384×288 或更高），帧率 ≥ 5 FPS\n        - 测温距离 1-3 m 之间为佳；测温目标头部需充分露出（避免帽子/口罩遮挡额头）\n        - 环境温度建议恒定，避免短时空调直吹、紧邻热源（炉灶/取暖器）\n        - 可选附带：场景名称、参与人数、阈值覆盖（temperature_delta_threshold_c / min_sample_size）\n    2. **获取 open-id（强制执行）**\n        - 按上述流程控制获取 open-id\n        - 如无法获取，必须提示用户提供用户名或手机号\n    3. **执行多人聚集体温相对异常检测**\n        - 调用 `-m scripts.smyx_thermal_fever_screening_analysis` 处理输入（**必须在技能根目录下运行脚本**）\n        - 参数说明:\n            - `--input`: 本地热成像摄像头多人聚集视频文件路径\n            - `--url`: 网络热成像摄像头多人聚集视频 URL 地址（API 服务自动下载）\n            - `--pet-type`: 类别标识，群体体温筛查场景默认 `other`\n            - `--open-id`: 当前用户的 open-id（必填，按上述流程获取）\n            - `--list`: 显示家庭多人聚集体温相对异常历史分析报告列表清单（可以输入起始日期参数过滤数据范围）\n            - `--api-key`: API 访问密钥（可选）\n            - `--api-url`: API 服务地址（可选，使用默认值）\n            - `--detail`: 输出详细程度（basic/standard/json，默认 json）\n            - `--output`: 结果输出文件路径（可选）\n    4. **查看分析结果**\n        - 接收结构化的体温相对异常筛查报告\n        - 包含：检测到人数（persons_detected）、有效样本数（face_visible_count / sample_sufficient）、群体统计（group_metrics：group_avg_temperature / group_temperature_std）、每个人结果列表（per_person_results，含 person_id / forehead_temp_c / delta_c / is_relative_anomaly / anomaly_type：relatively_hotter / relatively_colder / insufficient_sample）、异常人数（anomaly_count）、推送文本（如\"客厅检测到 4 人，其中 1 人额头体表温度比群体均值高 1.8°C，建议使用额温枪复测体温\"）、建议动作（recommend_action：recheck_with_thermometer / push_app_notice / observe_only）\n        - **重要提示**：仅输出基于热成像的相对温度差异与方向性提醒，不提供发热/流感/COVID 等具体医学诊断；正式体温判定请使用经过校准的医用红外/水银/电子额温枪/口腔体温计复测，并由专业医生评估\n\n## 资源索引\n\n- 必要脚本：见 [scripts/smyx_thermal_fever_screening_analysis.py](scripts/smyx_thermal_fever_screening_analysis.py)(\n  用途：调用 API 进行家庭多人聚集时体温相对异常检测，本地文件上传，网络 URL 由 API 服务自动下载)\n- 配置文件：见 [scripts/config.py](scripts/config.py)(用途：配置 API 地址、默认参数和场景码)\n- 领域参考：见 [references/api_doc.md](references/api_doc.md)(何时读取：需要了解 API 接口规范、相对体温阈值/有效样本/异常类型定义和错误码时)\n\n## 注意事项\n\n- 仅在需要时读取参考文档，保持上下文简洁\n- 输入要求：支持 mp4/avi/mov 视频，最大 10MB；**关键**：必须是热成像（红外测温）摄像头视频，普通可见光视频无法识别温度\n- API 密钥可选，如果通过参数传入则必须确保调用鉴权成功，否则忽略鉴权\n- **本工具仅基于\"群体相对差异\"判定，不依赖绝对温度校准**；任何相对异常都建议使用经过校准的医用额温枪/电子体温计复测\n- 戴帽子/口罩、刚运动/喝热饮/晒太阳、紧邻空调或取暖器等情况会显著影响额头体表温度，可能造成误报\n- 隐私合规：热成像家庭视频涉及个人健康隐私，使用前需取得家庭成员/参与者知情同意，妥善加密保管\n- 禁止临时生成脚本，只能用技能本身的脚本\n- 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载\n- 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段 reportImageUrl 作为超链接地址，且自动转化为如下 Markdown\n  表格格式输出，包含\"\n  报告名称\"、\"相对异常人数\"、\"分析时间\"、\"点击查看\"四列，其中\"报告名称\"列使用`家庭多人体温相对异常报告-{记录id}`形式拼接, \"点击查看\"\n  列使用\n  `[🔗 查看报告](reportImageUrl)`\n  格式的超链接，用户点击即可直接跳转到对应的完整报告页面。\n- 表格输出示例：\n  | 报告名称 | 相对异常人数 | 分析时间 | 点击查看 |\n  |----------|----------|----------|----------|\n  | 家庭多人体温相对异常报告-20260312172200001 | 1 人（Δ +1.8°C，relatively_hotter） | 2026-03-12 17:22:00 | [🔗 查看报告](https://example.com/report?id=xxx) |\n\n## 使用示例\n\n```bash\n# 分析本地热成像多人聚集视频（以下只是示例，禁止直接使用openclaw-control-ui 作为 open-id）\npython -m scripts.smyx_thermal_fever_screening_analysis --input /path/to/thermal.mp4 --open-id your-open-id\n\n# 分析网络热成像多人聚集视频（以下只是示例，禁止直接使用openclaw-control-ui 作为 open-id）\npython -m scripts.smyx_thermal_fever_screening_analysis --url https://example.com/thermal.mp4 --open-id your-open-id\n\n# 显示历史体温相对异常报告（自动触发关键词：查看体温筛查历史报告、发热相对异常报告清单等）\npython -m scripts.smyx_thermal_fever_screening_analysis --list --open-id your-open-id\n\n# 输出精简报告\npython -m scripts.smyx_thermal_fever_screening_analysis --input thermal.mp4 --open-id your-open-id --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_thermal_fever_screening_analysis --input thermal.mp4 --open-id your-open-id --output result.json\n```\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-thermal-fever-screening-analysis\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1779775684702\n}\n\nFile v1.0.0:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放家庭多人聚集时体温相对异常检测 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动多人聚集体温相对异常检测任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取相对体温分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史筛查记录\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_THERMAL_FEVER_SCREENING_ANALYSIS` - 家庭多人聚集时体温相对异常检测\n\n## 输入约束\n\n- 摄像头：**必须为热成像（红外测温）摄像头**，普通可见光摄像头无法支持\n- 安装位置：家庭客厅、餐厅、会议室、活动室等公共区域，可同时覆盖 ≥ 2 人\n- 帧率：≥ 5 FPS；分辨率：≥ 256×192（建议 384×288 或更高）\n- 测温距离：1-3 m 之间为佳；测温目标头部需充分露出（避免帽子/口罩遮挡额头）\n- 环境温度建议恒定，避免短时空调直吹、紧邻热源（炉灶/取暖器）\n\n## 关键观测特征\n\n- `persons_detected` - 当前场景检测到的人数\n- `face_visible_count` - 头部/额头清晰可见的人数（参与温度比较的有效样本数）\n- `per_person_temperature` - 每个人的额头体表温度（°C，已校正）\n- `group_avg_temperature` - 群体平均体表温度（°C）\n- `group_temperature_std` - 群体体表温度标准差（°C）\n- `temperature_delta_per_person` - 每个人相对群体均值的差值（°C）\n\n## 默认阈值（可由调用方覆盖）\n\n- 相对异常阈值：`|temperature_delta| > 1.5 °C`（默认）\n- 最小有效样本数：≥ 2 人（少于 2 人时不输出相对异常）\n- 持续时间：相对异常持续 ≥ 3 秒触发提醒（防止偶发误报）\n\n## 异常类型\n\n- `relatively_hotter` - 个体体表温度显著高于群体均值（疑似发热）\n- `relatively_colder` - 个体体表温度显著低于群体均值（多为环境因素，仅参考）\n- `insufficient_sample` - 有效样本数不足，不进行相对比较\n\n## 输出字段（参考）\n\n- `persons_detected` / `face_visible_count` / `sample_sufficient`\n- `group_metrics` - 群体统计（group_avg_temperature / group_temperature_std）\n- `per_person_results` - 每个人的结果列表（含 person_id / forehead_temp_c / delta_c / is_relative_anomaly / anomaly_type）\n- `anomaly_count` - 本次异常人数\n- `alert_message` - 推送文本（如\"客厅检测到 4 人，其中 1 人额头体表温度比群体均值高 1.8°C，建议使用额温枪复测体温\"）\n- `recommend_action` - 建议动作（recheck_with_thermometer / push_app_notice / observe_only）\n\n> 仅输出基于热成像的相对温度差异与方向性提醒，不提供发热、流感、COVID 等具体医学诊断；正式体温判定请使用经过校准的医用红外/水银/电子额温枪/口腔体温计复测，并由专业医生评估。\n\nFile v1.0.0:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口地址\n\n`POST https://your-api-server.com/api/v1/common-analysis`\n\n## 请求头\n\n| 字段           | 必选 | 说明                            |\n|--------------|----|-------------------------------|\n| X-API-Key    | 是  | API访问密钥                       |\n| Content-Type | 是  | 文件上传或 application/json（URL模式） |\n\n## 请求参数\n\n### 1. 文件上传模式\n\n| 字段           | 类型     | 必选 | 说明                                    |\n|--------------|--------|----|---------------------------------------|\n| video        | file   | 是  | MP4视频文件                               |\n| detail_level | string | 否  | 输出详细程度：basic/standard/full，默认standard |\n\n### 2. URL模式\n\n| 字段           | 类型     | 必选 | 说明                                    |\n|--------------|--------|----|---------------------------------------|\n| video_url    | string | 是  | 可公开访问的视频URL                           |\n| detail_level | string | 否  | 输出详细程度：basic/standard/full，默认standard |\n\n## 响应格式\n\n```json\n{\n  \"code\": 200,\n  \"message\": \"success\",\n  \"data\": {\n    \"analysis_time\": \"2026-03-10 15:30:00\",\n    \"face_detection\": {\n      \"status\": \"success\",\n      \"face_count\": 1,\n      \"quality_score\": 95\n    },\n    \"diagnosis\": {\n      \"overall_constitution\": \"平和质\",\n      \"organ_condition\": {\n        \"liver\": \"正常\",\n        \"heart\": \"轻微火旺\",\n        \"spleen\": \"略虚\",\n        \"lung\": \"正常\",\n        \"kidney\": \"正常\"\n      },\n      \"color_analysis\": {\n        \"complexion\": \"微黄\",\n        \"correspondence\": \"脾胃功能略弱\"\n      }\n    },\n    \"health_warnings\": [\n      \"注意休息，避免熬夜\"\n    ],\n    \"suggestions\": [\n      \"饮食清淡，减少辛辣食物摄入\"\n    ]\n  }\n}\n```\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.0:scripts/config.yaml\n\n{}\n\nFile v1.0.0:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.0:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.0:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.0:skills/smyx_common/scripts/config.yaml\n\nenv: prod\n\nApiEnum:\n  api-key:\n  api-secret-key:\n  database-url:\n  base-url-open-api: \"https://open.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitor.lifeemergence.com\"\n  base-url-health: \"https://lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: false\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: \"XIAN_ZHAO_GAN_ZHI\"\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret:\n  default--skill-platform-name: ARK_CLAW\n\nFile v1.0.0:skill-card.md\n\n## Description: <br>\nAnalyzes thermal-imaging videos of multi-person gatherings to flag relative skin-temperature anomalies against the group average and recommend thermometer recheck without making a medical diagnosis. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and smart-home or facility operators use this skill to analyze thermal camera video from family, meeting, kindergarten, or nursing-home gathering areas and produce relative temperature anomaly alerts plus report history. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill may send thermal or video footage and persistent identifiers to external services. <br>\nMitigation: Use only with consent from recorded people, approved service endpoints, and documented upload, retention, deletion, and history-access controls. <br>\nRisk: The security review notes under-disclosed account creation, token storage, and persistent identifier handling. <br>\nMitigation: Do not reuse an API key as a user identifier; review configuration and token storage before installation. <br>\nRisk: The security review reports broader remote analysis behavior than the fever-screening description suggests. <br>\nMitigation: Limit use to the documented thermal fever-screening workflow and review generated reports before taking action. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/smyx-thermal-fever-screening-analysis) <br>\n- [API interface documentation](references/api_doc.md) <br>\n- [Shared analysis API documentation](skills/smyx_analysis/references/api_doc.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, json, shell commands, guidance] <br>\n**Output Format:** [Markdown with JSON report output and shell command examples] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May include report links and recommends calibrated thermometer recheck; requires thermal video input and open-id.] <br>\n\n## Skill Version(s): <br>\n1.0.0 (source: frontmatter and release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.0:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.0:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3","readmeExcerpt":"Skill: Thermal Relative Fever Screening (Multi-Person Gathering) | 家庭多人聚集时体温相对异常检测 Owner: smyx-sunjinhui Summary: Using a fixed thermal-imaging camera installed in public areas (e.g., living room, dining room), the system automatically analyzes each person's skin-surface temperature (usually forehead or facial region) when multiple people gather, and computes the difference between an individual's temperature and the","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"python -m scripts.smyx_thermal_fever_screening_analysis --list"},{"language":"text","snippet":"requests>=2.28.0"},{"language":"bash","snippet":"# 分析本地热成像多人聚集视频\npython -m scripts.smyx_thermal_fever_screening_analysis --input /path/to/thermal.mp4\n\n# 分析网络热成像多人聚集视频\npython -m scripts.smyx_thermal_fever_screening_analysis --url https://example.com/thermal.mp4\n\n# 显示历史体温相对异常报告（自动触发关键词：查看体温筛查历史报告、发热相对异常报告清单等）\npython -m scripts.smyx_thermal_fever_screening_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_thermal_fever_screening_analysis --input thermal.mp4 --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_thermal_fever_screening_analysis --input thermal.mp4 --output result.json"},{"language":"bash","snippet":"python -m scripts.smyx_thermal_fever_screening_analysis --list"},{"language":"text","snippet":"requests>=2.28.0"},{"language":"bash","snippet":"# 分析本地热成像多人聚集视频\npython -m scripts.smyx_thermal_fever_screening_analysis --input /path/to/thermal.mp4\n\n# 分析网络热成像多人聚集视频\npython -m scripts.smyx_thermal_fever_screening_analysis --url https://example.com/thermal.mp4\n\n# 显示历史体温相对异常报告（自动触发关键词：查看体温筛查历史报告、发热相对异常报告清单等）\npython -m scripts.smyx_thermal_fever_screening_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_thermal_fever_screening_analysis --input thermal.mp4 --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_thermal_fever_screening_analysis --input thermal.mp4 --output result.json"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: \"smyx-thermal-fever-screening-analysis\"\ndescription: \"Using a fixed thermal-imaging camera installed in public areas (e.g., living room, dining room), the system automatically analyzes each person's skin-surface temperature (usually forehead or facial region) when multiple people gather, and computes the difference between an individual's temperature and the average temperature of others in the scene. | 通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。\"\nversion: \"1.0.17\"\nlicense: \"MIT-0\"\n---\n\n# 🌡️ Thermal Relative Fever Screening (Multi-Person Gathering) | 家庭多人聚集时体温相对异常检测\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **家庭多人聚集时体温相对异常检测** |\n| 🎯 核心目标 | 通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_THERMAL_FEVER_SCREENING_ANALYSIS` |\n\nUsing a fixed thermal-imaging camera installed in public areas (e.g., living room, dining room), the system automatically analyzes each person's skin-surface temperature (usually forehead or facial region) when multiple people gather, and computes the difference between an individual's temperature and the average temperature of others in the scene. When someone's temperature is significantly higher than the surrounding group (delta exceeds a preset threshold, e.g., 1.5 °C), it outputs a 'relative temperature anomaly' alert and recommends rechecking with a calibrated forehead thermometer. The skill is suitable for family gatherings, small meetings, etc., and aids early screening of people with fever. Application scenarios: family living rooms, meeting rooms, kindergarten activity rooms, nursing-home activity areas. The system monitors in real time; when someone's temperature is clearly higher than others, it pushes a mobile-app alert to remind attention to health. Skill features: during flu season or epidemics, if a household member has a fever during gatherings, quick screening enables timely precautions. Relative-temperature detection reduces reliance on absolute-temperature calibration, allowing ordinary families to use a thermal-imaging camera for health monitoring. Can be integrated into smart-home security systems to strengthen family health protection.\n\n通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。该技能适用于家庭聚会、小型会议等场景，辅助早期筛查发热人员。应用场景：家庭客厅、会议室、幼儿园活动室、养老院活动区。系统实时监测，当检测到某人体温明显高于他人时，通过手机APP推送提醒，提示注意健康状态。技能特点：在流感季节或疫情期间，家庭聚会中若有成员发热，可快速筛查并采取防护措施。通过相对温度检测，可降低对绝对温度校准的要求，使普通家庭也能使用热成像摄像头进行健康监测。该技能可集成到智能家居安防系统中，提升家庭健康防护能力。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的群体体温筛查 AI。你的任务是分析固定热成像摄像头拍摄的多人聚集视频，检测每个个体的体表温度（头部区域），计算个体温度与同期场景内所有个体平均温度的差值。当差值超过预设阈值时，输出相对温度异常提醒。不要提供医疗诊断或具体疾病判定，仅输出基于热"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-thermal-fever-screening-analysis\",\n  \"version\": \"1.0.8\",\n  \"publishedAt\": 1790890476765\n}"},{"path":"references/api_doc.md","content":"# API 接口文档\n\n此处用于存放家庭多人聚集时体温相对异常检测 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动多人聚集体温相对异常检测任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取相对体温分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史筛查记录\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_THERMAL_FEVER_SCREENING_ANALYSIS` - 家庭多人聚集时体温相对异常检测\n\n## 输入约束\n\n- 摄像头：**必须为热成像（红外测温）摄像头**，普通可见光摄像头无法支持\n- 安装位置：家庭客厅、餐厅、会议室、活动室等公共区域，可同时覆盖 ≥ 2 人\n- 帧率：≥ 5 FPS；分辨率：≥ 256×192（建议 384×288 或更高）\n- 测温距离：1-3 m 之间为佳；测温目标头部需充分露出（避免帽子/口罩遮挡额头）\n- 环境温度建议恒定，避免短时空调直吹、紧邻热源（炉灶/取暖器）\n\n## 关键观测特征\n\n- `persons_detected` - 当前场景检测到的人数\n- `face_visible_count` - 头部/额头清晰可见的人数（参与温度比较的有效样本数）\n- `per_person_temperature` - 每个人的额头体表温度（°C，已校正）\n- `group_avg_temperature` - 群体平均体表温度（°C）\n- `group_temperature_std` - 群体体表温度标准差（°C）\n- `temperature_delta_per_person` - 每个人相对群体均值的差值（°C）\n\n## 默认阈值（可由调用方覆盖）\n\n- 相对异常阈值：`|temperature_delta| > 1.5 °C`（默认）\n- 最小有效样本数：≥ 2 人（少于 2 人时不输出相对异常）\n- 持续时间：相对异常持续 ≥ 3 秒触发提醒（防止偶发误报）\n\n## 异常类型\n\n- `relatively_hotter` - 个体体表温度显著高于群体均值（疑似发热）\n- `relatively_colder` - 个体体表温度显著低于群体均值（多为环境因素，仅参考）\n- `insufficient_sample` - 有效样本数不足，不进行相对比较\n\n## 输出字段（参考）\n\n- `persons_detected` / `face_visible_count` / `sample_sufficient`\n- `group_metrics` - 群体统计（group_avg_temperature / group_temperature_std）\n- `per_person_results` - 每个人的结果列表（含 person_id / forehead_temp_c / delta_c / is_relative_anomaly / anomaly_type）\n- `anomaly_count` - 本次异常人数\n- `alert_message` - 推送文本（如\"客厅检测到 4 人，其中 1 人额头体表温度比群体均值高 1.8°C，建议使用额温枪复测体温\"）\n- `recommend_action` - 建议动作（recheck_with_thermometer / push_app_notice / observe_only）\n\n> 仅输出基于热成像的相对温度差异与方向性提醒，不提供发热、流感、COVID 等具体医学诊断；正式体温判定请使用经过校准的医用红外/水银/电子额温枪/口腔体温计复测，并由专业医生评估。"},{"path":"skills/smyx_analysis/references/api_doc.md","content":"# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |"},{"path":"scripts/config.yaml","content":"{}"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Using a fixed thermal-imaging camera installed in public areas (e.g., living room, dining room), the system automatically analyzes each person's skin-surface temperature (usually forehead or facial region) when multiple people gather, and computes the difference between an individual's temperature and the average temperature of others in the scene. | 通过安装于公共区域（如客厅、餐厅）的固定热成像摄像头，在多人聚集时自动分析每个人的体表温度（通常为额头或面部区域），计算个体温度与场景内其他人平均温度的差值。当某个人温度显著高于周边人群（差值超过预设阈值，如1.5℃）时，输出'体温相对异常'提醒，建议使用额温枪复测。 Skill: Thermal Relative Fever Screening (Multi-Person Gathering) | 家庭多人聚集时体温相对异常检测 Owner: smyx-sunjinhui Summary: Using a fixed thermal-imaging camera installed in public areas (e.g., living room, dining room), the system automatically analyzes each person's skin-surface temperature (usually forehead or facial region) when multiple people gather, and computes the difference between an individual's temperature and the","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1162,"uniquenessScore":47,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T11:36:24.722Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T11:36:24.722Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T13:38:19.451Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}