{"id":"b734ed11-7e21-4616-8f80-27f3904a6a73","entityType":"agent","slug":"clawhub-18072937735-smyx-contactless-vital-signs-monitoring-ana","name":"Passive Vital Signs Monitoring Tool | 无感生命体征监测分析工具","canonicalUrl":"https://www.xpersona.co/agent/clawhub-18072937735-smyx-contactless-vital-signs-monitoring-ana","canonicalPath":"/agent/clawhub-18072937735-smyx-contactless-vital-signs-monitoring-ana","generatedAt":"2026-10-10T07:43:19.477Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T15:05:25.967Z","emptyReason":null},"description":"Non-contact detection of heart rate, respiration, blood oxygen, and heart rate variability. No wearable devices are required; monitoring is achieved solely through camera footage. | 无感生命体征监测分析技能，非接触检测心率、呼吸、血氧、心率变异性，无需穿戴设备，通过摄像头画面即可监测 Skill: Passive Vital Signs Monitoring Tool | 无感生命体征监测分析工具 Owner: 18072937735 Summary: Non-contact detection of heart rate, respiration, blood oxygen, and heart rate variability. No wearable devices are required; monitoring is achieved solely through camera footage. | 无感生命体征监测分析技能，非接触检测心率、呼吸、血氧、心率变异性，无需穿戴设备，通过摄像头画面即可监测 Tags: latest:1.0.18 Version history: v1.0.18 | 2026-09-28T02:28:26.210Z | auto - Removed the file: s","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 2.4K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s17f8q65zg3y98t86jdg1177g583whq8:smyx-contactless-vital-signs-monitoring-analysis","sourceUrl":"https://clawhub.ai/18072937735/smyx-contactless-vital-signs-monitoring-analysis","homepage":"https://clawhub.ai/18072937735/skills/smyx-contactless-vital-signs-monitoring-analysis","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/18072937735/smyx-contactless-vital-signs-monitoring-analysis","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/18072937735/skills/smyx-contactless-vital-signs-monitoring-analysis","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":40,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Non-contact detection of heart rate, respiration, blood oxygen, and heart rate variability. No wearable devices are required; monitoring is achieved solely thro"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T15:05:25.967Z","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-09T15:05:25.967Z","emptyReason":null},"stars":null,"forks":null,"downloads":2427,"packageName":null,"latestVersion":"1.0.18","tractionLabel":"2.4K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T15:05:25.967Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T15:05:25.967Z","lastCrawledAt":"2026-10-09T15:05:25.967Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T15:05:25.967Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.18","createdAt":"2026-09-28T02:28:26.210Z","changelog":"- Removed the file: `skill-card.md` - No changes to functionality or features; this update is a documentation cleanup only.","fileCount":31,"zipByteSize":39065},{"version":"1.0.17","createdAt":"2026-09-23T06:43:35.501Z","changelog":"- Version updated to 1.0.18 - Updated configuration in skills/smyx_common/scripts/config.yaml - SKILL.md revised to reflect version bump and minor documentation/metadata changes - skill-card.md file removed","fileCount":31,"zipByteSize":39323},{"version":"1.0.16","createdAt":"2026-09-13T12:37:34.255Z","changelog":"- Updated SKILL.md to reflect version 1.0.16 with the latest details and doc improvements. - Removed the redundant skill-card.md file for streamlined documentation. - No changes reported to implementation or functional behavior. - Documentation now more accurately describes usage, requirements, and constraints.","fileCount":31,"zipByteSize":39158},{"version":"1.0.15","createdAt":"2026-08-27T09:33:35.894Z","changelog":"- Removed the file skill-card.md from the project. - No changes to skill functionality or documentation content. - This update only affects project files and package organization.","fileCount":31,"zipByteSize":39370},{"version":"1.0.14","createdAt":"2026-08-23T11:33:28.162Z","changelog":"- Updated version number in SKILL.md from 1.0.11 to 1.0.13. - Removed the file skill-card.md. - Modified the configuration file skills/smyx_common/scripts/config.yaml. - SKILL.md documentation content remains otherwise unchanged.","fileCount":31,"zipByteSize":39243},{"version":"1.0.13","createdAt":"2026-08-11T13:18:39.314Z","changelog":"- Documentation update: Changed SKILL.md content and version from 1.0.10 to 1.0.11. - Removed obsolete file: skill-card.md. - No logic or feature changes to the skill itself; changes are limited to documentation and version metadata.","fileCount":31,"zipByteSize":39202},{"version":"1.0.12","createdAt":"2026-08-04T01:43:41.732Z","changelog":"- Updated version to 1.0.10 in SKILL.md. - Removed the file skill-card.md. - No changes to code logic or core documentation content. - Maintenance release with minor documentation adjustment.","fileCount":31,"zipByteSize":39478},{"version":"1.0.11","createdAt":"2026-07-29T12:39:40.089Z","changelog":"- Updated SKILL.md version from 1.0.7 to 1.0.9. - Removed the file skill-card.md. - No changes to functionality or behavior are specified; documentation reorganized for this release.","fileCount":31,"zipByteSize":39206}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17f8q65zg3y98t86jdg1177g583whq8:smyx-contactless-vital-signs-monitoring-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-18072937735-smyx-contactless-vital-signs-monitoring-ana/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-contactless-vital-signs-monitoring-ana/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-contactless-vital-signs-monitoring-ana/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-contactless-vital-signs-monitoring-ana/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-contactless-vital-signs-monitoring-ana/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-contactless-vital-signs-monitoring-ana/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-10T07:43:19.474Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-contactless-vital-signs-monitoring-ana/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-contactless-vital-signs-monitoring-ana/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-contactless-vital-signs-monitoring-ana/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-contactless-vital-signs-monitoring-ana/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-09T15:05:25.967Z","emptyReason":null},"readme":"Skill: Passive Vital Signs Monitoring Tool | 无感生命体征监测分析工具\n\nOwner: 18072937735\n\nSummary: Non-contact detection of heart rate, respiration, blood oxygen, and heart rate variability. No wearable devices are required; monitoring is achieved solely through camera footage. | 无感生命体征监测分析技能，非接触检测心率、呼吸、血氧、心率变异性，无需穿戴设备，通过摄像头画面即可监测\n\nTags: latest:1.0.18\n\nVersion history:\n\nv1.0.18 | 2026-09-28T02:28:26.210Z | auto\n\n- Removed the file: `skill-card.md`\n- No changes to functionality or features; this update is a documentation cleanup only.\n\nv1.0.17 | 2026-09-23T06:43:35.501Z | auto\n\n- Version updated to 1.0.18\n- Updated configuration in skills/smyx_common/scripts/config.yaml\n- SKILL.md revised to reflect version bump and minor documentation/metadata changes\n- skill-card.md file removed\n\nv1.0.16 | 2026-09-13T12:37:34.255Z | auto\n\n- Updated SKILL.md to reflect version 1.0.16 with the latest details and doc improvements.\n- Removed the redundant skill-card.md file for streamlined documentation.\n- No changes reported to implementation or functional behavior.\n- Documentation now more accurately describes usage, requirements, and constraints.\n\nv1.0.15 | 2026-08-27T09:33:35.894Z | auto\n\n- Removed the file skill-card.md from the project.\n- No changes to skill functionality or documentation content.\n- This update only affects project files and package organization.\n\nv1.0.14 | 2026-08-23T11:33:28.162Z | auto\n\n- Updated version number in SKILL.md from 1.0.11 to 1.0.13.\n- Removed the file skill-card.md.\n- Modified the configuration file skills/smyx_common/scripts/config.yaml.\n- SKILL.md documentation content remains otherwise unchanged.\n\nv1.0.13 | 2026-08-11T13:18:39.314Z | auto\n\n- Documentation update: Changed SKILL.md content and version from 1.0.10 to 1.0.11.\n- Removed obsolete file: skill-card.md.\n- No logic or feature changes to the skill itself; changes are limited to documentation and version metadata.\n\nv1.0.12 | 2026-08-04T01:43:41.732Z | auto\n\n- Updated version to 1.0.10 in SKILL.md.\n- Removed the file skill-card.md.\n- No changes to code logic or core documentation content.\n- Maintenance release with minor documentation adjustment.\n\nv1.0.11 | 2026-07-29T12:39:40.089Z | auto\n\n- Updated SKILL.md version from 1.0.7 to 1.0.9.\n- Removed the file skill-card.md.\n- No changes to functionality or behavior are specified; documentation reorganized for this release.\n\nv1.0.10 | 2026-07-15T10:14:30.227Z | auto\n\n- Updated SKILL.md documentation with minor revisions and a version change (1.0.6 → 1.0.7).\n- Removed the file skill-card.md.\n- Made changes to skills/smyx_common/scripts/util.py (details not specified in input).\n- No functional or user-facing features were added or removed.  \n- This release focuses on documentation updates and minor internal cleanup.\n\nv1.0.9 | 2026-07-08T16:18:40.123Z | auto\n\n- Updated `skills/smyx_common/scripts/config.py`.\n- Internal configuration changes; no impact to user-facing features or documentation.\n- No changes to usage, interface, or workflow.\n\nv1.0.8 | 2026-07-02T15:14:37.356Z | auto\n\n- Updated internal scripts: changes made to `dao.py` and `util.py` in the common scripts directory.\n- Documentation update: content changes in SKILL.md and version bumped from 1.0.5 to 1.0.6.\n- Removed supplementary documentation: `skill-card.md` file deleted.\n- Minor adjustments to skill description and versioning to reflect latest updates.\n\nv1.0.7 | 2026-06-27T22:02:25.536Z | auto\n\n- User identity handling is now fully automatic and internal; users are no longer asked to provide open-id or personal identifiers at any stage.\n- All examples, workflow documentation, and help texts updated to remove references to user input for identity and to clarify that identity is managed internally.\n- Updated strictness of data retrieval: history report queries are always fetched from the cloud API, strictly prohibiting any local or memory-based report aggregation.\n- Removed `scripts/api_service.py` and `skill-card.md` files; streamlined codebase and documentation.\n- Refined instructions and output table requirements for historical reports.\n- General documentation overhaul for improved clarity, reformatting, and enhanced usage guidance.\n\nv1.0.6 | 2026-06-19T06:49:28.423Z | auto\n\n- Added license field (\"MIT-0\") to SKILL.md for clear open-source usage.\n- Updated version from 1.0.2 to 1.0.3 in SKILL.md.\n- Adjusted config.yaml/config.py lookup path and documentation to clarify `config.yaml` should be found at `scripts/config.yaml` in the current skill directory.\n- Removed unused or redundant file: skill-card.md.\n- Documentation and configuration clarifications, no change to core feature logic.\n\nv1.0.5 | 2026-05-28T01:05:43.998Z | auto\n\n- Major internal refactoring with directory restructuring: removed the original face_analysis module and introduced a new smyx_analysis module for analysis logic.\n- Updated configuration and utility scripts; consolidated shared code under smyx_common.\n- Modified SKILL.md, clarifying process steps and constraints, and updating supported video file limits.\n- Improved API integration and report table output format for historical analysis results.\n- Cleaned up unused files and reorganized requirements.\n\nv1.0.4 | 2026-05-14T10:50:45.977Z | auto\n\nNo changes detected in this version.\n\n- No file changes were made between the previous and current version.\n- The skill documentation and behavior remain the same.\n\nv1.0.3 | 2026-05-11T15:36:40.711Z | auto\n\nNo changes detected in this version.\n\n- Version number updated to 1.0.3, but all content remains unchanged from the previous release.\n- No file or documentation updates were made.\n\nv1.0.2 | 2026-05-11T15:30:45.050Z | auto\n\n- Improved configuration management for development and testing environments.\n- Updated config-dev.yaml, config-test.yaml, and config.yaml to better support multiple environments.\n- Made adjustments in config.py and util.py to handle the new configuration structure.\n- Minor updates in __init__.py to align with the revised configuration loading process.\n\nv1.0.1 | 2026-05-08T14:34:40.919Z | auto\n\n- Fixed version field in SKILL.md (was missing or incorrect).\n- Updated and synchronized documentation and configuration files.\n- General code and config refactoring for clarity and maintainability.\n- No changes to user-facing features or core functionality.\n\nv1.0.0 | 2026-04-14T10:35:25.265Z | auto\n\n- Initial release of contactless vital signs monitoring analysis skill.\n- Enables non-contact measurement of heart rate, respiration, blood oxygen, and HRV using only video from standard cameras.\n- Eliminates the need for any wearable devices; supports both local and network video input.\n- Strictly obtains and verifies user open-id before any analysis or report query, following a clear stepwise process.\n- Historical reports are always fetched live from the cloud API, never from local or long-term memory.\n- Provides structured analysis results and formatted report tables for health screening and remote care scenarios.\n\nArchive index:\n\nArchive v1.0.18: 31 files, 39065 bytes\n\nFiles: references/api_doc.md (703b), scripts/__init__.py (31b), scripts/config.py (680b), scripts/config.yaml (3b), scripts/contactless_vital_signs_monitoring.py (3208b), scripts/skill.py (579b), skill-card.md (2147b), SKILL.md (10461b), 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 (168b)\n\nFile v1.0.18:SKILL.md\n\n---\nname: \"contactless-vital-signs-monitoring-analysis\"\ndescription: \"Non-contact detection of heart rate, respiration, blood oxygen, and heart rate variability. No wearable devices are required; monitoring is achieved solely through camera footage. | 无感生命体征监测分析技能，非接触检测心率、呼吸、血氧、心率变异性，无需穿戴设备，通过摄像头画面即可监测\"\nversion: \"1.0.18\"\nlicense: \"MIT-0\"\n---\n\n# 💗 Passive Vital Signs Monitoring Tool | 无感生命体征监测分析工具\n\n> **智能健康/识别分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **无感生命体征监测分析工具** |\n| 🎯 核心目标 | 无感生命体征监测分析技能，非接触检测心率、呼吸、血氧、心率变异性，无需穿戴设备，通过摄像头画面即可监测 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、风险/识别结果、建议与报告链接 |\n| 🧩 场景码 | `CONTACTLESS_VITAL_SIGNS_MONITORING` |\n\nBy leveraging standard cameras—such as those on smartphones or computers—to capture subtle physiological changes\ninvisible to the naked eye (like minute skin color variations or micro head movements), and combining them with advanced\ncomputer vision and signal processing algorithms, this technology enables \"imperceptible\" monitoring of key vital\nsigns.  \nUsers are not required to wear any wristbands, patches, or sensors. Simply by facing the camera in a natural state, the\nsystem can precisely extract and analyze core health metrics—including heart rate, respiration rate, blood oxygen\nsaturation (SpO2), and heart rate variability (HRV)—within seconds to minutes.  \nThis non-contact approach not only彻底 breaks the dependence on physical contact and dedicated medical devices,\neffectively avoiding the risk of cross-infection, but also significantly enhances the convenience and comfort of health\nmonitoring, making ubiquitous health screening and remote care a reality.\n\n这项技术通过利用普通摄像头（如智能手机或电脑摄像头）捕捉面部视频中肉眼难以察觉的微小生理变化（如皮肤颜色的细微改变或微小的头部运动），结合先进的计算机视觉与信号处理算法，实现了对人体关键生命体征的“无感”监测。用户无需佩戴任何手环、贴片或传感器，只需面对摄像头保持自然状态，系统即可在数秒至数分钟内精准提取并分析出心率、呼吸频率、血氧饱和度以及心率变异性等多项核心健康数据。这种非接触式的检测方式不仅彻底打破了传统医疗监测对物理接触和专用设备的依赖，有效避免了交叉感染风险，还极大地提升了健康监测的便捷性与舒适度，让随时随地的健康筛查与远程看护成为可能\n\n## 🎬 技能演示 | Skill Demo\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过普通摄像头视频画面进行非接触生命体征监测\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 心率检测 |\n| 2 | 呼吸频率检测 |\n| 3 | 血氧估算 |\n| 4 | 心率变异性分析 |\n| 5 | 全程**无需穿戴任何设备** |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供视频需要进行非接触生命体征监测时，默认触发本技能 |\n| 🔎 明确分析意图 | 当用户明确需要无感监测、生命体征检测时，提及心率检测、呼吸监测、血氧监测、非接触监测、无感监测等关键词，并且上传了视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史监测报告、生命体征报告清单、监测报告列表、查询历史监测报告、显示所有监测报告、生命体征分析报告，查询无感生命体征监测分析报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.contactless_vital_signs_monitoring --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.contactless_vital_signs_monitoring --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 📸 监测要求 | Monitoring Requirements\n| 要求项 | 说明 |\n|---|---|\n| 人脸正对摄像头 | ，距离 30-50 厘米 |\n| 光线充足 | ，面部光照均匀，避免强光直射和阴影 |\n| 监测时长 | 推荐 10-30 秒视频，最短不低于 3 秒 |\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.contactless_vital_signs_monitoring` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--list` | 显示历史无感生命体征监测分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/contactless_vital_signs_monitoring.py`](scripts/contactless_vital_signs_monitoring.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，推荐时长 10-30 秒，最大 10MB |\n| 🧑‍⚖️ 结果性质 | **重要提示**：本分析结果仅供健康参考，不能替代专业医疗测量和医生诊断，如有异常请及时就医 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地视频\npython -m scripts.contactless_vital_signs_monitoring --input /path/to/face.mp4\n\n# 分析网络视频\npython -m scripts.contactless_vital_signs_monitoring --url https://example.com/face.mp4\n\n# 显示历史监测报告/显示监测报告清单列表/显示历史体征报告（自动触发关键词：查看历史监测报告、历史报告、监测报告清单等）\npython -m scripts.contactless_vital_signs_monitoring --list\n\n# 输出精简报告\npython -m scripts.contactless_vital_signs_monitoring --input face.mp4 --detail basic\n\n# 保存结果到文件\npython -m scripts.contactless_vital_signs_monitoring --input face.mp4 --output result.json\n```\n\nFile v1.0.18:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-contactless-vital-signs-monitoring-analysis\",\n  \"version\": \"1.0.18\",\n  \"publishedAt\": 1790562506210\n}\n\nFile v1.0.18:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放无感生命体征监测分析 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动AI分析任务\n2. `/web/ai-analysis/v2/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/ai/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_CONTACTLESS_VITAL_SIGNS_MONITORING_ANALYSIS` - 开放平台无感生命体征监测分析\n\nFile v1.0.18: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.18:scripts/config.yaml\n\n{}\n\nFile v1.0.18:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.18: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.18: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.18: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.18:skill-card.md\n\n## Description:\n\nAnalyzes camera video to estimate heart rate, respiration rate, blood oxygen saturation, and heart rate variability without a wearable device.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[18072937735](https://clawhub.ai/user/18072937735)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nUsers and health-monitoring teams can analyze authorized face videos for estimated vital signs and view structured reports or past reports. Results are for health reference, not medical diagnosis.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Face footage and inferred health metrics are sent to LifeEmergence cloud services.\n\nMitigation: Analyze only videos you are authorized to use and review the service's data-handling practices before uploading sensitive footage.\n\nRisk: The skill may silently create or reuse a persistent local identity and token-backed report history.\n\nMitigation: Review local credential and report retention before use; avoid using it where persistent identity is unacceptable.\n\nRisk: Estimated vital signs may be mistaken for clinical measurements.\n\nMitigation: Use results only as health reference; seek professional measurement and medical advice for abnormal readings.\n\n## Reference(s):\n\n- [Skill release on ClawHub](https://clawhub.ai/18072937735/skills/smyx-contactless-vital-signs-monitoring-analysis)\n- [Skill demonstration](https://lifeemergence.com/sample.html)\n- [API documentation](references/api_doc.md)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, JSON]\n\n**Output Format:** [Structured report or JSON analysis; Markdown table for report history]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include report links and optionally save results to a file]\n\n## Skill Version(s):\n\n1.0.18 (source: skill frontmatter and ClawHub release)\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.18:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.18:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.17: 31 files, 39323 bytes\n\nFiles: references/api_doc.md (703b), scripts/__init__.py (31b), scripts/config.py (680b), scripts/config.yaml (3b), scripts/contactless_vital_signs_monitoring.py (3208b), scripts/skill.py (579b), skill-card.md (2727b), SKILL.md (10461b), 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 (168b)\n\nFile v1.0.17:SKILL.md\n\n---\nname: \"contactless-vital-signs-monitoring-analysis\"\ndescription: \"Non-contact detection of heart rate, respiration, blood oxygen, and heart rate variability. No wearable devices are required; monitoring is achieved solely through camera footage. | 无感生命体征监测分析技能，非接触检测心率、呼吸、血氧、心率变异性，无需穿戴设备，通过摄像头画面即可监测\"\nversion: \"1.0.18\"\nlicense: \"MIT-0\"\n---\n\n# 💗 Passive Vital Signs Monitoring Tool | 无感生命体征监测分析工具\n\n> **智能健康/识别分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **无感生命体征监测分析工具** |\n| 🎯 核心目标 | 无感生命体征监测分析技能，非接触检测心率、呼吸、血氧、心率变异性，无需穿戴设备，通过摄像头画面即可监测 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、风险/识别结果、建议与报告链接 |\n| 🧩 场景码 | `CONTACTLESS_VITAL_SIGNS_MONITORING` |\n\nBy leveraging standard cameras—such as those on smartphones or computers—to capture subtle physiological changes\ninvisible to the naked eye (like minute skin color variations or micro head movements), and combining them with advanced\ncomputer vision and signal processing algorithms, this technology enables \"imperceptible\" monitoring of key vital\nsigns.  \nUsers are not required to wear any wristbands, patches, or sensors. Simply by facing the camera in a natural state, the\nsystem can precisely extract and analyze core health metrics—including heart rate, respiration rate, blood oxygen\nsaturation (SpO2), and heart rate variability (HRV)—within seconds to minutes.  \nThis non-contact approach not only彻底 breaks the dependence on physical contact and dedicated medical devices,\neffectively avoiding the risk of cross-infection, but also significantly enhances the convenience and comfort of health\nmonitoring, making ubiquitous health screening and remote care a reality.\n\n这项技术通过利用普通摄像头（如智能手机或电脑摄像头）捕捉面部视频中肉眼难以察觉的微小生理变化（如皮肤颜色的细微改变或微小的头部运动），结合先进的计算机视觉与信号处理算法，实现了对人体关键生命体征的“无感”监测。用户无需佩戴任何手环、贴片或传感器，只需面对摄像头保持自然状态，系统即可在数秒至数分钟内精准提取并分析出心率、呼吸频率、血氧饱和度以及心率变异性等多项核心健康数据。这种非接触式的检测方式不仅彻底打破了传统医疗监测对物理接触和专用设备的依赖，有效避免了交叉感染风险，还极大地提升了健康监测的便捷性与舒适度，让随时随地的健康筛查与远程看护成为可能\n\n## 🎬 技能演示 | Skill Demo\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过普通摄像头视频画面进行非接触生命体征监测\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 心率检测 |\n| 2 | 呼吸频率检测 |\n| 3 | 血氧估算 |\n| 4 | 心率变异性分析 |\n| 5 | 全程**无需穿戴任何设备** |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供视频需要进行非接触生命体征监测时，默认触发本技能 |\n| 🔎 明确分析意图 | 当用户明确需要无感监测、生命体征检测时，提及心率检测、呼吸监测、血氧监测、非接触监测、无感监测等关键词，并且上传了视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史监测报告、生命体征报告清单、监测报告列表、查询历史监测报告、显示所有监测报告、生命体征分析报告，查询无感生命体征监测分析报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.contactless_vital_signs_monitoring --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.contactless_vital_signs_monitoring --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 📸 监测要求 | Monitoring Requirements\n| 要求项 | 说明 |\n|---|---|\n| 人脸正对摄像头 | ，距离 30-50 厘米 |\n| 光线充足 | ，面部光照均匀，避免强光直射和阴影 |\n| 监测时长 | 推荐 10-30 秒视频，最短不低于 3 秒 |\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.contactless_vital_signs_monitoring` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--list` | 显示历史无感生命体征监测分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/contactless_vital_signs_monitoring.py`](scripts/contactless_vital_signs_monitoring.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，推荐时长 10-30 秒，最大 10MB |\n| 🧑‍⚖️ 结果性质 | **重要提示**：本分析结果仅供健康参考，不能替代专业医疗测量和医生诊断，如有异常请及时就医 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地视频\npython -m scripts.contactless_vital_signs_monitoring --input /path/to/face.mp4\n\n# 分析网络视频\npython -m scripts.contactless_vital_signs_monitoring --url https://example.com/face.mp4\n\n# 显示历史监测报告/显示监测报告清单列表/显示历史体征报告（自动触发关键词：查看历史监测报告、历史报告、监测报告清单等）\npython -m scripts.contactless_vital_signs_monitoring --list\n\n# 输出精简报告\npython -m scripts.contactless_vital_signs_monitoring --input face.mp4 --detail basic\n\n# 保存结果到文件\npython -m scripts.contactless_vital_signs_monitoring --input face.mp4 --output result.json\n```\n\nFile v1.0.17:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-contactless-vital-signs-monitoring-analysis\",\n  \"version\": \"1.0.17\",\n  \"publishedAt\": 1790145815501\n}\n\nFile v1.0.17:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放无感生命体征监测分析 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动AI分析任务\n2. `/web/ai-analysis/v2/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/ai/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_CONTACTLESS_VITAL_SIGNS_MONITORING_ANALYSIS` - 开放平台无感生命体征监测分析\n\nFile v1.0.17: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.17:scripts/config.yaml\n\n{}\n\nFile v1.0.17:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.17: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.17: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.17: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.17:skill-card.md\n\n## Description:\n\nAnalyzes camera footage to estimate heart rate, respiration, blood oxygen, and heart rate variability without wearable devices.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[18072937735](https://clawhub.ai/user/18072937735)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and agent developers use this skill to submit local or URL-based face video for non-contact vital-sign analysis and to retrieve prior cloud reports. Results are health-reference outputs and are not a substitute for professional medical measurement or diagnosis.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Sensitive face video and inferred health data may be sent to the vendor's cloud service for analysis.\n\nMitigation: Obtain explicit user consent before analysis, disclose the remote service path, and avoid submitting sensitive recordings unless the user accepts that data handling.\n\nRisk: The skill can silently create or reuse an account identity and persist account tokens locally.\n\nMitigation: Review local data and token storage before deployment, restrict filesystem access where possible, and prefer a release that makes identity creation and token persistence explicit.\n\nRisk: Cloud history lookup can retrieve prior reports associated with the resolved identity.\n\nMitigation: Limit history queries to authorized users and make report-history retrieval a deliberate, consented action.\n\nRisk: Vital-sign estimates may be interpreted as medical conclusions.\n\nMitigation: Present outputs as health-reference information only and direct users to professional medical measurement or clinical care for diagnosis or abnormal results.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/18072937735/skills/smyx-contactless-vital-signs-monitoring-analysis)\n- [Skill Demo](https://lifeemergence.com/sample.html)\n- [API Interface Documentation](references/api_doc.md)\n- [Analysis API Documentation](skills/smyx_analysis/references/api_doc.md)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, JSON, Files, Guidance]\n\n**Output Format:** [Markdown and JSON report text, with optional saved output files and report links]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include cloud report links and history-list results returned by the vendor API.]\n\n## Skill Version(s):\n\n1.0.17 (source: server release metadata; artifact frontmatter says 1.0.18)\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.17:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.17:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.16: 31 files, 39158 bytes\n\nFiles: references/api_doc.md (703b), scripts/__init__.py (31b), scripts/config.py (680b), scripts/config.yaml (3b), scripts/contactless_vital_signs_monitoring.py (3208b), scripts/skill.py (579b), skill-card.md (2331b), SKILL.md (10461b), 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 (168b)\n\nFile v1.0.16:SKILL.md\n\n---\nname: \"contactless-vital-signs-monitoring-analysis\"\ndescription: \"Non-contact detection of heart rate, respiration, blood oxygen, and heart rate variability. No wearable devices are required; monitoring is achieved solely through camera footage. | 无感生命体征监测分析技能，非接触检测心率、呼吸、血氧、心率变异性，无需穿戴设备，通过摄像头画面即可监测\"\nversion: \"1.0.16\"\nlicense: \"MIT-0\"\n---\n\n# 💗 Passive Vital Signs Monitoring Tool | 无感生命体征监测分析工具\n\n> **智能健康/识别分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **无感生命体征监测分析工具** |\n| 🎯 核心目标 | 无感生命体征监测分析技能，非接触检测心率、呼吸、血氧、心率变异性，无需穿戴设备，通过摄像头画面即可监测 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、风险/识别结果、建议与报告链接 |\n| 🧩 场景码 | `CONTACTLESS_VITAL_SIGNS_MONITORING` |\n\nBy leveraging standard cameras—such as those on smartphones or computers—to capture subtle physiological changes\ninvisible to the naked eye (like minute skin color variations or micro head movements), and combining them with advanced\ncomputer vision and signal processing algorithms, this technology enables \"imperceptible\" monitoring of key vital\nsigns.  \nUsers are not required to wear any wristbands, patches, or sensors. Simply by facing the camera in a natural state, the\nsystem can precisely extract and analyze core health metrics—including heart rate, respiration rate, blood oxygen\nsaturation (SpO2), and heart rate variability (HRV)—within seconds to minutes.  \nThis non-contact approach not only彻底 breaks the dependence on physical contact and dedicated medical devices,\neffectively avoiding the risk of cross-infection, but also significantly enhances the convenience and comfort of health\nmonitoring, making ubiquitous health screening and remote care a reality.\n\n这项技术通过利用普通摄像头（如智能手机或电脑摄像头）捕捉面部视频中肉眼难以察觉的微小生理变化（如皮肤颜色的细微改变或微小的头部运动），结合先进的计算机视觉与信号处理算法，实现了对人体关键生命体征的“无感”监测。用户无需佩戴任何手环、贴片或传感器，只需面对摄像头保持自然状态，系统即可在数秒至数分钟内精准提取并分析出心率、呼吸频率、血氧饱和度以及心率变异性等多项核心健康数据。这种非接触式的检测方式不仅彻底打破了传统医疗监测对物理接触和专用设备的依赖，有效避免了交叉感染风险，还极大地提升了健康监测的便捷性与舒适度，让随时随地的健康筛查与远程看护成为可能\n\n## 🎬 技能演示 | Skill Demo\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过普通摄像头视频画面进行非接触生命体征监测\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 心率检测 |\n| 2 | 呼吸频率检测 |\n| 3 | 血氧估算 |\n| 4 | 心率变异性分析 |\n| 5 | 全程**无需穿戴任何设备** |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供视频需要进行非接触生命体征监测时，默认触发本技能 |\n| 🔎 明确分析意图 | 当用户明确需要无感监测、生命体征检测时，提及心率检测、呼吸监测、血氧监测、非接触监测、无感监测等关键词，并且上传了视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史监测报告、生命体征报告清单、监测报告列表、查询历史监测报告、显示所有监测报告、生命体征分析报告，查询无感生命体征监测分析报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.contactless_vital_signs_monitoring --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.contactless_vital_signs_monitoring --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 📸 监测要求 | Monitoring Requirements\n| 要求项 | 说明 |\n|---|---|\n| 人脸正对摄像头 | ，距离 30-50 厘米 |\n| 光线充足 | ，面部光照均匀，避免强光直射和阴影 |\n| 监测时长 | 推荐 10-30 秒视频，最短不低于 3 秒 |\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.contactless_vital_signs_monitoring` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--list` | 显示历史无感生命体征监测分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/contactless_vital_signs_monitoring.py`](scripts/contactless_vital_signs_monitoring.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，推荐时长 10-30 秒，最大 10MB |\n| 🧑‍⚖️ 结果性质 | **重要提示**：本分析结果仅供健康参考，不能替代专业医疗测量和医生诊断，如有异常请及时就医 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地视频\npython -m scripts.contactless_vital_signs_monitoring --input /path/to/face.mp4\n\n# 分析网络视频\npython -m scripts.contactless_vital_signs_monitoring --url https://example.com/face.mp4\n\n# 显示历史监测报告/显示监测报告清单列表/显示历史体征报告（自动触发关键词：查看历史监测报告、历史报告、监测报告清单等）\npython -m scripts.contactless_vital_signs_monitoring --list\n\n# 输出精简报告\npython -m scripts.contactless_vital_signs_monitoring --input face.mp4 --detail basic\n\n# 保存结果到文件\npython -m scripts.contactless_vital_signs_monitoring --input face.mp4 --output result.json\n```\n\nFile v1.0.16:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-contactless-vital-signs-monitoring-analysis\",\n  \"version\": \"1.0.16\",\n  \"publishedAt\": 1789303054255\n}\n\nFile v1.0.16:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放无感生命体征监测分析 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动AI分析任务\n2. `/web/ai-analysis/v2/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/ai/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_CONTACTLESS_VITAL_SIGNS_MONITORING_ANALYSIS` - 开放平台无感生命体征监测分析\n\nFile v1.0.16: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.16:scripts/config.yaml\n\n{}\n\nFile v1.0.16:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.16: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.16: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.16: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.16:skill-card.md\n\n## Description:\n\nNon-contact detection of heart rate, respiration, blood oxygen, and heart rate variability from camera footage, with no wearable devices required.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[18072937735](https://clawhub.ai/user/18072937735)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to analyze uploaded or URL-based face video for contactless vital-sign indicators and to retrieve prior cloud-hosted monitoring reports. Results are health-reference outputs and are not a substitute for professional medical measurement or diagnosis.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill processes face video, cloud-hosted report history, and identity-linked health information.\n\nMitigation: Use only with appropriate consent, privacy review, and non-sensitive test data until the publisher documents data handling, retention, and user identity controls.\n\nRisk: The security evidence reports unsafe transport defaults and reusable tokens stored locally.\n\nMitigation: Require HTTPS-only service endpoints and protected credential storage before using the skill with real users or health data.\n\nRisk: Vital-sign outputs are health-reference estimates, not medical measurements or diagnosis.\n\nMitigation: Present results as informational only and route abnormal or concerning results to professional medical evaluation.\n\n## Reference(s):\n\n- [API Interface Documentation](references/api_doc.md)\n- [Analysis API Error Codes](skills/smyx_analysis/references/api_doc.md)\n- [Skill Demo](https://lifeemergence.com/sample.html)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, json, shell commands, guidance]\n\n**Output Format:** [Markdown or JSON analysis report text, with report links for historical results]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May write the returned report text to a user-specified output file.]\n\n## Skill Version(s):\n\n1.0.16 (source: frontmatter and server release evidence)\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.16:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.16:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.15: 31 files, 39370 bytes\n\nFiles: references/api_doc.md (703b), scripts/__init__.py (31b), scripts/config.py (680b), scripts/config.yaml (3b), scripts/contactless_vital_signs_monitoring.py (3208b), scripts/skill.py (579b), skill-card.md (2919b), SKILL.md (10461b), 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 (168b)\n\nFile v1.0.15:SKILL.md\n\n---\nname: \"contactless-vital-signs-monitoring-analysis\"\ndescription: \"Non-contact detection of heart rate, respiration, blood oxygen, and heart rate variability. No wearable devices are required; monitoring is achieved solely through camera footage. | 无感生命体征监测分析技能，非接触检测心率、呼吸、血氧、心率变异性，无需穿戴设备，通过摄像头画面即可监测\"\nversion: \"1.0.13\"\nlicense: \"MIT-0\"\n---\n\n# 💗 Passive Vital Signs Monitoring Tool | 无感生命体征监测分析工具\n\n> **智能健康/识别分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **无感生命体征监测分析工具** |\n| 🎯 核心目标 | 无感生命体征监测分析技能，非接触检测心率、呼吸、血氧、心率变异性，无需穿戴设备，通过摄像头画面即可监测 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、风险/识别结果、建议与报告链接 |\n| 🧩 场景码 | `CONTACTLESS_VITAL_SIGNS_MONITORING` |\n\nBy leveraging standard cameras—such as those on smartphones or computers—to capture subtle physiological changes\ninvisible to the naked eye (like minute skin color variations or micro head movements), and combining them with advanced\ncomputer vision and signal processing algorithms, this technology enables \"imperceptible\" monitoring of key vital\nsigns.  \nUsers are not required to wear any wristbands, patches, or sensors. Simply by facing the camera in a natural state, the\nsystem can precisely extract and analyze core health metrics—including heart rate, respiration rate, blood oxygen\nsaturation (SpO2), and heart rate variability (HRV)—within seconds to minutes.  \nThis non-contact approach not only彻底 breaks the dependence on physical contact and dedicated medical devices,\neffectively avoiding the risk of cross-infection, but also significantly enhances the convenience and comfort of health\nmonitoring, making ubiquitous health screening and remote care a reality.\n\n这项技术通过利用普通摄像头（如智能手机或电脑摄像头）捕捉面部视频中肉眼难以察觉的微小生理变化（如皮肤颜色的细微改变或微小的头部运动），结合先进的计算机视觉与信号处理算法，实现了对人体关键生命体征的“无感”监测。用户无需佩戴任何手环、贴片或传感器，只需面对摄像头保持自然状态，系统即可在数秒至数分钟内精准提取并分析出心率、呼吸频率、血氧饱和度以及心率变异性等多项核心健康数据。这种非接触式的检测方式不仅彻底打破了传统医疗监测对物理接触和专用设备的依赖，有效避免了交叉感染风险，还极大地提升了健康监测的便捷性与舒适度，让随时随地的健康筛查与远程看护成为可能\n\n## 🎬 技能演示 | Skill Demo\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过普通摄像头视频画面进行非接触生命体征监测\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 心率检测 |\n| 2 | 呼吸频率检测 |\n| 3 | 血氧估算 |\n| 4 | 心率变异性分析 |\n| 5 | 全程**无需穿戴任何设备** |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供视频需要进行非接触生命体征监测时，默认触发本技能 |\n| 🔎 明确分析意图 | 当用户明确需要无感监测、生命体征检测时，提及心率检测、呼吸监测、血氧监测、非接触监测、无感监测等关键词，并且上传了视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史监测报告、生命体征报告清单、监测报告列表、查询历史监测报告、显示所有监测报告、生命体征分析报告，查询无感生命体征监测分析报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.contactless_vital_signs_monitoring --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.contactless_vital_signs_monitoring --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 📸 监测要求 | Monitoring Requirements\n| 要求项 | 说明 |\n|---|---|\n| 人脸正对摄像头 | ，距离 30-50 厘米 |\n| 光线充足 | ，面部光照均匀，避免强光直射和阴影 |\n| 监测时长 | 推荐 10-30 秒视频，最短不低于 3 秒 |\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.contactless_vital_signs_monitoring` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--list` | 显示历史无感生命体征监测分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/contactless_vital_signs_monitoring.py`](scripts/contactless_vital_signs_monitoring.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，推荐时长 10-30 秒，最大 10MB |\n| 🧑‍⚖️ 结果性质 | **重要提示**：本分析结果仅供健康参考，不能替代专业医疗测量和医生诊断，如有异常请及时就医 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地视频\npython -m scripts.contactless_vital_signs_monitoring --input /path/to/face.mp4\n\n# 分析网络视频\npython -m scripts.contactless_vital_signs_monitoring --url https://example.com/face.mp4\n\n# 显示历史监测报告/显示监测报告清单列表/显示历史体征报告（自动触发关键词：查看历史监测报告、历史报告、监测报告清单等）\npython -m scripts.contactless_vital_signs_monitoring --list\n\n# 输出精简报告\npython -m scripts.contactless_vital_signs_monitoring --input face.mp4 --detail basic\n\n# 保存结果到文件\npython -m scripts.contactless_vital_signs_monitoring --input face.mp4 --output result.json\n```\n\nFile v1.0.15:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-contactless-vital-signs-monitoring-analysis\",\n  \"version\": \"1.0.15\",\n  \"publishedAt\": 1787823215894\n}\n\nFile v1.0.15:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放无感生命体征监测分析 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动AI分析任务\n2. `/web/ai-analysis/v2/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/ai/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_CONTACTLESS_VITAL_SIGNS_MONITORING_ANALYSIS` - 开放平台无感生命体征监测分析\n\nFile v1.0.15: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.15:scripts/config.yaml\n\n{}\n\nFile v1.0.15:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.15: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.15: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.15: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.15:skill-card.md\n\n## Description:\n\nNon-contact detection of heart rate, respiration, blood oxygen, and heart rate variability using camera footage without wearable devices.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[18072937735](https://clawhub.ai/user/18072937735)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to submit face-camera video files or video URLs for non-contact vital-sign analysis and to retrieve cloud-hosted analysis report history. The generated reports are for health reference and should not be treated as professional medical measurements or diagnoses.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Face or video health data and provided video URLs may be sent to the configured LifeEmergence/SMYX service.\n\nMitigation: Use the skill only with data approved for that service, verify the configured endpoint before execution, and avoid submitting sensitive videos unless the service terms and data handling are acceptable.\n\nRisk: Cloud report history is tied to an internal identity and local workspace storage may contain account identifiers or service tokens.\n\nMitigation: Restrict workspace access, review local data storage before sharing or archiving the workspace, and rotate or remove service tokens when access is no longer needed.\n\nRisk: Packaged development configuration includes private network endpoints.\n\nMitigation: Confirm production endpoints and configuration values before installation or execution in any shared or commercial environment.\n\nRisk: Vital-sign outputs are health-reference reports rather than professional medical measurements.\n\nMitigation: Present results with the medical-use limitation and direct users to professional care for concerning or abnormal findings.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/18072937735/skills/smyx-contactless-vital-signs-monitoring-analysis)\n- [Skill demo](https://lifeemergence.com/sample.html)\n- [API interface documentation](references/api_doc.md)\n- [SMYX analysis API documentation](skills/smyx_analysis/references/api_doc.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with shell command examples; execution returns JSON-like text reports and report links.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Accepts local mp4/avi/mov files up to 10MB or a video URL; history lookup returns report lists from the configured cloud API.]\n\n## Skill Version(s):\n\n1.0.15 (source: server release metadata; artifact frontmatter is 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.15:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.15:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.14: 31 files, 39243 bytes\n\nFiles: references/api_doc.md (703b), scripts/__init__.py (31b), scripts/config.py (680b), scripts/config.yaml (3b), scripts/contactless_vital_signs_monitoring.py (3208b), scripts/skill.py (579b), skill-card.md (2564b), SKILL.md (10461b), 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 (168b)\n\nFile v1.0.14:SKILL.md\n\n---\nname: \"contactless-vital-signs-monitoring-analysis\"\ndescription: \"Non-contact detection of heart rate, respiration, blood oxygen, and heart rate variability. No wearable devices are required; monitoring is achieved solely through camera footage. | 无感生命体征监测分析技能，非接触检测心率、呼吸、血氧、心率变异性，无需穿戴设备，通过摄像头画面即可监测\"\nversion: \"1.0.13\"\nlicense: \"MIT-0\"\n---\n\n# 💗 Passive Vital Signs Monitoring Tool | 无感生命体征监测分析工具\n\n> **智能健康/识别分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **无感生命体征监测分析工具** |\n| 🎯 核心目标 | 无感生命体征监测分析技能，非接触检测心率、呼吸、血氧、心率变异性，无需穿戴设备，通过摄像头画面即可监测 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、风险/识别结果、建议与报告链接 |\n| 🧩 场景码 | `CONTACTLESS_VITAL_SIGNS_MONITORING` |\n\nBy leveraging standard cameras—such as those on smartphones or computers—to capture subtle physiological changes\ninvisible to the naked eye (like minute skin color variations or micro head movements), and combining them with advanced\ncomputer vision and signal processing algorithms, this technology enables \"imperceptible\" monitoring of key vital\nsigns.  \nUsers are not required to wear any wristbands, patches, or sensors. Simply by facing the camera in a natural state, the\nsystem can precisely extract and analyze core health metrics—including heart rate, respiration rate, blood oxygen\nsaturation (SpO2), and heart rate variability (HRV)—within seconds to minutes.  \nThis non-contact approach not only彻底 breaks the dependence on physical contact and dedicated medical devices,\neffectively avoiding the risk of cross-infection, but also significantly enhances the convenience and comfort of health\nmonitoring, making ubiquitous health screening and remote care a reality.\n\n这项技术通过利用普通摄像头（如智能手机或电脑摄像头）捕捉面部视频中肉眼难以察觉的微小生理变化（如皮肤颜色的细微改变或微小的头部运动），结合先进的计算机视觉与信号处理算法，实现了对人体关键生命体征的“无感”监测。用户无需佩戴任何手环、贴片或传感器，只需面对摄像头保持自然状态，系统即可在数秒至数分钟内精准提取并分析出心率、呼吸频率、血氧饱和度以及心率变异性等多项核心健康数据。这种非接触式的检测方式不仅彻底打破了传统医疗监测对物理接触和专用设备的依赖，有效避免了交叉感染风险，还极大地提升了健康监测的便捷性与舒适度，让随时随地的健康筛查与远程看护成为可能\n\n## 🎬 技能演示 | Skill Demo\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过普通摄像头视频画面进行非接触生命体征监测\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 心率检测 |\n| 2 | 呼吸频率检测 |\n| 3 | 血氧估算 |\n| 4 | 心率变异性分析 |\n| 5 | 全程**无需穿戴任何设备** |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供视频需要进行非接触生命体征监测时，默认触发本技能 |\n| 🔎 明确分析意图 | 当用户明确需要无感监测、生命体征检测时，提及心率检测、呼吸监测、血氧监测、非接触监测、无感监测等关键词，并且上传了视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史监测报告、生命体征报告清单、监测报告列表、查询历史监测报告、显示所有监测报告、生命体征分析报告，查询无感生命体征监测分析报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.contactless_vital_signs_monitoring --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.contactless_vital_signs_monitoring --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 📸 监测要求 | Monitoring Requirements\n| 要求项 | 说明 |\n|---|---|\n| 人脸正对摄像头 | ，距离 30-50 厘米 |\n| 光线充足 | ，面部光照均匀，避免强光直射和阴影 |\n| 监测时长 | 推荐 10-30 秒视频，最短不低于 3 秒 |\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.contactless_vital_signs_monitoring` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--list` | 显示历史无感生命体征监测分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/contactless_vital_signs_monitoring.py`](scripts/contactless_vital_signs_monitoring.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，推荐时长 10-30 秒，最大 10MB |\n| 🧑‍⚖️ 结果性质 | **重要提示**：本分析结果仅供健康参考，不能替代专业医疗测量和医生诊断，如有异常请及时就医 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地视频\npython -m scripts.contactless_vital_signs_monitoring --input /path/to/face.mp4\n\n# 分析网络视频\npython -m scripts.contactless_vital_signs_monitoring --url https://example.com/face.mp4\n\n# 显示历史监测报告/显示监测报告清单列表/显示历史体征报告（自动触发关键词：查看历史监测报告、历史报告、监测报告清单等）\npython -m scripts.contactless_vital_signs_monitoring --list\n\n# 输出精简报告\npython -m scripts.contactless_vital_signs_monitoring --input face.mp4 --detail basic\n\n# 保存结果到文件\npython -m scripts.contactless_vital_signs_monitoring --input face.mp4 --output result.json\n```\n\nFile v1.0.14:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-contactless-vital-signs-monitoring-analysis\",\n  \"version\": \"1.0.14\",\n  \"publishedAt\": 1787484808162\n}\n\nFile v1.0.14:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放无感生命体征监测分析 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动AI分析任务\n2. `/web/ai-analysis/v2/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/ai/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_CONTACTLESS_VITAL_SIGNS_MONITORING_ANALYSIS` - 开放平台无感生命体征监测分析\n\nFile v1.0.14: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.14:scripts/config.yaml\n\n{}\n\nFile v1.0.14:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.14: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.14: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.14: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.14:skill-card.md\n\n## Description:\n\nNon-contact detection of heart rate, respiration, blood oxygen, and heart rate variability from camera footage, with structured report output and history lookup.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[18072937735](https://clawhub.ai/user/18072937735)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, developers, and care or wellness teams use this skill to analyze face video from a local file or URL for non-contact vital-sign estimates and to retrieve prior cloud reports. Results are for health reference and should not replace professional medical measurement or diagnosis.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill sends face/video health data to the Lifeemergence cloud service for analysis and report retrieval.\n\nMitigation: Use only with appropriate consent and confirm the publisher's retention, deletion, access-control, and data-handling terms before processing sensitive footage.\n\nRisk: Reports are associated with an automatically managed identity and account tokens may be stored locally.\n\nMitigation: Review local token storage and identity behavior before installation, and avoid shared environments unless account isolation is understood.\n\nRisk: Vital-sign analysis output is health-related and may be inaccurate or incomplete.\n\nMitigation: Treat results as health reference only and direct users to professional medical measurement or diagnosis for clinical decisions.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/18072937735/skills/smyx-contactless-vital-signs-monitoring-analysis)\n- [Publisher Profile](https://clawhub.ai/user/18072937735)\n- [Skill Demo](https://lifeemergence.com/sample.html)\n- [API 接口文档](artifact/references/api_doc.md)\n- [API接口文档](artifact/skills/smyx_analysis/references/api_doc.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, json, shell commands, guidance]\n\n**Output Format:** [Markdown or JSON analysis report with report links; Markdown table for history lookup]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May write results to a local output file when requested.]\n\n## Skill Version(s):\n\n1.0.14 (source: server release metadata; artifact frontmatter says 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.14:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.14:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.13: 31 files, 39202 bytes\n\nFiles: references/api_doc.md (703b), scripts/__init__.py (31b), scripts/config.py (680b), scripts/config.yaml (3b), scripts/contactless_vital_signs_monitoring.py (3208b), scripts/skill.py (579b), skill-card.md (2462b), SKILL.md (10461b), 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 (168b)\n\nFile v1.0.13:SKILL.md\n\n---\nname: \"contactless-vital-signs-monitoring-analysis\"\ndescription: \"Non-contact detection of heart rate, respiration, blood oxygen, and heart rate variability. No wearable devices are required; monitoring is achieved solely through camera footage. | 无感生命体征监测分析技能，非接触检测心率、呼吸、血氧、心率变异性，无需穿戴设备，通过摄像头画面即可监测\"\nversion: \"1.0.11\"\nlicense: \"MIT-0\"\n---\n\n# 💗 Passive Vital Signs Monitoring Tool | 无感生命体征监测分析工具\n\n> **智能健康/识别分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **无感生命体征监测分析工具** |\n| 🎯 核心目标 | 无感生命体征监测分析技能，非接触检测心率、呼吸、血氧、心率变异性，无需穿戴设备，通过摄像头画面即可监测 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、风险/识别结果、建议与报告链接 |\n| 🧩 场景码 | `CONTACTLESS_VITAL_SIGNS_MONITORING` |\n\nBy leveraging standard cameras—such as those on smartphones or computers—to capture subtle physiological changes\ninvisible to the naked eye (like minute skin color variations or micro head movements), and combining them with advanced\ncomputer vision and signal processing algorithms, this technology enables \"imperceptible\" monitoring of key vital\nsigns.  \nUsers are not required to wear any wristbands, patches, or sensors. Simply by facing the camera in a natural state, the\nsystem can precisely extract and analyze core health metrics—including heart rate, respiration rate, blood oxygen\nsaturation (SpO2), and heart rate variability (HRV)—within seconds to minutes.  \nThis non-contact approach not only彻底 breaks the dependence on physical contact and dedicated medical devices,\neffectively avoiding the risk of cross-infection, but also significantly enhances the convenience and comfort of health\nmonitoring, making ubiquitous health screening and remote care a reality.\n\n这项技术通过利用普通摄像头（如智能手机或电脑摄像头）捕捉面部视频中肉眼难以察觉的微小生理变化（如皮肤颜色的细微改变或微小的头部运动），结合先进的计算机视觉与信号处理算法，实现了对人体关键生命体征的“无感”监测。用户无需佩戴任何手环、贴片或传感器，只需面对摄像头保持自然状态，系统即可在数秒至数分钟内精准提取并分析出心率、呼吸频率、血氧饱和度以及心率变异性等多项核心健康数据。这种非接触式的检测方式不仅彻底打破了传统医疗监测对物理接触和专用设备的依赖，有效避免了交叉感染风险，还极大地提升了健康监测的便捷性与舒适度，让随时随地的健康筛查与远程看护成为可能\n\n## 🎬 技能演示 | Skill Demo\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过普通摄像头视频画面进行非接触生命体征监测\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 心率检测 |\n| 2 | 呼吸频率检测 |\n| 3 | 血氧估算 |\n| 4 | 心率变异性分析 |\n| 5 | 全程**无需穿戴任何设备** |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供视频需要进行非接触生命体征监测时，默认触发本技能 |\n| 🔎 明确分析意图 | 当用户明确需要无感监测、生命体征检测时，提及心率检测、呼吸监测、血氧监测、非接触监测、无感监测等关键词，并且上传了视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史监测报告、生命体征报告清单、监测报告列表、查询历史监测报告、显示所有监测报告、生命体征分析报告，查询无感生命体征监测分析报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.contactless_vital_signs_monitoring --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.contactless_vital_signs_monitoring --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 📸 监测要求 | Monitoring Requirements\n| 要求项 | 说明 |\n|---|---|\n| 人脸正对摄像头 | ，距离 30-50 厘米 |\n| 光线充足 | ，面部光照均匀，避免强光直射和阴影 |\n| 监测时长 | 推荐 10-30 秒视频，最短不低于 3 秒 |\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.contactless_vital_signs_monitoring` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--list` | 显示历史无感生命体征监测分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/contactless_vital_signs_monitoring.py`](scripts/contactless_vital_signs_monitoring.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，推荐时长 10-30 秒，最大 10MB |\n| 🧑‍⚖️ 结果性质 | **重要提示**：本分析结果仅供健康参考，不能替代专业医疗测量和医生诊断，如有异常请及时就医 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地视频\npython -m scripts.contactless_vital_signs_monitoring --input /path/to/face.mp4\n\n# 分析网络视频\npython -m scripts.contactless_vital_signs_monitoring --url https://example.com/face.mp4\n\n# 显示历史监测报告/显示监测报告清单列表/显示历史体征报告（自动触发关键词：查看历史监测报告、历史报告、监测报告清单等）\npython -m scripts.contactless_vital_signs_monitoring --list\n\n# 输出精简报告\npython -m scripts.contactless_vital_signs_monitoring --input face.mp4 --detail basic\n\n# 保存结果到文件\npython -m scripts.contactless_vital_signs_monitoring --input face.mp4 --output result.json\n```\n\nFile v1.0.13:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-contactless-vital-signs-monitoring-analysis\",\n  \"version\": \"1.0.13\",\n  \"publishedAt\": 1786454319314\n}\n\nFile v1.0.13:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放无感生命体征监测分析 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动AI分析任务\n2. `/web/ai-analysis/v2/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/ai/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_CONTACTLESS_VITAL_SIGNS_MONITORING_ANALYSIS` - 开放平台无感生命体征监测分析\n\nFile v1.0.13: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.13:scripts/config.yaml\n\n{}\n\nFile v1.0.13:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.13: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.13: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.13: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.13:skill-card.md\n\n## Description:\n\nNon-contact detection of heart rate, respiration, blood oxygen, and heart rate variability from camera footage, without wearable devices.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[18072937735](https://clawhub.ai/user/18072937735)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to analyze local or remote face video for non-contact vital-sign estimates, structured health-reference reports, and cloud-hosted history lookup.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill sends face/video health data to a vendor cloud service for analysis.\n\nMitigation: Use only with a clear privacy notice and explicit consent for health-video upload and cloud processing.\n\nRisk: The skill silently creates or reuses an internal identity and keeps local token or profile records.\n\nMitigation: Provide a way to inspect or delete local identity data before deployment.\n\nRisk: The skill can retrieve cloud history reports tied to the internal identity.\n\nMitigation: Disclose history lookup behavior and limit use to contexts where users expect cloud report retrieval.\n\nRisk: The security verdict is suspicious because user-facing disclosure is weak for identity, storage, and cloud history behavior.\n\nMitigation: Review the skill before installation and install only where the privacy and consent model is acceptable.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/18072937735/skills/smyx-contactless-vital-signs-monitoring-analysis)\n- [Skill demo](https://lifeemergence.com/sample.html)\n- [API interface documentation](references/api_doc.md)\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 output, with optional saved text output]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include progress messages, vital-sign analysis results, risk or recommendation text, report links, and Markdown tables for history results.]\n\n## Skill Version(s):\n\n1.0.13 (source: server release evidence; artifact frontmatter says 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.13:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.13:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.12: 31 files, 39478 bytes\n\nFiles: references/api_doc.md (703b), scripts/__init__.py (31b), scripts/config.py (680b), scripts/config.yaml (3b), scripts/contactless_vital_signs_monitoring.py (3208b), scripts/skill.py (579b), skill-card.md (2958b), SKILL.md (10461b), 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 (168b)\n\nFile v1.0.12:SKILL.md\n\n---\nname: \"contactless-vital-signs-monitoring-analysis\"\ndescription: \"Non-contact detection of heart rate, respiration, blood oxygen, and heart rate variability. No wearable devices are required; monitoring is achieved solely through camera footage. | 无感生命体征监测分析技能，非接触检测心率、呼吸、血氧、心率变异性，无需穿戴设备，通过摄像头画面即可监测\"\nversion: \"1.0.10\"\nlicense: \"MIT-0\"\n---\n\n# 💗 Passive Vital Signs Monitoring Tool | 无感生命体征监测分析工具\n\n> **智能健康/识别分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **无感生命体征监测分析工具** |\n| 🎯 核心目标 | 无感生命体征监测分析技能，非接触检测心率、呼吸、血氧、心率变异性，无需穿戴设备，通过摄像头画面即可监测 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、风险/识别结果、建议与报告链接 |\n| 🧩 场景码 | `CONTACTLESS_VITAL_SIGNS_MONITORING` |\n\nBy leveraging standard cameras—such as those on smartphones or computers—to capture subtle physiological changes\ninvisible to the naked eye (like minute skin color variations or micro head movements), and combining them with advanced\ncomputer vision and signal processing algorithms, this technology enables \"imperceptible\" monitoring of key vital\nsigns.  \nUsers are not required to wear any wristbands, patches, or sensors. Simply by facing the camera in a natural state, the\nsystem can precisely extract and analyze core health metrics—including heart rate, respiration rate, blood oxygen\nsaturation (SpO2), and heart rate variability (HRV)—within seconds to minutes.  \nThis non-contact approach not only彻底 breaks the dependence on physical contact and dedicated medical devices,\neffectively avoiding the risk of cross-infection, but also significantly enhances the convenience and comfort of health\nmonitoring, making ubiquitous health screening and remote care a reality.\n\n这项技术通过利用普通摄像头（如智能手机或电脑摄像头）捕捉面部视频中肉眼难以察觉的微小生理变化（如皮肤颜色的细微改变或微小的头部运动），结合先进的计算机视觉与信号处理算法，实现了对人体关键生命体征的“无感”监测。用户无需佩戴任何手环、贴片或传感器，只需面对摄像头保持自然状态，系统即可在数秒至数分钟内精准提取并分析出心率、呼吸频率、血氧饱和度以及心率变异性等多项核心健康数据。这种非接触式的检测方式不仅彻底打破了传统医疗监测对物理接触和专用设备的依赖，有效避免了交叉感染风险，还极大地提升了健康监测的便捷性与舒适度，让随时随地的健康筛查与远程看护成为可能\n\n## 🎬 技能演示 | Skill Demo\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过普通摄像头视频画面进行非接触生命体征监测\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 心率检测 |\n| 2 | 呼吸频率检测 |\n| 3 | 血氧估算 |\n| 4 | 心率变异性分析 |\n| 5 | 全程**无需穿戴任何设备** |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供视频需要进行非接触生命体征监测时，默认触发本技能 |\n| 🔎 明确分析意图 | 当用户明确需要无感监测、生命体征检测时，提及心率检测、呼吸监测、血氧监测、非接触监测、无感监测等关键词，并且上传了视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史监测报告、生命体征报告清单、监测报告列表、查询历史监测报告、显示所有监测报告、生命体征分析报告，查询无感生命体征监测分析报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.contactless_vital_signs_monitoring --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.contactless_vital_signs_monitoring --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 📸 监测要求 | Monitoring Requirements\n| 要求项 | 说明 |\n|---|---|\n| 人脸正对摄像头 | ，距离 30-50 厘米 |\n| 光线充足 | ，面部光照均匀，避免强光直射和阴影 |\n| 监测时长 | 推荐 10-30 秒视频，最短不低于 3 秒 |\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.contactless_vital_signs_monitoring` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--list` | 显示历史无感生命体征监测分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/contactless_vital_signs_monitoring.py`](scripts/contactless_vital_signs_monitoring.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，推荐时长 10-30 秒，最大 10MB |\n| 🧑‍⚖️ 结果性质 | **重要提示**：本分析结果仅供健康参考，不能替代专业医疗测量和医生诊断，如有异常请及时就医 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地视频\npython -m scripts.contactless_vital_signs_monitoring --input /path/to/face.mp4\n\n# 分析网络视频\npython -m scripts.contactless_vital_signs_monitoring --url https://example.com/face.mp4\n\n# 显示历史监测报告/显示监测报告清单列表/显示历史体征报告（自动触发关键词：查看历史监测报告、历史报告、监测报告清单等）\npython -m scripts.contactless_vital_signs_monitoring --list\n\n# 输出精简报告\npython -m scripts.contactless_vital_signs_monitoring --input face.mp4 --detail basic\n\n# 保存结果到文件\npython -m scripts.contactless_vital_signs_monitoring --input face.mp4 --output result.json\n```\n\nFile v1.0.12:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-contactless-vital-signs-monitoring-analysis\",\n  \"version\": \"1.0.12\",\n  \"publishedAt\": 1785807821732\n}\n\nFile v1.0.12:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放无感生命体征监测分析 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动AI分析任务\n2. `/web/ai-analysis/v2/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/ai/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_CONTACTLESS_VITAL_SIGNS_MONITORING_ANALYSIS` - 开放平台无感生命体征监测分析\n\nFile v1.0.12: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.12:scripts/config.yaml\n\n{}\n\nFile v1.0.12:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.12: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.12: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.12: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.12:skill-card.md\n\n## Description: <br>\nNon-contact detection of heart rate, respiration, blood oxygen, and heart rate variability. No wearable devices are required; monitoring is achieved solely through camera footage. | 无感生命体征监测分析技能，非接触检测心率、呼吸、血氧、心率变异性，无需穿戴设备，通过摄像头画面即可监测 <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[18072937735](https://clawhub.ai/user/18072937735) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users, developers, and health-support workflows can use this skill to analyze camera video for non-contact heart rate, respiration, blood oxygen, and heart-rate-variability reporting. Results should be treated as health reference information, not as a replacement for professional medical measurement or diagnosis. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill sends face or video footage, derived vital-sign information, URLs, and internally generated identity data to a third-party cloud service. <br>\nMitigation: Use it only with informed consent and after reviewing the service's privacy, retention, account, and deletion practices. <br>\nRisk: The security verdict is suspicious because the skill performs sensitive health-data processing with silent identity creation, token persistence, and cloud history access. <br>\nMitigation: Review the security summary and guidance before installation, restrict use with sensitive data, and avoid relying on outputs for medical decisions. <br>\nRisk: Vital-sign estimates from camera footage may be unsuitable for diagnosis or emergency decisions. <br>\nMitigation: Treat outputs as health reference information and direct users to professional medical measurement or care for abnormal or urgent results. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/18072937735/skills/smyx-contactless-vital-signs-monitoring-analysis) <br>\n- [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 and JSON-style structured analysis text with report links] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May save output to a file when an output path is provided.] <br>\n\n## Skill Version(s): <br>\n1.0.12 (source: server release metadata; SKILL.md frontmatter says 1.0.10) <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.12:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.12:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.11: 31 files, 39206 bytes\n\nFiles: references/api_doc.md (703b), scripts/__init__.py (31b), scripts/config.py (680b), scripts/config.yaml (3b), scripts/contactless_vital_signs_monitoring.py (3208b), scripts/skill.py (579b), skill-card.md (2569b), SKILL.md (10460b), 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 (168b)\n\nFile v1.0.11:SKILL.md\n\n---\nname: \"contactless-vital-signs-monitoring-analysis\"\ndescription: \"Non-contact detection of heart rate, respiration, blood oxygen, and heart rate variability. No wearable devices are required; monitoring is achieved solely through camera footage. | 无感生命体征监测分析技能，非接触检测心率、呼吸、血氧、心率变异性，无需穿戴设备，通过摄像头画面即可监测\"\nversion: \"1.0.9\"\nlicense: \"MIT-0\"\n---\n\n# 💗 Passive Vital Signs Monitoring Tool | 无感生命体征监测分析工具\n\n> **智能健康/识别分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **无感生命体征监测分析工具** |\n| 🎯 核心目标 | 无感生命体征监测分析技能，非接触检测心率、呼吸、血氧、心率变异性，无需穿戴设备，通过摄像头画面即可监测 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、风险/识别结果、建议与报告链接 |\n| 🧩 场景码 | `CONTACTLESS_VITAL_SIGNS_MONITORING` |\n\nBy leveraging standard cameras—such as those on smartphones or computers—to capture subtle physiological changes\ninvisible to the naked eye (like minute skin color variations or micro head movements), and combining them with advanced\ncomputer vision and signal processing algorithms, this technology enables \"imperceptible\" monitoring of key vital\nsigns.  \nUsers are not required to wear any wristbands, patches, or sensors. Simply by facing the camera in a natural state, the\nsystem can precisely extract and analyze core health metrics—including heart rate, respiration rate, blood oxygen\nsaturation (SpO2), and heart rate variability (HRV)—within seconds to minutes.  \nThis non-contact approach not only彻底 breaks the dependence on physical contact and dedicated medical devices,\neffectively avoiding the risk of cross-infection, but also significantly enhances the convenience and comfort of health\nmonitoring, making ubiquitous health screening and remote care a reality.\n\n这项技术通过利用普通摄像头（如智能手机或电脑摄像头）捕捉面部视频中肉眼难以察觉的微小生理变化（如皮肤颜色的细微改变或微小的头部运动），结合先进的计算机视觉与信号处理算法，实现了对人体关键生命体征的“无感”监测。用户无需佩戴任何手环、贴片或传感器，只需面对摄像头保持自然状态，系统即可在数秒至数分钟内精准提取并分析出心率、呼吸频率、血氧饱和度以及心率变异性等多项核心健康数据。这种非接触式的检测方式不仅彻底打破了传统医疗监测对物理接触和专用设备的依赖，有效避免了交叉感染风险，还极大地提升了健康监测的便捷性与舒适度，让随时随地的健康筛查与远程看护成为可能\n\n## 🎬 技能演示 | Skill Demo\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过普通摄像头视频画面进行非接触生命体征监测\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 心率检测 |\n| 2 | 呼吸频率检测 |\n| 3 | 血氧估算 |\n| 4 | 心率变异性分析 |\n| 5 | 全程**无需穿戴任何设备** |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供视频需要进行非接触生命体征监测时，默认触发本技能 |\n| 🔎 明确分析意图 | 当用户明确需要无感监测、生命体征检测时，提及心率检测、呼吸监测、血氧监测、非接触监测、无感监测等关键词，并且上传了视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史监测报告、生命体征报告清单、监测报告列表、查询历史监测报告、显示所有监测报告、生命体征分析报告，查询无感生命体征监测分析报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.contactless_vital_signs_monitoring --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.contactless_vital_signs_monitoring --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 📸 监测要求 | Monitoring Requirements\n| 要求项 | 说明 |\n|---|---|\n| 人脸正对摄像头 | ，距离 30-50 厘米 |\n| 光线充足 | ，面部光照均匀，避免强光直射和阴影 |\n| 监测时长 | 推荐 10-30 秒视频，最短不低于 3 秒 |\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.contactless_vital_signs_monitoring` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--list` | 显示历史无感生命体征监测分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/contactless_vital_signs_monitoring.py`](scripts/contactless_vital_signs_monitoring.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，推荐时长 10-30 秒，最大 10MB |\n| 🧑‍⚖️ 结果性质 | **重要提示**：本分析结果仅供健康参考，不能替代专业医疗测量和医生诊断，如有异常请及时就医 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地视频\npython -m scripts.contactless_vital_signs_monitoring --input /path/to/face.mp4\n\n# 分析网络视频\npython -m scripts.contactless_vital_signs_monitoring --url https://example.com/face.mp4\n\n# 显示历史监测报告/显示监测报告清单列表/显示历史体征报告（自动触发关键词：查看历史监测报告、历史报告、监测报告清单等）\npython -m scripts.contactless_vital_signs_monitoring --list\n\n# 输出精简报告\npython -m scripts.contactless_vital_signs_monitoring --input face.mp4 --detail basic\n\n# 保存结果到文件\npython -m scripts.contactless_vital_signs_monitoring --input face.mp4 --output result.json\n```\n\nFile v1.0.11:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-contactless-vital-signs-monitoring-analysis\",\n  \"version\": \"1.0.11\",\n  \"publishedAt\": 1785328780089\n}\n\nFile v1.0.11:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放无感生命体征监测分析 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动AI分析任务\n2. `/web/ai-analysis/v2/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/ai/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_CONTACTLESS_VITAL_SIGNS_MONITORING_ANALYSIS` - 开放平台无感生命体征监测分析\n\nFile v1.0.11: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.11:scripts/config.yaml\n\n{}\n\nFile v1.0.11:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.11: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.11: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.11: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.11:skill-card.md\n\n## Description: <br>\nAnalyzes camera footage or video URLs for contactless estimates of heart rate, respiration, blood oxygen, and heart rate variability, returning structured reports and report links. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[18072937735](https://clawhub.ai/user/18072937735) <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 submit face-oriented video or a video URL to a cloud service for contactless vital-sign analysis and to retrieve prior analysis reports. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Sensitive face or video data and inferred vital-sign information are sent to configured LifeEmergence cloud services. <br>\nMitigation: Use only with informed consent, approved data handling, and a reviewed cloud-service configuration; do not treat outputs as professional medical measurements or diagnosis. <br>\nRisk: The skill can silently create or reuse account identities and store tokens in the workspace data directory. <br>\nMitigation: Review workspace data storage before deployment, isolate workspaces by user or project, and remove or rotate local tokens when access should end. <br>\nRisk: History queries can retrieve cloud reports associated with the active or default local identity. <br>\nMitigation: Use separate identities for separate users or projects and review report-access expectations before enabling history lookup. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/18072937735/skills/smyx-contactless-vital-signs-monitoring-analysis) <br>\n- [Skill Demo](https://lifeemergence.com/sample.html) <br>\n- [API Interface Documentation](references/api_doc.md) <br>\n- [Analysis API Error Codes](skills/smyx_analysis/references/api_doc.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, JSON] <br>\n**Output Format:** [JSON or Markdown-formatted text with analysis results and report links] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May save returned report text to a user-specified output file.] <br>\n\n## Skill Version(s): <br>\n1.0.11 (source: server release evidence; artifact frontmatter lists 1.0.9) <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.11:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.11:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.10: 31 files, 39213 bytes\n\nFiles: references/api_doc.md (703b), scripts/__init__.py (31b), scripts/config.py (680b), scripts/config.yaml (3b), scripts/contactless_vital_signs_monitoring.py (3208b), scripts/skill.py (579b), skill-card.md (2631b), SKILL.md (10460b), 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 (168b)\n\nFile v1.0.10:SKILL.md\n\n---\nname: \"contactless-vital-signs-monitoring-analysis\"\ndescription: \"Non-contact detection of heart rate, respiration, blood oxygen, and heart rate variability. No wearable devices are required; monitoring is achieved solely through camera footage. | 无感生命体征监测分析技能，非接触检测心率、呼吸、血氧、心率变异性，无需穿戴设备，通过摄像头画面即可监测\"\nversion: \"1.0.7\"\nlicense: \"MIT-0\"\n---\n\n# 💗 Passive Vital Signs Monitoring Tool | 无感生命体征监测分析工具\n\n> **智能健康/识别分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **无感生命体征监测分析工具** |\n| 🎯 核心目标 | 无感生命体征监测分析技能，非接触检测心率、呼吸、血氧、心率变异性，无需穿戴设备，通过摄像头画面即可监测 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、风险/识别结果、建议与报告链接 |\n| 🧩 场景码 | `CONTACTLESS_VITAL_SIGNS_MONITORING` |\n\nBy leveraging standard cameras—such as those on smartphones or computers—to capture subtle physiological changes\ninvisible to the naked eye (like minute skin color variations or micro head movements), and combining them with advanced\ncomputer vision and signal processing algorithms, this technology enables \"imperceptible\" monitoring of key vital\nsigns.  \nUsers are not required to wear any wristbands, patches, or sensors. Simply by facing the camera in a natural state, the\nsystem can precisely extract and analyze core health metrics—including heart rate, respiration rate, blood oxygen\nsaturation (SpO2), and heart rate variability (HRV)—within seconds to minutes.  \nThis non-contact approach not only彻底 breaks the dependence on physical contact and dedicated medical devices,\neffectively avoiding the risk of cross-infection, but also significantly enhances the convenience and comfort of health\nmonitoring, making ubiquitous health screening and remote care a reality.\n\n这项技术通过利用普通摄像头（如智能手机或电脑摄像头）捕捉面部视频中肉眼难以察觉的微小生理变化（如皮肤颜色的细微改变或微小的头部运动），结合先进的计算机视觉与信号处理算法，实现了对人体关键生命体征的“无感”监测。用户无需佩戴任何手环、贴片或传感器，只需面对摄像头保持自然状态，系统即可在数秒至数分钟内精准提取并分析出心率、呼吸频率、血氧饱和度以及心率变异性等多项核心健康数据。这种非接触式的检测方式不仅彻底打破了传统医疗监测对物理接触和专用设备的依赖，有效避免了交叉感染风险，还极大地提升了健康监测的便捷性与舒适度，让随时随地的健康筛查与远程看护成为可能\n\n## 🎬 技能演示 | Skill Demo\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过普通摄像头视频画面进行非接触生命体征监测\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 心率检测 |\n| 2 | 呼吸频率检测 |\n| 3 | 血氧估算 |\n| 4 | 心率变异性分析 |\n| 5 | 全程**无需穿戴任何设备** |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供视频需要进行非接触生命体征监测时，默认触发本技能 |\n| 🔎 明确分析意图 | 当用户明确需要无感监测、生命体征检测时，提及心率检测、呼吸监测、血氧监测、非接触监测、无感监测等关键词，并且上传了视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史监测报告、生命体征报告清单、监测报告列表、查询历史监测报告、显示所有监测报告、生命体征分析报告，查询无感生命体征监测分析报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.contactless_vital_signs_monitoring --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.contactless_vital_signs_monitoring --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 📸 监测要求 | Monitoring Requirements\n| 要求项 | 说明 |\n|---|---|\n| 人脸正对摄像头 | ，距离 30-50 厘米 |\n| 光线充足 | ，面部光照均匀，避免强光直射和阴影 |\n| 监测时长 | 推荐 10-30 秒视频，最短不低于 3 秒 |\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.contactless_vital_signs_monitoring` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--list` | 显示历史无感生命体征监测分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/contactless_vital_signs_monitoring.py`](scripts/contactless_vital_signs_monitoring.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，推荐时长 10-30 秒，最大 10MB |\n| 🧑‍⚖️ 结果性质 | **重要提示**：本分析结果仅供健康参考，不能替代专业医疗测量和医生诊断，如有异常请及时就医 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地视频\npython -m scripts.contactless_vital_signs_monitoring --input /path/to/face.mp4\n\n# 分析网络视频\npython -m scripts.contactless_vital_signs_monitoring --url https://example.com/face.mp4\n\n# 显示历史监测报告/显示监测报告清单列表/显示历史体征报告（自动触发关键词：查看历史监测报告、历史报告、监测报告清单等）\npython -m scripts.contactless_vital_signs_monitoring --list\n\n# 输出精简报告\npython -m scripts.contactless_vital_signs_monitoring --input face.mp4 --detail basic\n\n# 保存结果到文件\npython -m scripts.contactless_vital_signs_monitoring --input face.mp4 --output result.json\n```\n\nFile v1.0.10:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-contactless-vital-signs-monitoring-analysis\",\n  \"version\": \"1.0.10\",\n  \"publishedAt\": 1784110470227\n}\n\nFile v1.0.10:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放无感生命体征监测分析 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动AI分析任务\n2. `/web/ai-analysis/v2/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/ai/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_CONTACTLESS_VITAL_SIGNS_MONITORING_ANALYSIS` - 开放平台无感生命体征监测分析\n\nFile v1.0.10: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.10:scripts/config.yaml\n\n{}\n\nFile v1.0.10:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.10: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.10: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.10: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.10:skill-card.md\n\n## Description: <br>\nNon-contact detection of heart rate, respiration, blood oxygen, and heart rate variability using camera footage without wearable devices. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[18072937735](https://clawhub.ai/user/18072937735) <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 face video or image inputs for contactless vital-sign estimates and to retrieve prior monitoring reports. Results are informational health references and are not a substitute for professional medical measurement or diagnosis. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Face/video health data and user-linked identifiers may be sent to the provider's cloud service. <br>\nMitigation: Use only with appropriate consent and review the provider's privacy, retention, and data-handling practices before submitting sensitive footage. <br>\nRisk: The skill can create or reuse local identity state and store tokens for future report access. <br>\nMitigation: Run in an environment where local credential and identity state can be inspected, protected, and removed when access is no longer needed. <br>\nRisk: Vital-sign analysis results may be mistaken for medical advice. <br>\nMitigation: Present results as informational health references only and direct users to professional medical measurement or diagnosis for health decisions. <br>\n\n\n## Reference(s): <br>\n- [API Interface Documentation](references/api_doc.md) <br>\n- [Analysis API Documentation](skills/smyx_analysis/references/api_doc.md) <br>\n- [Skill Demo](https://lifeemergence.com/sample.html) <br>\n- [ClawHub Skill Page](https://clawhub.ai/18072937735/skills/smyx-contactless-vital-signs-monitoring-analysis) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Analysis, Markdown, JSON, Files, Shell commands, Guidance] <br>\n**Output Format:** [Markdown or JSON health-analysis report with optional saved output file and report links] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May retrieve cloud-hosted report history associated with internally managed user identity state.] <br>\n\n## Skill Version(s): <br>\n1.0.10 (source: server release evidence; 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.10:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.10:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.9: 31 files, 39136 bytes\n\nFiles: references/api_doc.md (703b), scripts/__init__.py (31b), scripts/config.py (680b), scripts/config.yaml (3b), scripts/contactless_vital_signs_monitoring.py (3208b), scripts/skill.py (579b), skill-card.md (2578b), SKILL.md (10460b), 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 (167b)\n\nFile v1.0.9:SKILL.md\n\n---\nname: \"contactless-vital-signs-monitoring-analysis\"\ndescription: \"Non-contact detection of heart rate, respiration, blood oxygen, and heart rate variability. No wearable devices are required; monitoring is achieved solely through camera footage. | 无感生命体征监测分析技能，非接触检测心率、呼吸、血氧、心率变异性，无需穿戴设备，通过摄像头画面即可监测\"\nversion: \"1.0.6\"\nlicense: \"MIT-0\"\n---\n\n# 💗 Passive Vital Signs Monitoring Tool | 无感生命体征监测分析工具\n\n> **智能健康/识别分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **无感生命体征监测分析工具** |\n| 🎯 核心目标 | 无感生命体征监测分析技能，非接触检测心率、呼吸、血氧、心率变异性，无需穿戴设备，通过摄像头画面即可监测 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、风险/识别结果、建议与报告链接 |\n| 🧩 场景码 | `CONTACTLESS_VITAL_SIGNS_MONITORING` |\n\nBy leveraging standard cameras—such as those on smartphones or computers—to capture subtle physiological changes\ninvisible to the naked eye (like minute skin color variations or micro head movements), and combining them with advanced\ncomputer vision and signal processing algorithms, this technology enables \"imperceptible\" monitoring of key vital\nsigns.  \nUsers are not required to wear any wristbands, patches, or sensors. Simply by facing the camera in a natural state, the\nsystem can precisely extract and analyze core health metrics—including heart rate, respiration rate, blood oxygen\nsaturation (SpO2), and heart rate variability (HRV)—within seconds to minutes.  \nThis non-contact approach not only彻底 breaks the dependence on physical contact and dedicated medical devices,\neffectively avoiding the risk of cross-infection, but also significantly enhances the convenience and comfort of health\nmonitoring, making ubiquitous health screening and remote care a reality.\n\n这项技术通过利用普通摄像头（如智能手机或电脑摄像头）捕捉面部视频中肉眼难以察觉的微小生理变化（如皮肤颜色的细微改变或微小的头部运动），结合先进的计算机视觉与信号处理算法，实现了对人体关键生命体征的“无感”监测。用户无需佩戴任何手环、贴片或传感器，只需面对摄像头保持自然状态，系统即可在数秒至数分钟内精准提取并分析出心率、呼吸频率、血氧饱和度以及心率变异性等多项核心健康数据。这种非接触式的检测方式不仅彻底打破了传统医疗监测对物理接触和专用设备的依赖，有效避免了交叉感染风险，还极大地提升了健康监测的便捷性与舒适度，让随时随地的健康筛查与远程看护成为可能\n\n## 🎬 技能演示 | Skill Demo\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过普通摄像头视频画面进行非接触生命体征监测\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 心率检测 |\n| 2 | 呼吸频率检测 |\n| 3 | 血氧估算 |\n| 4 | 心率变异性分析 |\n| 5 | 全程**无需穿戴任何设备** |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供视频需要进行非接触生命体征监测时，默认触发本技能 |\n| 🔎 明确分析意图 | 当用户明确需要无感监测、生命体征检测时，提及心率检测、呼吸监测、血氧监测、非接触监测、无感监测等关键词，并且上传了视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史监测报告、生命体征报告清单、监测报告列表、查询历史监测报告、显示所有监测报告、生命体征分析报告，查询无感生命体征监测分析报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.contactless_vital_signs_monitoring --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.contactless_vital_signs_monitoring --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 📸 监测要求 | Monitoring Requirements\n| 要求项 | 说明 |\n|---|---|\n| 人脸正对摄像头 | ，距离 30-50 厘米 |\n| 光线充足 | ，面部光照均匀，避免强光直射和阴影 |\n| 监测时长 | 推荐 10-30 秒视频，最短不低于 3 秒 |\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.contactless_vital_signs_monitoring` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--list` | 显示历史无感生命体征监测分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/contactless_vital_signs_monitoring.py`](scripts/contactless_vital_signs_monitoring.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，推荐时长 10-30 秒，最大 10MB |\n| 🧑‍⚖️ 结果性质 | **重要提示**：本分析结果仅供健康参考，不能替代专业医疗测量和医生诊断，如有异常请及时就医 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地视频\npython -m scripts.contactless_vital_signs_monitoring --input /path/to/face.mp4\n\n# 分析网络视频\npython -m scripts.contactless_vital_signs_monitoring --url https://example.com/face.mp4\n\n# 显示历史监测报告/显示监测报告清单列表/显示历史体征报告（自动触发关键词：查看历史监测报告、历史报告、监测报告清单等）\npython -m scripts.contactless_vital_signs_monitoring --list\n\n# 输出精简报告\npython -m scripts.contactless_vital_signs_monitoring --input face.mp4 --detail basic\n\n# 保存结果到文件\npython -m scripts.contactless_vital_signs_monitoring --input face.mp4 --output result.json\n```\n\nFile v1.0.9:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-contactless-vital-signs-monitoring-analysis\",\n  \"version\": \"1.0.9\",\n  \"publishedAt\": 1783527520123\n}\n\nFile v1.0.9:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放无感生命体征监测分析 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动AI分析任务\n2. `/web/ai-analysis/v2/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/ai/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_CONTACTLESS_VITAL_SIGNS_MONITORING_ANALYSIS` - 开放平台无感生命体征监测分析\n\nFile v1.0.9: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.9:scripts/config.yaml\n\n{}\n\nFile v1.0.9:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.9: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.9: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.9: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.9:skill-card.md\n\n## Description: <br>\nAnalyzes camera video to estimate heart rate, respiration, blood oxygen, and heart-rate variability without wearable sensors. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[18072937735](https://clawhub.ai/user/18072937735) <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 submit local or URL-based face video for cloud-backed contactless vital-sign analysis and to retrieve prior monitoring reports. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Sensitive face/video health-analysis inputs and submitted video URLs are sent to the LifeEmergence/Smyx cloud service. <br>\nMitigation: Use only videos you are authorized to submit, avoid private or internal URLs, and require clear privacy, retention, deletion, and consent guarantees before sensitive use. <br>\nRisk: Reports are tied to an automatically chosen identity and account tokens may be stored locally in the workspace data directory. <br>\nMitigation: Use isolated workspaces for this skill, restrict workspace sharing, and clear local skill data before reusing or handing off the environment. <br>\nRisk: Cloud report queries can retrieve historical health-analysis reports without clear user-facing consent controls. <br>\nMitigation: Require explicit user consent before analysis or report retrieval and review publisher terms before deployment. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/18072937735/skills/smyx-contactless-vital-signs-monitoring-analysis) <br>\n- [Skill Demo](https://lifeemergence.com/sample.html) <br>\n- [API 接口文档](references/api_doc.md) <br>\n- [API接口文档](skills/smyx_analysis/references/api_doc.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, JSON, Shell commands, Configuration] <br>\n**Output Format:** [Markdown or JSON analysis reports with report links; optional saved output file] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May process local video paths or public video URLs and can query cloud-hosted historical reports.] <br>\n\n## Skill Version(s): <br>\n1.0.9 (source: server release evidence; artifact frontmatter states 1.0.6) <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.9:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.9:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3","readmeExcerpt":"Skill: Passive Vital Signs Monitoring Tool | 无感生命体征监测分析工具 Owner: 18072937735 Summary: Non-contact detection of heart rate, respiration, blood oxygen, and heart rate variability. No wearable devices are required; monitoring is achieved solely through camera footage. | 无感生命体征监测分析技能，非接触检测心率、呼吸、血氧、心率变异性，无需穿戴设备，通过摄像头画面即可监测 Tags: latest:1.0.18 Version history: v1.0.18 | 2026-09-28T02:28:26.210Z | auto - Removed the file: s","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"python -m scripts.contactless_vital_signs_monitoring --list"},{"language":"text","snippet":"requests>=2.28.0"},{"language":"bash","snippet":"# 分析本地视频\npython -m scripts.contactless_vital_signs_monitoring --input /path/to/face.mp4\n\n# 分析网络视频\npython -m scripts.contactless_vital_signs_monitoring --url https://example.com/face.mp4\n\n# 显示历史监测报告/显示监测报告清单列表/显示历史体征报告（自动触发关键词：查看历史监测报告、历史报告、监测报告清单等）\npython -m scripts.contactless_vital_signs_monitoring --list\n\n# 输出精简报告\npython -m scripts.contactless_vital_signs_monitoring --input face.mp4 --detail basic\n\n# 保存结果到文件\npython -m scripts.contactless_vital_signs_monitoring --input face.mp4 --output result.json"},{"language":"bash","snippet":"python -m scripts.contactless_vital_signs_monitoring --list"},{"language":"text","snippet":"requests>=2.28.0"},{"language":"bash","snippet":"# 分析本地视频\npython -m scripts.contactless_vital_signs_monitoring --input /path/to/face.mp4\n\n# 分析网络视频\npython -m scripts.contactless_vital_signs_monitoring --url https://example.com/face.mp4\n\n# 显示历史监测报告/显示监测报告清单列表/显示历史体征报告（自动触发关键词：查看历史监测报告、历史报告、监测报告清单等）\npython -m scripts.contactless_vital_signs_monitoring --list\n\n# 输出精简报告\npython -m scripts.contactless_vital_signs_monitoring --input face.mp4 --detail basic\n\n# 保存结果到文件\npython -m scripts.contactless_vital_signs_monitoring --input face.mp4 --output result.json"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: \"contactless-vital-signs-monitoring-analysis\"\ndescription: \"Non-contact detection of heart rate, respiration, blood oxygen, and heart rate variability. No wearable devices are required; monitoring is achieved solely through camera footage. | 无感生命体征监测分析技能，非接触检测心率、呼吸、血氧、心率变异性，无需穿戴设备，通过摄像头画面即可监测\"\nversion: \"1.0.18\"\nlicense: \"MIT-0\"\n---\n\n# 💗 Passive Vital Signs Monitoring Tool | 无感生命体征监测分析工具\n\n> **智能健康/识别分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **无感生命体征监测分析工具** |\n| 🎯 核心目标 | 无感生命体征监测分析技能，非接触检测心率、呼吸、血氧、心率变异性，无需穿戴设备，通过摄像头画面即可监测 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、风险/识别结果、建议与报告链接 |\n| 🧩 场景码 | `CONTACTLESS_VITAL_SIGNS_MONITORING` |\n\nBy leveraging standard cameras—such as those on smartphones or computers—to capture subtle physiological changes\ninvisible to the naked eye (like minute skin color variations or micro head movements), and combining them with advanced\ncomputer vision and signal processing algorithms, this technology enables \"imperceptible\" monitoring of key vital\nsigns.  \nUsers are not required to wear any wristbands, patches, or sensors. Simply by facing the camera in a natural state, the\nsystem can precisely extract and analyze core health metrics—including heart rate, respiration rate, blood oxygen\nsaturation (SpO2), and heart rate variability (HRV)—within seconds to minutes.  \nThis non-contact approach not only彻底 breaks the dependence on physical contact and dedicated medical devices,\neffectively avoiding the risk of cross-infection, but also significantly enhances the convenience and comfort of health\nmonitoring, making ubiquitous health screening and remote care a reality.\n\n这项技术通过利用普通摄像头（如智能手机或电脑摄像头）捕捉面部视频中肉眼难以察觉的微小生理变化（如皮肤颜色的细微改变或微小的头部运动），结合先进的计算机视觉与信号处理算法，实现了对人体关键生命体征的“无感”监测。用户无需佩戴任何手环、贴片或传感器，只需面对摄像头保持自然状态，系统即可在数秒至数分钟内精准提取并分析出心率、呼吸频率、血氧饱和度以及心率变异性等多项核心健康数据。这种非接触式的检测方式不仅彻底打破了传统医疗监测对物理接触和专用设备的依赖，有效避免了交叉感染风险，还极大地提升了健康监测的便捷性与舒适度，让随时随地的健康筛查与远程看护成为可能\n\n## 🎬 技能演示 | Skill Demo\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过普通摄像头视频画面进行非接触生命体征监测\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 心率检测 |\n| 2 | 呼吸频率检测 |\n| 3 | 血氧估算 |\n| 4 | 心率变异性分析 |\n| 5 | 全程**无需穿戴任何设备** |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供视频需要进行非接触生命体征监测时，默认触发本技能 |\n| 🔎 明确分析意图 | 当用户明确需要无感监测、生命体征检测时，提及心率检测、呼吸监测、血氧监测、非接触监测、无感监测等关键词，并且上传了视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史监测报告、生命体征报告清单、监测报告列表、查询历史监测报告、显示所有监测报告、生命体征分析报告，查询无感生命体征监测分析报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.contactless_vital_signs_monitoring --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.contactless_vital_signs_monitoring --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 "},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-contactless-vital-signs-monitoring-analysis\",\n  \"version\": \"1.0.18\",\n  \"publishedAt\": 1790562506210\n}"},{"path":"references/api_doc.md","content":"# API 接口文档\n\n此处用于存放无感生命体征监测分析 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动AI分析任务\n2. `/web/ai-analysis/v2/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/ai/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_CONTACTLESS_VITAL_SIGNS_MONITORING_ANALYSIS` - 开放平台无感生命体征监测分析"},{"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":"Non-contact detection of heart rate, respiration, blood oxygen, and heart rate variability. No wearable devices are required; monitoring is achieved solely through camera footage. | 无感生命体征监测分析技能，非接触检测心率、呼吸、血氧、心率变异性，无需穿戴设备，通过摄像头画面即可监测 Skill: Passive Vital Signs Monitoring Tool | 无感生命体征监测分析工具 Owner: 18072937735 Summary: Non-contact detection of heart rate, respiration, blood oxygen, and heart rate variability. No wearable devices are required; monitoring is achieved solely through camera footage. | 无感生命体征监测分析技能，非接触检测心率、呼吸、血氧、心率变异性，无需穿戴设备，通过摄像头画面即可监测 Tags: latest:1.0.18 Version history: v1.0.18 | 2026-09-28T02:28:26.210Z | auto - Removed the file: s","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":935,"uniquenessScore":51,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T15:05:25.967Z","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-09T15:05:25.967Z","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-10T07:43:19.477Z","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"}]}}}