{"id":"d273cbfc-32e2-468c-a6a3-ffe6002c1912","entityType":"agent","slug":"clawhub-18072937735-smyx-sneeze-cough-detection-analysis","name":"Pet Sneeze / Cough Detection | 宠物打喷嚏/咳嗽检测","canonicalUrl":"https://www.xpersona.co/agent/clawhub-18072937735-smyx-sneeze-cough-detection-analysis","canonicalPath":"/agent/clawhub-18072937735-smyx-sneeze-cough-detection-analysis","generatedAt":"2026-10-10T03:41:03.217Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T18:55:59.259Z","emptyReason":null},"description":"AI-powered pet sneeze/cough detection from real-time camera (optional audio fusion). Analyzes head and thoracic-abdominal motion plus sound features to distinguish single occasional events (normal airway clearing) from continuous bursts (e.g. ≥3 sneezes/min, frequent dry/wet coughing) and records event time and frequency. Helps catch respiratory infection, allergy, or foreign-body irritation early. Scenarios: home health monitoring, animal hospital wards, pet boarding centers. | 通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 2.1K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s17f8q65zg3y98t86jdg1177g583whq8:smyx-sneeze-cough-detection-analysis","sourceUrl":"https://clawhub.ai/18072937735/smyx-sneeze-cough-detection-analysis","homepage":"https://clawhub.ai/18072937735/skills/smyx-sneeze-cough-detection-analysis","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/18072937735/smyx-sneeze-cough-detection-analysis","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/18072937735/skills/smyx-sneeze-cough-detection-analysis","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":66,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Pet Sneeze / Cough Detection | 宠物打喷嚏/咳嗽检测 technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T18:55:59.259Z","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-09T18:55:59.259Z","emptyReason":null},"stars":null,"forks":null,"downloads":2106,"packageName":null,"latestVersion":"1.0.12","tractionLabel":"2.1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T18:55:59.259Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T18:55:59.259Z","lastCrawledAt":"2026-10-09T18:55:59.259Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T18:55:59.259Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.12","createdAt":"2026-09-28T12:39:35.010Z","changelog":"- Removed the file: skill-card.md. - No changes to skill features, capabilities, or workflow. - No user-facing functionality or documentation was altered. - Version number remains unchanged in SKILL.md.","fileCount":31,"zipByteSize":39661},{"version":"1.0.11","createdAt":"2026-09-23T02:39:40.396Z","changelog":"- Updated version to 1.0.15 in SKILL.md. - Removed redundant file skill-card.md. - Minor content or configuration adjustments in SKILL.md and config.yaml. - No user-facing feature changes.","fileCount":31,"zipByteSize":39800},{"version":"1.0.10","createdAt":"2026-08-25T03:24:29.828Z","changelog":"- Removed the file: skill-card.md - No changes to skill functionality or configuration. - Documentation is now consolidated; skill operation and features remain unchanged.","fileCount":31,"zipByteSize":40005},{"version":"1.0.9","createdAt":"2026-08-18T19:58:29.463Z","changelog":"- Version bump from 1.0.9 to 1.0.10. - Documentation updated in SKILL.md; general content, workflow, and usage details may be refreshed or clarified. - File cleanup: removed the redundant or outdated skill-card.md. - No changes to core functionalities or dependencies.","fileCount":31,"zipByteSize":39884},{"version":"1.0.8","createdAt":"2026-08-15T23:12:27.343Z","changelog":"- Version bumped from 1.0.8 to 1.0.9. - Updated documentation in SKILL.md. - Removed skill-card.md file. - Minor changes to configuration (skills/smyx_common/scripts/config.yaml).","fileCount":31,"zipByteSize":39911},{"version":"1.0.7","createdAt":"2026-08-09T02:54:32.435Z","changelog":"- Version updated from 1.0.7 to 1.0.8. - Documentation improvements: SKILL.md updated for clarity and structure. - Removed legacy file: skill-card.md. - No changes to skill logic, features, or interfaces.","fileCount":31,"zipByteSize":39794},{"version":"1.0.6","createdAt":"2026-07-27T01:07:29.300Z","changelog":"- Version bumped from 1.0.6 to 1.0.7. - Documentation update: SKILL.md revised; content or structure likely improved. - skill-card.md removed from the project. - No logic/code changes to the detection capability.","fileCount":31,"zipByteSize":39930},{"version":"1.0.5","createdAt":"2026-07-17T19:28:30.845Z","changelog":"- Version bump to 1.0.6. - Documentation in SKILL.md updated and revised. - Removed the redundant or outdated skill-card.md file for clarity and maintenance. - No changes to code or feature set.","fileCount":31,"zipByteSize":39917}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17f8q65zg3y98t86jdg1177g583whq8:smyx-sneeze-cough-detection-analysis","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s17f8q65zg3y98t86jdg1177g583whq8:smyx-sneeze-cough-detection-analysis` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/18072937735/smyx-sneeze-cough-detection-analysis before using production credentials."],"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-sneeze-cough-detection-analysis/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-sneeze-cough-detection-analysis/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-sneeze-cough-detection-analysis/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-sneeze-cough-detection-analysis/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-sneeze-cough-detection-analysis/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-sneeze-cough-detection-analysis/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T03:41:03.213Z"}},"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-sneeze-cough-detection-analysis/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-sneeze-cough-detection-analysis/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-sneeze-cough-detection-analysis/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-sneeze-cough-detection-analysis/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T18:55:59.259Z","emptyReason":null},"readme":"Skill: Pet Sneeze / Cough Detection | 宠物打喷嚏/咳嗽检测\n\nOwner: 18072937735\n\nSummary: AI-powered pet sneeze/cough detection from real-time camera (optional audio fusion). Analyzes head and thoracic-abdominal motion plus sound features to distinguish single occasional events (normal airway clearing) from continuous bursts (e.g. ≥3 sneezes/min, frequent dry/wet coughing) and records event time and frequency. Helps catch respiratory infection, allergy, or foreign-body irritation early. Scenarios: home health monitoring, animal hospital wards, pet boarding centers. | 通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。\n\nTags: latest:1.0.12\n\nVersion history:\n\nv1.0.12 | 2026-09-28T12:39:35.010Z | auto\n\n- Removed the file: skill-card.md.\n- No changes to skill features, capabilities, or workflow.\n- No user-facing functionality or documentation was altered.\n- Version number remains unchanged in SKILL.md.\n\nv1.0.11 | 2026-09-23T02:39:40.396Z | auto\n\n- Updated version to 1.0.15 in SKILL.md.\n- Removed redundant file skill-card.md.\n- Minor content or configuration adjustments in SKILL.md and config.yaml.\n- No user-facing feature changes.\n\nv1.0.10 | 2026-08-25T03:24:29.828Z | auto\n\n- Removed the file: skill-card.md\n- No changes to skill functionality or configuration.\n- Documentation is now consolidated; skill operation and features remain unchanged.\n\nv1.0.9 | 2026-08-18T19:58:29.463Z | auto\n\n- Version bump from 1.0.9 to 1.0.10.\n- Documentation updated in SKILL.md; general content, workflow, and usage details may be refreshed or clarified.\n- File cleanup: removed the redundant or outdated skill-card.md.\n- No changes to core functionalities or dependencies.\n\nv1.0.8 | 2026-08-15T23:12:27.343Z | auto\n\n- Version bumped from 1.0.8 to 1.0.9.\n- Updated documentation in SKILL.md.\n- Removed skill-card.md file.\n- Minor changes to configuration (skills/smyx_common/scripts/config.yaml).\n\nv1.0.7 | 2026-08-09T02:54:32.435Z | auto\n\n- Version updated from 1.0.7 to 1.0.8.\n- Documentation improvements: SKILL.md updated for clarity and structure.\n- Removed legacy file: skill-card.md.\n- No changes to skill logic, features, or interfaces.\n\nv1.0.6 | 2026-07-27T01:07:29.300Z | auto\n\n- Version bumped from 1.0.6 to 1.0.7.\n- Documentation update: SKILL.md revised; content or structure likely improved.\n- skill-card.md removed from the project.\n- No logic/code changes to the detection capability.\n\nv1.0.5 | 2026-07-17T19:28:30.845Z | auto\n\n- Version bump to 1.0.6.\n- Documentation in SKILL.md updated and revised.\n- Removed the redundant or outdated skill-card.md file for clarity and maintenance.\n- No changes to code or feature set.\n\nv1.0.4 | 2026-07-11T18:02:29.740Z | auto\n\nVersion 1.0.5\n\n- Updated SKILL.md with revised version number and minor textual/content adjustments.\n- Removed deprecated skill-card.md file.\n- Updated scripts/config.py and scripts/util.py for potential configuration and utility improvements.\n- No functional API or user-facing parameter changes documented.\n\nv1.0.3 | 2026-07-03T09:49:25.942Z | auto\n\n- Version bump: updated from 1.0.3 to 1.0.4.\n- Removed the redundant or legacy documentation file `skill-card.md`.\n- Various content and wording updates in documentation for clarity and consistency.\n- No changes affecting user-facing features or behavior.\n\nv1.0.2 | 2026-06-27T14:24:26.661Z | auto\n\n**Changelog for v1.0.2:**\n\n- Major update: Fully refactored identity parameter handling—user identity is now managed internally and never prompted or shown to end users.\n- Simplified workflow: Removed all user prompts/requirements regarding open-id, username, or phone number. All identity association is automated and invisible to the user.\n- SKILL.md: Heavily revised documentation to clarify new automation rules, best practices, and prohibited behaviors regarding identity variables.\n- Removed legacy files and updated scripts/config logic accordingly.\n- Documentation: Improved structure, added visual tables and guidance for easier skill use and integration.\n- No core detection business logic changed; all improvements are related to operational flow, documentation, and compliance.\n\nv1.0.1 | 2026-06-18T17:24:53.501Z | auto\n\n- Added license information (MIT-0) to metadata.\n- Updated open-id acquisition process: priority now given to scripts/config.yaml within the skill directory.\n- Revised document structure for clarity and alignment on open-id handling and configuration file paths.\n- Removed outdated or redundant file: skill-card.md.\n- General documentation and workflow improvements for more robust and clear usage.\n\nv1.0.0 | 2026-05-23T06:19:48.005Z | auto\n\nInitial release of smyx-sneeze-cough-detection-analysis:\n\n- Detects pet sneezing and coughing via real-time camera, with optional audio fusion for improved accuracy.\n- Analyses head, thoracic-abdominal motions, and sound features to distinguish single and continuous (frequent) events.\n- Records event times and frequencies to aid early detection of respiratory issues such as infection, allergy, or foreign-body irritation.\n- Supports home health monitoring, animal hospitals, and pet boarding centers.\n- Strict open-id acquisition and data query/reporting workflow implemented for security and data consistency, with no local memory allowed for historical reports.\n\nArchive index:\n\nArchive v1.0.12: 31 files, 39661 bytes\n\nFiles: references/api_doc.md (676b), scripts/__init__.py (54b), scripts/config.py (677b), scripts/config.yaml (3b), scripts/skill.py (577b), scripts/smyx_sneeze_cough_detection_analysis.py (3497b), skill-card.md (2104b), SKILL.md (13122b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (156b)\n\nFile v1.0.12:SKILL.md\n\n---\nname: \"smyx-sneeze-cough-detection-analysis\"\ndescription: \"AI-powered pet sneeze/cough detection from real-time camera (optional audio fusion). Analyzes head and thoracic-abdominal motion plus sound features to distinguish single occasional events (normal airway clearing) from continuous bursts (e.g. ≥3 sneezes/min, frequent dry/wet coughing) and records event time and frequency. Helps catch respiratory infection, allergy, or foreign-body irritation early. Scenarios: home health monitoring, animal hospital wards, pet boarding centers. | 通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。\"\nversion: \"1.0.15\"\nlicense: \"MIT-0\"\n---\n\n# 💨 Pet Sneeze / Cough Detection | 宠物打喷嚏/咳嗽检测\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物打喷嚏/咳嗽检测** |\n| 🎯 核心目标 | 通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_SNEEZE_COUGH_DETECTION_ANALYSIS` |\n\nAI-powered pet sneeze/cough detection from real-time camera (optional audio fusion). Analyzes head and thoracic-abdominal motion plus sound features to distinguish single occasional events (normal airway clearing) from continuous bursts (e.g. ≥3 sneezes/min, frequent dry/wet coughing) and records event time and frequency. Helps catch respiratory infection, allergy, or foreign-body irritation early. Scenarios: home health monitoring, animal hospital wards, pet boarding centers.\n\n通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的宠物呼吸健康AI。你的任务是分析宠物活动的实时视频（可选配合音频），检测打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理）与连续发作（异常），记录事件时间、频次和类型。不要提供医疗诊断，仅输出基于视觉和音频的客观行为识别结果。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过室内摄像头视频（可选叠加音频）进行打喷嚏与咳嗽行为识别，区分偶发与连续发作，记录事件时间、频次和类型\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 打喷嚏动作识别（头部抖动+鼻部喷气） |\n| 2 | 咳嗽动作识别（颈部前伸+腹部收缩） |\n| 3 | 咳嗽类型区分（干咳/湿咳） |\n| 4 | 音频特征融合（可选） |\n| 5 | 连续发作频次统计 |\n| 6 | 单次偶发与异常发作区分 |\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.smyx_sneeze_cough_detection_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_sneeze_cough_detection_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行打喷嚏/咳嗽检测 | 调用 `-m scripts.smyx_sneeze_cough_detection_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看检测结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地宠物活动视频（含音频）文件路径 | 适用于本地文件分析 |\n| `--url` | 网络宠物活动视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 cat | 按需填写 |\n| `--list` | 显示打喷嚏/咳嗽检测历史报告列表清单 | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 💨 打喷嚏 vs 咳嗽：动作特征区分\n\n| 特征 | 打喷嚏（Sneeze） | 咳嗽（Cough） |\n|------|------------------|----------------|\n| 主要部位 | 头部突然前伸抖动 | 颈部前伸 + 胸腹收缩 |\n| 嘴巴 | 张开喷气 | 干咳张口、湿咳可能闭合 |\n| 音频特征 | 短促喷气声 | 干咳：短促刺耳；湿咳：含痰低沉 |\n| 持续时间 | 极短（<1秒） | 稍长（1-3秒） |\n| 常见原因 | 灰尘、过敏、鼻炎 | 犬窝咳、肺炎、气管炎、异物 |\n\n## 🏥 咳嗽类型参考\n\n| 咳嗽类型 | 特征 | 可能原因 |\n|----------|------|----------|\n| 🌬️ 干咳 | 无痰，声音清脆刺耳 | 犬窝咳、气管塌陷、过敏 |\n| 💧 湿咳 | 有痰音，声音低沉浑浊 | 肺炎、支气管炎 |\n| 🪶 鹅鸣咳 | 类似鹅叫声 | 气管塌陷（小型犬常见） |\n| 🌙 夜间咳 | 仅在夜间或躺下时咳嗽 | 心脏病（二尖瓣疾病） |\n\n## 🚨 预警分级\n\n| 等级 | 触发条件 | 建议 |\n|------|----------|------|\n| 🟢 偶发 | 单次打喷嚏/咳嗽，无连续 | 正常清理呼吸道，继续观察 |\n| 🟡 轻度 | 连续打喷嚏 ≥3次/分钟 或 咳嗽 2-3次/小时 | 留意环境粉尘、香水等刺激源 |\n| 🟠 频繁 | 打喷嚏频繁或 咳嗽 ≥5次/小时 | 建议预约兽医检查呼吸道 |\n| 🔴 严重 | 咳嗽持续不断、伴喘息/呼吸困难 | ⚠️ 立即就医，警惕肺炎、心衰 |\n\n## 💡 高风险品种与场景\n\n| 类别 | 重点关注原因 |\n|------|--------------|\n| 短鼻犬（巴哥、法斗、英斗等） | 气管塌陷风险高，鹅鸣咳常见 |\n| 幼犬（未完成疫苗接种） | 犬窝咳传染性强，需隔离观察 |\n| 猫咪（多猫环境） | 猫疱疹病毒、杯状病毒易传播 |\n| 老年犬 | 慢性支气管炎、心脏病（夜间咳嗽） |\n| 换季/花粉季 | 过敏性喷嚏频发 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_sneeze_cough_detection_analysis.py`](scripts/smyx_sneeze_cough_detection_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 视频要求：支持 mp4/avi/mov 格式，最大 10MB；建议时长 ≥ 30 秒 |\n| 🔎 使用提醒 | **含音频的视频可大幅提升检测准确率**，建议使用带麦克风的摄像头拍摄 |\n| 🔎 使用提醒 | 摄像头需固定，视角覆盖宠物头部及胸腹部，移动拍摄可能影响检测效果 |\n| 🧑‍⚖️ 结果性质 | **检测结果仅供行为观察参考，不提供医疗诊断**；频繁发作建议及时就医 |\n| 🔎 使用提醒 | 宠物打哈欠、伸懒腰等动作可能产生误检，建议结合频次和连续性综合判断 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 当显示历史检测报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地宠物活动视频\npython -m scripts.smyx_sneeze_cough_detection_analysis --input /path/to/pet_video.mp4 --pet-type cat\n\n# 分析网络宠物活动视频\npython -m scripts.smyx_sneeze_cough_detection_analysis --url https://example.com/pet_video.mp4 --pet-type dog\n\n# 显示历史检测报告/显示报告清单列表（自动触发关键词：查看历史咳嗽报告、打喷嚏报告清单等）\npython -m scripts.smyx_sneeze_cough_detection_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_sneeze_cough_detection_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_sneeze_cough_detection_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.12:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-sneeze-cough-detection-analysis\",\n  \"version\": \"1.0.12\",\n  \"publishedAt\": 1790599175010\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- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动通用 AI 分析任务（打喷嚏/咳嗽检测）\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_SNEEZE_COUGH_DETECTION_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:\n\nAnalyzes pet videos, with optional audio, for sneeze and cough events and provides event summaries and report history.\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\nPet owners, veterinary staff, and boarding-center staff use video analysis to review sneeze and cough frequency and consult past reports. Results support observation, not veterinary diagnosis.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Pet videos may expose household audio, interiors, or sensitive clinic footage to the Life Emergence cloud service.\n\nMitigation: Use only footage suitable for cloud upload; review the service's retention, account identity, and deletion practices first.\n\nRisk: The skill silently creates or reuses a persistent identity associated with cloud report history.\n\nMitigation: Review account and report-history handling before using the skill with sensitive footage.\n\nRisk: Behavioral detections may be mistaken for a medical diagnosis.\n\nMitigation: Treat results as observations; consult a veterinarian for frequent coughing or breathing difficulty.\n\n## Reference(s):\n\n- [ClawHub skill release](https://clawhub.ai/18072937735/skills/smyx-sneeze-cough-detection-analysis)\n- [API reference](references/api_doc.md)\n- [Skill demonstration](https://lifeemergence.com/sample.html)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Guidance]\n\n**Output Format:** [Structured analysis text or JSON, Markdown report lists, and report links]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Reports can be saved to a local file; historical reports are retrieved from the cloud.]\n\n## Skill Version(s):\n\n1.0.12 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.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, 39800 bytes\n\nFiles: references/api_doc.md (676b), scripts/__init__.py (54b), scripts/config.py (677b), scripts/config.yaml (3b), scripts/skill.py (577b), scripts/smyx_sneeze_cough_detection_analysis.py (3497b), skill-card.md (2475b), SKILL.md (13122b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (156b)\n\nFile v1.0.11:SKILL.md\n\n---\nname: \"smyx-sneeze-cough-detection-analysis\"\ndescription: \"AI-powered pet sneeze/cough detection from real-time camera (optional audio fusion). Analyzes head and thoracic-abdominal motion plus sound features to distinguish single occasional events (normal airway clearing) from continuous bursts (e.g. ≥3 sneezes/min, frequent dry/wet coughing) and records event time and frequency. Helps catch respiratory infection, allergy, or foreign-body irritation early. Scenarios: home health monitoring, animal hospital wards, pet boarding centers. | 通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。\"\nversion: \"1.0.15\"\nlicense: \"MIT-0\"\n---\n\n# 💨 Pet Sneeze / Cough Detection | 宠物打喷嚏/咳嗽检测\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物打喷嚏/咳嗽检测** |\n| 🎯 核心目标 | 通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_SNEEZE_COUGH_DETECTION_ANALYSIS` |\n\nAI-powered pet sneeze/cough detection from real-time camera (optional audio fusion). Analyzes head and thoracic-abdominal motion plus sound features to distinguish single occasional events (normal airway clearing) from continuous bursts (e.g. ≥3 sneezes/min, frequent dry/wet coughing) and records event time and frequency. Helps catch respiratory infection, allergy, or foreign-body irritation early. Scenarios: home health monitoring, animal hospital wards, pet boarding centers.\n\n通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的宠物呼吸健康AI。你的任务是分析宠物活动的实时视频（可选配合音频），检测打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理）与连续发作（异常），记录事件时间、频次和类型。不要提供医疗诊断，仅输出基于视觉和音频的客观行为识别结果。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过室内摄像头视频（可选叠加音频）进行打喷嚏与咳嗽行为识别，区分偶发与连续发作，记录事件时间、频次和类型\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 打喷嚏动作识别（头部抖动+鼻部喷气） |\n| 2 | 咳嗽动作识别（颈部前伸+腹部收缩） |\n| 3 | 咳嗽类型区分（干咳/湿咳） |\n| 4 | 音频特征融合（可选） |\n| 5 | 连续发作频次统计 |\n| 6 | 单次偶发与异常发作区分 |\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.smyx_sneeze_cough_detection_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_sneeze_cough_detection_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行打喷嚏/咳嗽检测 | 调用 `-m scripts.smyx_sneeze_cough_detection_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看检测结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地宠物活动视频（含音频）文件路径 | 适用于本地文件分析 |\n| `--url` | 网络宠物活动视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 cat | 按需填写 |\n| `--list` | 显示打喷嚏/咳嗽检测历史报告列表清单 | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 💨 打喷嚏 vs 咳嗽：动作特征区分\n\n| 特征 | 打喷嚏（Sneeze） | 咳嗽（Cough） |\n|------|------------------|----------------|\n| 主要部位 | 头部突然前伸抖动 | 颈部前伸 + 胸腹收缩 |\n| 嘴巴 | 张开喷气 | 干咳张口、湿咳可能闭合 |\n| 音频特征 | 短促喷气声 | 干咳：短促刺耳；湿咳：含痰低沉 |\n| 持续时间 | 极短（<1秒） | 稍长（1-3秒） |\n| 常见原因 | 灰尘、过敏、鼻炎 | 犬窝咳、肺炎、气管炎、异物 |\n\n## 🏥 咳嗽类型参考\n\n| 咳嗽类型 | 特征 | 可能原因 |\n|----------|------|----------|\n| 🌬️ 干咳 | 无痰，声音清脆刺耳 | 犬窝咳、气管塌陷、过敏 |\n| 💧 湿咳 | 有痰音，声音低沉浑浊 | 肺炎、支气管炎 |\n| 🪶 鹅鸣咳 | 类似鹅叫声 | 气管塌陷（小型犬常见） |\n| 🌙 夜间咳 | 仅在夜间或躺下时咳嗽 | 心脏病（二尖瓣疾病） |\n\n## 🚨 预警分级\n\n| 等级 | 触发条件 | 建议 |\n|------|----------|------|\n| 🟢 偶发 | 单次打喷嚏/咳嗽，无连续 | 正常清理呼吸道，继续观察 |\n| 🟡 轻度 | 连续打喷嚏 ≥3次/分钟 或 咳嗽 2-3次/小时 | 留意环境粉尘、香水等刺激源 |\n| 🟠 频繁 | 打喷嚏频繁或 咳嗽 ≥5次/小时 | 建议预约兽医检查呼吸道 |\n| 🔴 严重 | 咳嗽持续不断、伴喘息/呼吸困难 | ⚠️ 立即就医，警惕肺炎、心衰 |\n\n## 💡 高风险品种与场景\n\n| 类别 | 重点关注原因 |\n|------|--------------|\n| 短鼻犬（巴哥、法斗、英斗等） | 气管塌陷风险高，鹅鸣咳常见 |\n| 幼犬（未完成疫苗接种） | 犬窝咳传染性强，需隔离观察 |\n| 猫咪（多猫环境） | 猫疱疹病毒、杯状病毒易传播 |\n| 老年犬 | 慢性支气管炎、心脏病（夜间咳嗽） |\n| 换季/花粉季 | 过敏性喷嚏频发 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_sneeze_cough_detection_analysis.py`](scripts/smyx_sneeze_cough_detection_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 视频要求：支持 mp4/avi/mov 格式，最大 10MB；建议时长 ≥ 30 秒 |\n| 🔎 使用提醒 | **含音频的视频可大幅提升检测准确率**，建议使用带麦克风的摄像头拍摄 |\n| 🔎 使用提醒 | 摄像头需固定，视角覆盖宠物头部及胸腹部，移动拍摄可能影响检测效果 |\n| 🧑‍⚖️ 结果性质 | **检测结果仅供行为观察参考，不提供医疗诊断**；频繁发作建议及时就医 |\n| 🔎 使用提醒 | 宠物打哈欠、伸懒腰等动作可能产生误检，建议结合频次和连续性综合判断 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 当显示历史检测报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地宠物活动视频\npython -m scripts.smyx_sneeze_cough_detection_analysis --input /path/to/pet_video.mp4 --pet-type cat\n\n# 分析网络宠物活动视频\npython -m scripts.smyx_sneeze_cough_detection_analysis --url https://example.com/pet_video.mp4 --pet-type dog\n\n# 显示历史检测报告/显示报告清单列表（自动触发关键词：查看历史咳嗽报告、打喷嚏报告清单等）\npython -m scripts.smyx_sneeze_cough_detection_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_sneeze_cough_detection_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_sneeze_cough_detection_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.11:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-sneeze-cough-detection-analysis\",\n  \"version\": \"1.0.11\",\n  \"publishedAt\": 1790131180396\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- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动通用 AI 分析任务（打喷嚏/咳嗽检测）\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_SNEEZE_COUGH_DETECTION_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:\n\nDetects sneeze and cough events in pet video, optionally using audio, and returns structured behavior observations, frequency information, suggestions, and report links.\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, pet-care operators, and animal-care teams use this skill to analyze pet activity videos for sneeze or cough behavior and to review cloud-stored historical reports. The output is intended for behavior observation and triage support, not veterinary diagnosis.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Pet videos, optional audio, URLs, report history requests, and account identifiers are sent to the publisher's cloud service.\n\nMitigation: Use only media you are comfortable sharing with the publisher, and review the publisher's retention, access-control, and identity-handling documentation before use with private household footage.\n\nRisk: The skill can silently create or reuse an identity and store tokens locally.\n\nMitigation: Run it in a workspace with appropriate access controls and remove locally stored identity or token data when it is no longer needed.\n\nRisk: Detection results may be incomplete or inaccurate and are not medical diagnoses.\n\nMitigation: Treat outputs as behavior observations; seek veterinary review for frequent, severe, or concerning respiratory events.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/18072937735/skills/smyx-sneeze-cough-detection-analysis)\n- [API interface reference](references/api_doc.md)\n- [Shared analysis API reference](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, files]\n\n**Output Format:** [Markdown or JSON text, with optional saved output file]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include structured detection results, event frequency, suggestions, historical report records, and report export links.]\n\n## Skill Version(s):\n\n1.0.11 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.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, 40005 bytes\n\nFiles: references/api_doc.md (676b), scripts/__init__.py (54b), scripts/config.py (677b), scripts/config.yaml (3b), scripts/skill.py (577b), scripts/smyx_sneeze_cough_detection_analysis.py (3497b), skill-card.md (2888b), SKILL.md (13122b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (472b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (156b)\n\nFile v1.0.10:SKILL.md\n\n---\nname: \"smyx-sneeze-cough-detection-analysis\"\ndescription: \"AI-powered pet sneeze/cough detection from real-time camera (optional audio fusion). Analyzes head and thoracic-abdominal motion plus sound features to distinguish single occasional events (normal airway clearing) from continuous bursts (e.g. ≥3 sneezes/min, frequent dry/wet coughing) and records event time and frequency. Helps catch respiratory infection, allergy, or foreign-body irritation early. Scenarios: home health monitoring, animal hospital wards, pet boarding centers. | 通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。\"\nversion: \"1.0.10\"\nlicense: \"MIT-0\"\n---\n\n# 💨 Pet Sneeze / Cough Detection | 宠物打喷嚏/咳嗽检测\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物打喷嚏/咳嗽检测** |\n| 🎯 核心目标 | 通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_SNEEZE_COUGH_DETECTION_ANALYSIS` |\n\nAI-powered pet sneeze/cough detection from real-time camera (optional audio fusion). Analyzes head and thoracic-abdominal motion plus sound features to distinguish single occasional events (normal airway clearing) from continuous bursts (e.g. ≥3 sneezes/min, frequent dry/wet coughing) and records event time and frequency. Helps catch respiratory infection, allergy, or foreign-body irritation early. Scenarios: home health monitoring, animal hospital wards, pet boarding centers.\n\n通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的宠物呼吸健康AI。你的任务是分析宠物活动的实时视频（可选配合音频），检测打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理）与连续发作（异常），记录事件时间、频次和类型。不要提供医疗诊断，仅输出基于视觉和音频的客观行为识别结果。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过室内摄像头视频（可选叠加音频）进行打喷嚏与咳嗽行为识别，区分偶发与连续发作，记录事件时间、频次和类型\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 打喷嚏动作识别（头部抖动+鼻部喷气） |\n| 2 | 咳嗽动作识别（颈部前伸+腹部收缩） |\n| 3 | 咳嗽类型区分（干咳/湿咳） |\n| 4 | 音频特征融合（可选） |\n| 5 | 连续发作频次统计 |\n| 6 | 单次偶发与异常发作区分 |\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.smyx_sneeze_cough_detection_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_sneeze_cough_detection_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行打喷嚏/咳嗽检测 | 调用 `-m scripts.smyx_sneeze_cough_detection_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看检测结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地宠物活动视频（含音频）文件路径 | 适用于本地文件分析 |\n| `--url` | 网络宠物活动视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 cat | 按需填写 |\n| `--list` | 显示打喷嚏/咳嗽检测历史报告列表清单 | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 💨 打喷嚏 vs 咳嗽：动作特征区分\n\n| 特征 | 打喷嚏（Sneeze） | 咳嗽（Cough） |\n|------|------------------|----------------|\n| 主要部位 | 头部突然前伸抖动 | 颈部前伸 + 胸腹收缩 |\n| 嘴巴 | 张开喷气 | 干咳张口、湿咳可能闭合 |\n| 音频特征 | 短促喷气声 | 干咳：短促刺耳；湿咳：含痰低沉 |\n| 持续时间 | 极短（<1秒） | 稍长（1-3秒） |\n| 常见原因 | 灰尘、过敏、鼻炎 | 犬窝咳、肺炎、气管炎、异物 |\n\n## 🏥 咳嗽类型参考\n\n| 咳嗽类型 | 特征 | 可能原因 |\n|----------|------|----------|\n| 🌬️ 干咳 | 无痰，声音清脆刺耳 | 犬窝咳、气管塌陷、过敏 |\n| 💧 湿咳 | 有痰音，声音低沉浑浊 | 肺炎、支气管炎 |\n| 🪶 鹅鸣咳 | 类似鹅叫声 | 气管塌陷（小型犬常见） |\n| 🌙 夜间咳 | 仅在夜间或躺下时咳嗽 | 心脏病（二尖瓣疾病） |\n\n## 🚨 预警分级\n\n| 等级 | 触发条件 | 建议 |\n|------|----------|------|\n| 🟢 偶发 | 单次打喷嚏/咳嗽，无连续 | 正常清理呼吸道，继续观察 |\n| 🟡 轻度 | 连续打喷嚏 ≥3次/分钟 或 咳嗽 2-3次/小时 | 留意环境粉尘、香水等刺激源 |\n| 🟠 频繁 | 打喷嚏频繁或 咳嗽 ≥5次/小时 | 建议预约兽医检查呼吸道 |\n| 🔴 严重 | 咳嗽持续不断、伴喘息/呼吸困难 | ⚠️ 立即就医，警惕肺炎、心衰 |\n\n## 💡 高风险品种与场景\n\n| 类别 | 重点关注原因 |\n|------|--------------|\n| 短鼻犬（巴哥、法斗、英斗等） | 气管塌陷风险高，鹅鸣咳常见 |\n| 幼犬（未完成疫苗接种） | 犬窝咳传染性强，需隔离观察 |\n| 猫咪（多猫环境） | 猫疱疹病毒、杯状病毒易传播 |\n| 老年犬 | 慢性支气管炎、心脏病（夜间咳嗽） |\n| 换季/花粉季 | 过敏性喷嚏频发 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_sneeze_cough_detection_analysis.py`](scripts/smyx_sneeze_cough_detection_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 视频要求：支持 mp4/avi/mov 格式，最大 10MB；建议时长 ≥ 30 秒 |\n| 🔎 使用提醒 | **含音频的视频可大幅提升检测准确率**，建议使用带麦克风的摄像头拍摄 |\n| 🔎 使用提醒 | 摄像头需固定，视角覆盖宠物头部及胸腹部，移动拍摄可能影响检测效果 |\n| 🧑‍⚖️ 结果性质 | **检测结果仅供行为观察参考，不提供医疗诊断**；频繁发作建议及时就医 |\n| 🔎 使用提醒 | 宠物打哈欠、伸懒腰等动作可能产生误检，建议结合频次和连续性综合判断 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 当显示历史检测报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地宠物活动视频\npython -m scripts.smyx_sneeze_cough_detection_analysis --input /path/to/pet_video.mp4 --pet-type cat\n\n# 分析网络宠物活动视频\npython -m scripts.smyx_sneeze_cough_detection_analysis --url https://example.com/pet_video.mp4 --pet-type dog\n\n# 显示历史检测报告/显示报告清单列表（自动触发关键词：查看历史咳嗽报告、打喷嚏报告清单等）\npython -m scripts.smyx_sneeze_cough_detection_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_sneeze_cough_detection_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_sneeze_cough_detection_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.10:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-sneeze-cough-detection-analysis\",\n  \"version\": \"1.0.10\",\n  \"publishedAt\": 1787628269828\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- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动通用 AI 分析任务（打喷嚏/咳嗽检测）\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_SNEEZE_COUGH_DETECTION_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: dev\n\nFile v1.0.10:skill-card.md\n\n## Description:\n\nAnalyzes pet video, with optional audio, to detect sneeze and cough events, distinguish occasional from repeated patterns, and return structured observations, frequency details, suggested follow-up, and report links.\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 such as pet owners, animal hospital staff, and boarding center operators use this skill to analyze pet activity videos for sneeze or cough events, review event frequency and type, and retrieve structured historical reports. Results are behavior observations and are not a veterinary diagnosis.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Pet-camera video or audio may be uploaded to remote analysis services and associated with cloud report history.\n\nMitigation: Use only footage appropriate for remote processing, disclose processing and retention expectations to users, and avoid sensitive home footage unless those terms are clear.\n\nRisk: Default configuration includes insecure HTTP endpoints for some service URLs, which can expose media, identity data, or tokens in transit.\n\nMitigation: Require HTTPS endpoints for all production use and verify endpoint configuration before installing or running the skill.\n\nRisk: The skill can silently create or reuse a persistent local identity and persist service tokens in the workspace data store.\n\nMitigation: Give users explicit control over identity creation, isolate workspace data, and provide a documented way to revoke, rotate, or delete stored tokens.\n\nRisk: Behavior-detection output can be misread as veterinary diagnosis or treatment advice.\n\nMitigation: Present results as observation support only and route frequent, severe, or ambiguous events to veterinary review.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/18072937735/skills/smyx-sneeze-cough-detection-analysis)\n- [API Interface Documentation](artifact/references/api_doc.md)\n- [Shared Analysis API Documentation](artifact/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, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown and JSON-formatted structured analysis text with report links]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May write the analysis output to a caller-specified file path.]\n\n## Skill Version(s):\n\n1.0.10 (source: evidence release and SKILL.md frontmatter)\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.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, 39884 bytes\n\nFiles: references/api_doc.md (676b), scripts/__init__.py (54b), scripts/config.py (677b), scripts/config.yaml (3b), scripts/skill.py (577b), scripts/smyx_sneeze_cough_detection_analysis.py (3497b), skill-card.md (2627b), SKILL.md (13122b), 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 (155b)\n\nFile v1.0.9:SKILL.md\n\n---\nname: \"smyx-sneeze-cough-detection-analysis\"\ndescription: \"AI-powered pet sneeze/cough detection from real-time camera (optional audio fusion). Analyzes head and thoracic-abdominal motion plus sound features to distinguish single occasional events (normal airway clearing) from continuous bursts (e.g. ≥3 sneezes/min, frequent dry/wet coughing) and records event time and frequency. Helps catch respiratory infection, allergy, or foreign-body irritation early. Scenarios: home health monitoring, animal hospital wards, pet boarding centers. | 通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。\"\nversion: \"1.0.10\"\nlicense: \"MIT-0\"\n---\n\n# 💨 Pet Sneeze / Cough Detection | 宠物打喷嚏/咳嗽检测\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物打喷嚏/咳嗽检测** |\n| 🎯 核心目标 | 通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_SNEEZE_COUGH_DETECTION_ANALYSIS` |\n\nAI-powered pet sneeze/cough detection from real-time camera (optional audio fusion). Analyzes head and thoracic-abdominal motion plus sound features to distinguish single occasional events (normal airway clearing) from continuous bursts (e.g. ≥3 sneezes/min, frequent dry/wet coughing) and records event time and frequency. Helps catch respiratory infection, allergy, or foreign-body irritation early. Scenarios: home health monitoring, animal hospital wards, pet boarding centers.\n\n通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的宠物呼吸健康AI。你的任务是分析宠物活动的实时视频（可选配合音频），检测打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理）与连续发作（异常），记录事件时间、频次和类型。不要提供医疗诊断，仅输出基于视觉和音频的客观行为识别结果。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过室内摄像头视频（可选叠加音频）进行打喷嚏与咳嗽行为识别，区分偶发与连续发作，记录事件时间、频次和类型\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 打喷嚏动作识别（头部抖动+鼻部喷气） |\n| 2 | 咳嗽动作识别（颈部前伸+腹部收缩） |\n| 3 | 咳嗽类型区分（干咳/湿咳） |\n| 4 | 音频特征融合（可选） |\n| 5 | 连续发作频次统计 |\n| 6 | 单次偶发与异常发作区分 |\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.smyx_sneeze_cough_detection_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_sneeze_cough_detection_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行打喷嚏/咳嗽检测 | 调用 `-m scripts.smyx_sneeze_cough_detection_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看检测结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地宠物活动视频（含音频）文件路径 | 适用于本地文件分析 |\n| `--url` | 网络宠物活动视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 cat | 按需填写 |\n| `--list` | 显示打喷嚏/咳嗽检测历史报告列表清单 | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 💨 打喷嚏 vs 咳嗽：动作特征区分\n\n| 特征 | 打喷嚏（Sneeze） | 咳嗽（Cough） |\n|------|------------------|----------------|\n| 主要部位 | 头部突然前伸抖动 | 颈部前伸 + 胸腹收缩 |\n| 嘴巴 | 张开喷气 | 干咳张口、湿咳可能闭合 |\n| 音频特征 | 短促喷气声 | 干咳：短促刺耳；湿咳：含痰低沉 |\n| 持续时间 | 极短（<1秒） | 稍长（1-3秒） |\n| 常见原因 | 灰尘、过敏、鼻炎 | 犬窝咳、肺炎、气管炎、异物 |\n\n## 🏥 咳嗽类型参考\n\n| 咳嗽类型 | 特征 | 可能原因 |\n|----------|------|----------|\n| 🌬️ 干咳 | 无痰，声音清脆刺耳 | 犬窝咳、气管塌陷、过敏 |\n| 💧 湿咳 | 有痰音，声音低沉浑浊 | 肺炎、支气管炎 |\n| 🪶 鹅鸣咳 | 类似鹅叫声 | 气管塌陷（小型犬常见） |\n| 🌙 夜间咳 | 仅在夜间或躺下时咳嗽 | 心脏病（二尖瓣疾病） |\n\n## 🚨 预警分级\n\n| 等级 | 触发条件 | 建议 |\n|------|----------|------|\n| 🟢 偶发 | 单次打喷嚏/咳嗽，无连续 | 正常清理呼吸道，继续观察 |\n| 🟡 轻度 | 连续打喷嚏 ≥3次/分钟 或 咳嗽 2-3次/小时 | 留意环境粉尘、香水等刺激源 |\n| 🟠 频繁 | 打喷嚏频繁或 咳嗽 ≥5次/小时 | 建议预约兽医检查呼吸道 |\n| 🔴 严重 | 咳嗽持续不断、伴喘息/呼吸困难 | ⚠️ 立即就医，警惕肺炎、心衰 |\n\n## 💡 高风险品种与场景\n\n| 类别 | 重点关注原因 |\n|------|--------------|\n| 短鼻犬（巴哥、法斗、英斗等） | 气管塌陷风险高，鹅鸣咳常见 |\n| 幼犬（未完成疫苗接种） | 犬窝咳传染性强，需隔离观察 |\n| 猫咪（多猫环境） | 猫疱疹病毒、杯状病毒易传播 |\n| 老年犬 | 慢性支气管炎、心脏病（夜间咳嗽） |\n| 换季/花粉季 | 过敏性喷嚏频发 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_sneeze_cough_detection_analysis.py`](scripts/smyx_sneeze_cough_detection_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 视频要求：支持 mp4/avi/mov 格式，最大 10MB；建议时长 ≥ 30 秒 |\n| 🔎 使用提醒 | **含音频的视频可大幅提升检测准确率**，建议使用带麦克风的摄像头拍摄 |\n| 🔎 使用提醒 | 摄像头需固定，视角覆盖宠物头部及胸腹部，移动拍摄可能影响检测效果 |\n| 🧑‍⚖️ 结果性质 | **检测结果仅供行为观察参考，不提供医疗诊断**；频繁发作建议及时就医 |\n| 🔎 使用提醒 | 宠物打哈欠、伸懒腰等动作可能产生误检，建议结合频次和连续性综合判断 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 当显示历史检测报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地宠物活动视频\npython -m scripts.smyx_sneeze_cough_detection_analysis --input /path/to/pet_video.mp4 --pet-type cat\n\n# 分析网络宠物活动视频\npython -m scripts.smyx_sneeze_cough_detection_analysis --url https://example.com/pet_video.mp4 --pet-type dog\n\n# 显示历史检测报告/显示报告清单列表（自动触发关键词：查看历史咳嗽报告、打喷嚏报告清单等）\npython -m scripts.smyx_sneeze_cough_detection_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_sneeze_cough_detection_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_sneeze_cough_detection_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.9:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-sneeze-cough-detection-analysis\",\n  \"version\": \"1.0.9\",\n  \"publishedAt\": 1787083109463\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- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动通用 AI 分析任务（打喷嚏/咳嗽检测）\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_SNEEZE_COUGH_DETECTION_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: dev\n\nFile v1.0.9:skill-card.md\n\n## Description:\n\nAnalyzes pet video, with optional audio, to detect sneeze and cough events, classify patterns such as dry or wet coughs, count frequency, and return a structured observation report.\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 such as pet owners, veterinary staff, and pet boarding operators use this skill to submit pet activity videos or URLs for respiratory behavior observation, frequency tracking, and historical report lookup. The output is behavioral analysis for monitoring support, not a veterinary diagnosis.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Pet videos, audio, media URLs, and identity-linked report data are sent to vendor cloud services for analysis and history lookup.\n\nMitigation: Use only media that is appropriate to upload to the vendor service, avoid sensitive home footage, and confirm vendor retention and account practices before deployment.\n\nRisk: The skill can silently create or reuse an account-linked identity and store access tokens in a local workspace database.\n\nMitigation: Run the skill in an isolated workspace, restrict workspace access, and clear local token or database files when the analysis history is no longer needed.\n\nRisk: The analysis is behavioral observation and may be wrong or incomplete for medical decisions.\n\nMitigation: Treat the output as monitoring support only and direct frequent, severe, or unclear symptoms to a veterinarian.\n\n## Reference(s):\n\n- [API Interface Documentation](references/api_doc.md)\n- [SMYX Analysis API Documentation](skills/smyx_analysis/references/api_doc.md)\n- [Skill Demo](https://lifeemergence.com/sample.html)\n- [ClawHub Skill Page](https://clawhub.ai/18072937735/skills/smyx-sneeze-cough-detection-analysis)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Guidance]\n\n**Output Format:** [Markdown text containing structured JSON-style analysis results, history lists, recommendations, and report links]\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.9 (source: server release metadata and target metadata; artifact frontmatter states 1.0.10)\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.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\n\nArchive v1.0.8: 31 files, 39911 bytes\n\nFiles: references/api_doc.md (676b), scripts/__init__.py (54b), scripts/config.py (677b), scripts/config.yaml (3b), scripts/skill.py (577b), scripts/smyx_sneeze_cough_detection_analysis.py (3497b), skill-card.md (2670b), SKILL.md (13121b), 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 (155b)\n\nFile v1.0.8:SKILL.md\n\n---\nname: \"smyx-sneeze-cough-detection-analysis\"\ndescription: \"AI-powered pet sneeze/cough detection from real-time camera (optional audio fusion). Analyzes head and thoracic-abdominal motion plus sound features to distinguish single occasional events (normal airway clearing) from continuous bursts (e.g. ≥3 sneezes/min, frequent dry/wet coughing) and records event time and frequency. Helps catch respiratory infection, allergy, or foreign-body irritation early. Scenarios: home health monitoring, animal hospital wards, pet boarding centers. | 通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。\"\nversion: \"1.0.9\"\nlicense: \"MIT-0\"\n---\n\n# 💨 Pet Sneeze / Cough Detection | 宠物打喷嚏/咳嗽检测\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物打喷嚏/咳嗽检测** |\n| 🎯 核心目标 | 通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_SNEEZE_COUGH_DETECTION_ANALYSIS` |\n\nAI-powered pet sneeze/cough detection from real-time camera (optional audio fusion). Analyzes head and thoracic-abdominal motion plus sound features to distinguish single occasional events (normal airway clearing) from continuous bursts (e.g. ≥3 sneezes/min, frequent dry/wet coughing) and records event time and frequency. Helps catch respiratory infection, allergy, or foreign-body irritation early. Scenarios: home health monitoring, animal hospital wards, pet boarding centers.\n\n通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的宠物呼吸健康AI。你的任务是分析宠物活动的实时视频（可选配合音频），检测打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理）与连续发作（异常），记录事件时间、频次和类型。不要提供医疗诊断，仅输出基于视觉和音频的客观行为识别结果。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过室内摄像头视频（可选叠加音频）进行打喷嚏与咳嗽行为识别，区分偶发与连续发作，记录事件时间、频次和类型\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 打喷嚏动作识别（头部抖动+鼻部喷气） |\n| 2 | 咳嗽动作识别（颈部前伸+腹部收缩） |\n| 3 | 咳嗽类型区分（干咳/湿咳） |\n| 4 | 音频特征融合（可选） |\n| 5 | 连续发作频次统计 |\n| 6 | 单次偶发与异常发作区分 |\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.smyx_sneeze_cough_detection_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_sneeze_cough_detection_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行打喷嚏/咳嗽检测 | 调用 `-m scripts.smyx_sneeze_cough_detection_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看检测结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地宠物活动视频（含音频）文件路径 | 适用于本地文件分析 |\n| `--url` | 网络宠物活动视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 cat | 按需填写 |\n| `--list` | 显示打喷嚏/咳嗽检测历史报告列表清单 | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 💨 打喷嚏 vs 咳嗽：动作特征区分\n\n| 特征 | 打喷嚏（Sneeze） | 咳嗽（Cough） |\n|------|------------------|----------------|\n| 主要部位 | 头部突然前伸抖动 | 颈部前伸 + 胸腹收缩 |\n| 嘴巴 | 张开喷气 | 干咳张口、湿咳可能闭合 |\n| 音频特征 | 短促喷气声 | 干咳：短促刺耳；湿咳：含痰低沉 |\n| 持续时间 | 极短（<1秒） | 稍长（1-3秒） |\n| 常见原因 | 灰尘、过敏、鼻炎 | 犬窝咳、肺炎、气管炎、异物 |\n\n## 🏥 咳嗽类型参考\n\n| 咳嗽类型 | 特征 | 可能原因 |\n|----------|------|----------|\n| 🌬️ 干咳 | 无痰，声音清脆刺耳 | 犬窝咳、气管塌陷、过敏 |\n| 💧 湿咳 | 有痰音，声音低沉浑浊 | 肺炎、支气管炎 |\n| 🪶 鹅鸣咳 | 类似鹅叫声 | 气管塌陷（小型犬常见） |\n| 🌙 夜间咳 | 仅在夜间或躺下时咳嗽 | 心脏病（二尖瓣疾病） |\n\n## 🚨 预警分级\n\n| 等级 | 触发条件 | 建议 |\n|------|----------|------|\n| 🟢 偶发 | 单次打喷嚏/咳嗽，无连续 | 正常清理呼吸道，继续观察 |\n| 🟡 轻度 | 连续打喷嚏 ≥3次/分钟 或 咳嗽 2-3次/小时 | 留意环境粉尘、香水等刺激源 |\n| 🟠 频繁 | 打喷嚏频繁或 咳嗽 ≥5次/小时 | 建议预约兽医检查呼吸道 |\n| 🔴 严重 | 咳嗽持续不断、伴喘息/呼吸困难 | ⚠️ 立即就医，警惕肺炎、心衰 |\n\n## 💡 高风险品种与场景\n\n| 类别 | 重点关注原因 |\n|------|--------------|\n| 短鼻犬（巴哥、法斗、英斗等） | 气管塌陷风险高，鹅鸣咳常见 |\n| 幼犬（未完成疫苗接种） | 犬窝咳传染性强，需隔离观察 |\n| 猫咪（多猫环境） | 猫疱疹病毒、杯状病毒易传播 |\n| 老年犬 | 慢性支气管炎、心脏病（夜间咳嗽） |\n| 换季/花粉季 | 过敏性喷嚏频发 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_sneeze_cough_detection_analysis.py`](scripts/smyx_sneeze_cough_detection_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 视频要求：支持 mp4/avi/mov 格式，最大 10MB；建议时长 ≥ 30 秒 |\n| 🔎 使用提醒 | **含音频的视频可大幅提升检测准确率**，建议使用带麦克风的摄像头拍摄 |\n| 🔎 使用提醒 | 摄像头需固定，视角覆盖宠物头部及胸腹部，移动拍摄可能影响检测效果 |\n| 🧑‍⚖️ 结果性质 | **检测结果仅供行为观察参考，不提供医疗诊断**；频繁发作建议及时就医 |\n| 🔎 使用提醒 | 宠物打哈欠、伸懒腰等动作可能产生误检，建议结合频次和连续性综合判断 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 当显示历史检测报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地宠物活动视频\npython -m scripts.smyx_sneeze_cough_detection_analysis --input /path/to/pet_video.mp4 --pet-type cat\n\n# 分析网络宠物活动视频\npython -m scripts.smyx_sneeze_cough_detection_analysis --url https://example.com/pet_video.mp4 --pet-type dog\n\n# 显示历史检测报告/显示报告清单列表（自动触发关键词：查看历史咳嗽报告、打喷嚏报告清单等）\npython -m scripts.smyx_sneeze_cough_detection_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_sneeze_cough_detection_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_sneeze_cough_detection_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.8:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-sneeze-cough-detection-analysis\",\n  \"version\": \"1.0.8\",\n  \"publishedAt\": 1786835547343\n}\n\nFile v1.0.8:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物打喷嚏/咳嗽检测 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动通用 AI 分析任务（打喷嚏/咳嗽检测）\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_SNEEZE_COUGH_DETECTION_ANALYSIS` - 宠物打喷嚏/咳嗽检测\n\nFile v1.0.8:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.8:scripts/config.yaml\n\n{}\n\nFile v1.0.8:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.8:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.8:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.8:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: dev\n\nFile v1.0.8:skill-card.md\n\n## Description:\n\nAnalyzes pet activity video, with optional audio, to identify sneeze and cough events, summarize timing and frequency, and provide behavior-observation guidance without making a medical diagnosis.\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\nPet owners, animal hospital staff, and boarding center operators use this skill to submit pet activity videos or URLs for sneeze and cough behavior analysis and to review historical detection reports. Results are intended for observation and triage support, not veterinary diagnosis.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Media and identity-bearing requests are sent to an external analysis service.\n\nMitigation: Use only videos that are appropriate to share with that service and review endpoint configuration before execution.\n\nRisk: The skill may silently create or reuse a local identity and persist service tokens in the workspace database.\n\nMitigation: Run in a trusted workspace, avoid shared machines for sensitive use, and clear stored credentials when they are no longer needed.\n\nRisk: Development or private endpoint configuration may be present.\n\nMitigation: Check and replace endpoint settings before installation or production use.\n\nRisk: Behavior analysis may be mistaken for veterinary diagnosis.\n\nMitigation: Treat outputs as observation support only and consult a veterinarian for frequent, severe, or concerning symptoms.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/18072937735/skills/smyx-sneeze-cough-detection-analysis)\n- [Skill Demo](https://lifeemergence.com/sample.html)\n- [Pet Sneeze/Cough Detection API Documentation](references/api_doc.md)\n- [Common Analysis API Documentation](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 event summaries, frequency observations, recommendations, and report links.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Can print results to stdout, write a requested output file, or return a Markdown table of historical reports.]\n\n## Skill Version(s):\n\n1.0.8 (source: server release metadata; artifact frontmatter reports 1.0.9)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.8:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.8:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.7: 31 files, 39794 bytes\n\nFiles: references/api_doc.md (676b), scripts/__init__.py (54b), scripts/config.py (677b), scripts/config.yaml (3b), scripts/skill.py (577b), scripts/smyx_sneeze_cough_detection_analysis.py (3497b), skill-card.md (2467b), SKILL.md (13121b), 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 (155b)\n\nFile v1.0.7:SKILL.md\n\n---\nname: \"smyx-sneeze-cough-detection-analysis\"\ndescription: \"AI-powered pet sneeze/cough detection from real-time camera (optional audio fusion). Analyzes head and thoracic-abdominal motion plus sound features to distinguish single occasional events (normal airway clearing) from continuous bursts (e.g. ≥3 sneezes/min, frequent dry/wet coughing) and records event time and frequency. Helps catch respiratory infection, allergy, or foreign-body irritation early. Scenarios: home health monitoring, animal hospital wards, pet boarding centers. | 通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。\"\nversion: \"1.0.8\"\nlicense: \"MIT-0\"\n---\n\n# 💨 Pet Sneeze / Cough Detection | 宠物打喷嚏/咳嗽检测\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物打喷嚏/咳嗽检测** |\n| 🎯 核心目标 | 通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_SNEEZE_COUGH_DETECTION_ANALYSIS` |\n\nAI-powered pet sneeze/cough detection from real-time camera (optional audio fusion). Analyzes head and thoracic-abdominal motion plus sound features to distinguish single occasional events (normal airway clearing) from continuous bursts (e.g. ≥3 sneezes/min, frequent dry/wet coughing) and records event time and frequency. Helps catch respiratory infection, allergy, or foreign-body irritation early. Scenarios: home health monitoring, animal hospital wards, pet boarding centers.\n\n通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的宠物呼吸健康AI。你的任务是分析宠物活动的实时视频（可选配合音频），检测打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理）与连续发作（异常），记录事件时间、频次和类型。不要提供医疗诊断，仅输出基于视觉和音频的客观行为识别结果。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过室内摄像头视频（可选叠加音频）进行打喷嚏与咳嗽行为识别，区分偶发与连续发作，记录事件时间、频次和类型\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 打喷嚏动作识别（头部抖动+鼻部喷气） |\n| 2 | 咳嗽动作识别（颈部前伸+腹部收缩） |\n| 3 | 咳嗽类型区分（干咳/湿咳） |\n| 4 | 音频特征融合（可选） |\n| 5 | 连续发作频次统计 |\n| 6 | 单次偶发与异常发作区分 |\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.smyx_sneeze_cough_detection_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_sneeze_cough_detection_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行打喷嚏/咳嗽检测 | 调用 `-m scripts.smyx_sneeze_cough_detection_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看检测结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地宠物活动视频（含音频）文件路径 | 适用于本地文件分析 |\n| `--url` | 网络宠物活动视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 cat | 按需填写 |\n| `--list` | 显示打喷嚏/咳嗽检测历史报告列表清单 | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 💨 打喷嚏 vs 咳嗽：动作特征区分\n\n| 特征 | 打喷嚏（Sneeze） | 咳嗽（Cough） |\n|------|------------------|----------------|\n| 主要部位 | 头部突然前伸抖动 | 颈部前伸 + 胸腹收缩 |\n| 嘴巴 | 张开喷气 | 干咳张口、湿咳可能闭合 |\n| 音频特征 | 短促喷气声 | 干咳：短促刺耳；湿咳：含痰低沉 |\n| 持续时间 | 极短（<1秒） | 稍长（1-3秒） |\n| 常见原因 | 灰尘、过敏、鼻炎 | 犬窝咳、肺炎、气管炎、异物 |\n\n## 🏥 咳嗽类型参考\n\n| 咳嗽类型 | 特征 | 可能原因 |\n|----------|------|----------|\n| 🌬️ 干咳 | 无痰，声音清脆刺耳 | 犬窝咳、气管塌陷、过敏 |\n| 💧 湿咳 | 有痰音，声音低沉浑浊 | 肺炎、支气管炎 |\n| 🪶 鹅鸣咳 | 类似鹅叫声 | 气管塌陷（小型犬常见） |\n| 🌙 夜间咳 | 仅在夜间或躺下时咳嗽 | 心脏病（二尖瓣疾病） |\n\n## 🚨 预警分级\n\n| 等级 | 触发条件 | 建议 |\n|------|----------|------|\n| 🟢 偶发 | 单次打喷嚏/咳嗽，无连续 | 正常清理呼吸道，继续观察 |\n| 🟡 轻度 | 连续打喷嚏 ≥3次/分钟 或 咳嗽 2-3次/小时 | 留意环境粉尘、香水等刺激源 |\n| 🟠 频繁 | 打喷嚏频繁或 咳嗽 ≥5次/小时 | 建议预约兽医检查呼吸道 |\n| 🔴 严重 | 咳嗽持续不断、伴喘息/呼吸困难 | ⚠️ 立即就医，警惕肺炎、心衰 |\n\n## 💡 高风险品种与场景\n\n| 类别 | 重点关注原因 |\n|------|--------------|\n| 短鼻犬（巴哥、法斗、英斗等） | 气管塌陷风险高，鹅鸣咳常见 |\n| 幼犬（未完成疫苗接种） | 犬窝咳传染性强，需隔离观察 |\n| 猫咪（多猫环境） | 猫疱疹病毒、杯状病毒易传播 |\n| 老年犬 | 慢性支气管炎、心脏病（夜间咳嗽） |\n| 换季/花粉季 | 过敏性喷嚏频发 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_sneeze_cough_detection_analysis.py`](scripts/smyx_sneeze_cough_detection_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 视频要求：支持 mp4/avi/mov 格式，最大 10MB；建议时长 ≥ 30 秒 |\n| 🔎 使用提醒 | **含音频的视频可大幅提升检测准确率**，建议使用带麦克风的摄像头拍摄 |\n| 🔎 使用提醒 | 摄像头需固定，视角覆盖宠物头部及胸腹部，移动拍摄可能影响检测效果 |\n| 🧑‍⚖️ 结果性质 | **检测结果仅供行为观察参考，不提供医疗诊断**；频繁发作建议及时就医 |\n| 🔎 使用提醒 | 宠物打哈欠、伸懒腰等动作可能产生误检，建议结合频次和连续性综合判断 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 当显示历史检测报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地宠物活动视频\npython -m scripts.smyx_sneeze_cough_detection_analysis --input /path/to/pet_video.mp4 --pet-type cat\n\n# 分析网络宠物活动视频\npython -m scripts.smyx_sneeze_cough_detection_analysis --url https://example.com/pet_video.mp4 --pet-type dog\n\n# 显示历史检测报告/显示报告清单列表（自动触发关键词：查看历史咳嗽报告、打喷嚏报告清单等）\npython -m scripts.smyx_sneeze_cough_detection_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_sneeze_cough_detection_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_sneeze_cough_detection_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.7:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-sneeze-cough-detection-analysis\",\n  \"version\": \"1.0.7\",\n  \"publishedAt\": 1786244072435\n}\n\nFile v1.0.7:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物打喷嚏/咳嗽检测 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动通用 AI 分析任务（打喷嚏/咳嗽检测）\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_SNEEZE_COUGH_DETECTION_ANALYSIS` - 宠物打喷嚏/咳嗽检测\n\nFile v1.0.7:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.7:scripts/config.yaml\n\n{}\n\nFile v1.0.7:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.7:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.7:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.7:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.7:skill-card.md\n\n## Description:\n\nAnalyzes pet video, optional audio, and remote media URLs to identify sneeze and cough events, distinguish occasional from repeated episodes, and return structured observation reports with event timing, frequency, and links to cloud reports.\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 pet-care operators use this skill to review pet camera footage for sneeze and cough behavior, including event type, frequency, timing, and non-diagnostic observation guidance. It is suited to home monitoring, veterinary ward observation, and pet boarding scenarios where media can be sent to the configured cloud analysis service.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Pet videos, optional audio, and remote media URLs are sent to the configured cloud analysis service.\n\nMitigation: Use only media that is appropriate for cloud processing and avoid private, internal, or sensitive household URLs unless that data sharing is acceptable.\n\nRisk: The skill can create or reuse an account identity, store tokens locally, and retrieve cloud report history.\n\nMitigation: Review account and token handling before installation and run the skill only in environments where cloud-linked report history is expected.\n\nRisk: The behavior analysis output may be mistaken for medical diagnosis.\n\nMitigation: Treat results as observation support only and refer frequent or severe symptoms to a veterinarian.\n\n## Reference(s):\n\n- [Pet sneeze/cough API documentation](references/api_doc.md)\n- [Skill usage demo](https://lifeemergence.com/sample.html)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown or text reports with optional JSON detail and optional saved output file]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Can query cloud report history and can write the generated analysis output to a caller-specified path.]\n\n## Skill Version(s):\n\n1.0.7 (source: server release metadata; artifact frontmatter lists 1.0.8)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.7:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.7:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.6: 31 files, 39930 bytes\n\nFiles: references/api_doc.md (676b), scripts/__init__.py (54b), scripts/config.py (677b), scripts/config.yaml (3b), scripts/skill.py (577b), scripts/smyx_sneeze_cough_detection_analysis.py (3497b), skill-card.md (2788b), SKILL.md (13121b), 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 (155b)\n\nFile v1.0.6:SKILL.md\n\n---\nname: \"smyx-sneeze-cough-detection-analysis\"\ndescription: \"AI-powered pet sneeze/cough detection from real-time camera (optional audio fusion). Analyzes head and thoracic-abdominal motion plus sound features to distinguish single occasional events (normal airway clearing) from continuous bursts (e.g. ≥3 sneezes/min, frequent dry/wet coughing) and records event time and frequency. Helps catch respiratory infection, allergy, or foreign-body irritation early. Scenarios: home health monitoring, animal hospital wards, pet boarding centers. | 通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。\"\nversion: \"1.0.7\"\nlicense: \"MIT-0\"\n---\n\n# 💨 Pet Sneeze / Cough Detection | 宠物打喷嚏/咳嗽检测\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物打喷嚏/咳嗽检测** |\n| 🎯 核心目标 | 通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_SNEEZE_COUGH_DETECTION_ANALYSIS` |\n\nAI-powered pet sneeze/cough detection from real-time camera (optional audio fusion). Analyzes head and thoracic-abdominal motion plus sound features to distinguish single occasional events (normal airway clearing) from continuous bursts (e.g. ≥3 sneezes/min, frequent dry/wet coughing) and records event time and frequency. Helps catch respiratory infection, allergy, or foreign-body irritation early. Scenarios: home health monitoring, animal hospital wards, pet boarding centers.\n\n通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的宠物呼吸健康AI。你的任务是分析宠物活动的实时视频（可选配合音频），检测打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理）与连续发作（异常），记录事件时间、频次和类型。不要提供医疗诊断，仅输出基于视觉和音频的客观行为识别结果。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过室内摄像头视频（可选叠加音频）进行打喷嚏与咳嗽行为识别，区分偶发与连续发作，记录事件时间、频次和类型\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 打喷嚏动作识别（头部抖动+鼻部喷气） |\n| 2 | 咳嗽动作识别（颈部前伸+腹部收缩） |\n| 3 | 咳嗽类型区分（干咳/湿咳） |\n| 4 | 音频特征融合（可选） |\n| 5 | 连续发作频次统计 |\n| 6 | 单次偶发与异常发作区分 |\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.smyx_sneeze_cough_detection_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_sneeze_cough_detection_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行打喷嚏/咳嗽检测 | 调用 `-m scripts.smyx_sneeze_cough_detection_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看检测结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地宠物活动视频（含音频）文件路径 | 适用于本地文件分析 |\n| `--url` | 网络宠物活动视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 cat | 按需填写 |\n| `--list` | 显示打喷嚏/咳嗽检测历史报告列表清单 | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 💨 打喷嚏 vs 咳嗽：动作特征区分\n\n| 特征 | 打喷嚏（Sneeze） | 咳嗽（Cough） |\n|------|------------------|----------------|\n| 主要部位 | 头部突然前伸抖动 | 颈部前伸 + 胸腹收缩 |\n| 嘴巴 | 张开喷气 | 干咳张口、湿咳可能闭合 |\n| 音频特征 | 短促喷气声 | 干咳：短促刺耳；湿咳：含痰低沉 |\n| 持续时间 | 极短（<1秒） | 稍长（1-3秒） |\n| 常见原因 | 灰尘、过敏、鼻炎 | 犬窝咳、肺炎、气管炎、异物 |\n\n## 🏥 咳嗽类型参考\n\n| 咳嗽类型 | 特征 | 可能原因 |\n|----------|------|----------|\n| 🌬️ 干咳 | 无痰，声音清脆刺耳 | 犬窝咳、气管塌陷、过敏 |\n| 💧 湿咳 | 有痰音，声音低沉浑浊 | 肺炎、支气管炎 |\n| 🪶 鹅鸣咳 | 类似鹅叫声 | 气管塌陷（小型犬常见） |\n| 🌙 夜间咳 | 仅在夜间或躺下时咳嗽 | 心脏病（二尖瓣疾病） |\n\n## 🚨 预警分级\n\n| 等级 | 触发条件 | 建议 |\n|------|----------|------|\n| 🟢 偶发 | 单次打喷嚏/咳嗽，无连续 | 正常清理呼吸道，继续观察 |\n| 🟡 轻度 | 连续打喷嚏 ≥3次/分钟 或 咳嗽 2-3次/小时 | 留意环境粉尘、香水等刺激源 |\n| 🟠 频繁 | 打喷嚏频繁或 咳嗽 ≥5次/小时 | 建议预约兽医检查呼吸道 |\n| 🔴 严重 | 咳嗽持续不断、伴喘息/呼吸困难 | ⚠️ 立即就医，警惕肺炎、心衰 |\n\n## 💡 高风险品种与场景\n\n| 类别 | 重点关注原因 |\n|------|--------------|\n| 短鼻犬（巴哥、法斗、英斗等） | 气管塌陷风险高，鹅鸣咳常见 |\n| 幼犬（未完成疫苗接种） | 犬窝咳传染性强，需隔离观察 |\n| 猫咪（多猫环境） | 猫疱疹病毒、杯状病毒易传播 |\n| 老年犬 | 慢性支气管炎、心脏病（夜间咳嗽） |\n| 换季/花粉季 | 过敏性喷嚏频发 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_sneeze_cough_detection_analysis.py`](scripts/smyx_sneeze_cough_detection_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 视频要求：支持 mp4/avi/mov 格式，最大 10MB；建议时长 ≥ 30 秒 |\n| 🔎 使用提醒 | **含音频的视频可大幅提升检测准确率**，建议使用带麦克风的摄像头拍摄 |\n| 🔎 使用提醒 | 摄像头需固定，视角覆盖宠物头部及胸腹部，移动拍摄可能影响检测效果 |\n| 🧑‍⚖️ 结果性质 | **检测结果仅供行为观察参考，不提供医疗诊断**；频繁发作建议及时就医 |\n| 🔎 使用提醒 | 宠物打哈欠、伸懒腰等动作可能产生误检，建议结合频次和连续性综合判断 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 当显示历史检测报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地宠物活动视频\npython -m scripts.smyx_sneeze_cough_detection_analysis --input /path/to/pet_video.mp4 --pet-type cat\n\n# 分析网络宠物活动视频\npython -m scripts.smyx_sneeze_cough_detection_analysis --url https://example.com/pet_video.mp4 --pet-type dog\n\n# 显示历史检测报告/显示报告清单列表（自动触发关键词：查看历史咳嗽报告、打喷嚏报告清单等）\npython -m scripts.smyx_sneeze_cough_detection_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_sneeze_cough_detection_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_sneeze_cough_detection_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-sneeze-cough-detection-analysis\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1785114449300\n}\n\nFile v1.0.6:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物打喷嚏/咳嗽检测 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动通用 AI 分析任务（打喷嚏/咳嗽检测）\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_SNEEZE_COUGH_DETECTION_ANALYSIS` - 宠物打喷嚏/咳嗽检测\n\nFile v1.0.6:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.6:scripts/config.yaml\n\n{}\n\nFile v1.0.6:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.6:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.6:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.6:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.6:skill-card.md\n\n## Description: <br>\nAI-powered pet sneeze/cough detection from real-time camera or uploaded pet media, with optional audio fusion, event frequency tracking, structured reports, and historical report lookup. <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, pet owners, boarding operators, and veterinary staff can use this skill to analyze pet video or media URLs for sneeze and cough events, frequency patterns, and non-diagnostic respiratory behavior observations. It can also retrieve cloud-hosted historical reports for the account-linked identity. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Pet videos, media URLs, and generated reports are processed by the publisher's cloud service. <br>\nMitigation: Use only media you are permitted to share and avoid sensitive home, clinic, or boarding-facility footage unless privacy and retention terms are acceptable. <br>\nRisk: The skill may silently use or create an account-linked identity and store tokens locally. <br>\nMitigation: Run it in a controlled workspace, review local credential storage before and after use, and avoid shared machines for sensitive analyses. <br>\nRisk: Detection results concern respiratory health behavior and can be mistaken for medical diagnosis. <br>\nMitigation: Treat outputs as behavioral observations only and refer frequent, severe, or ambiguous events to a qualified veterinarian. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/18072937735/skills/smyx-sneeze-cough-detection-analysis) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n- [Pet sneeze/cough API documentation](references/api_doc.md) <br>\n- [Common analysis API documentation](skills/smyx_analysis/references/api_doc.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, JSON, files, guidance] <br>\n**Output Format:** [Markdown or JSON-style structured analysis text, with optional saved output file and report links.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Outputs may include event type, timing, frequency, risk prompts, suggestions, and cloud report URLs; historical lookup is returned as a Markdown table when available.] <br>\n\n## Skill Version(s): <br>\n1.0.6 (source: server release metadata; artifact frontmatter reports 1.0.7) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.6:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.6:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.5: 31 files, 39917 bytes\n\nFiles: references/api_doc.md (676b), scripts/__init__.py (54b), scripts/config.py (677b), scripts/config.yaml (3b), scripts/skill.py (577b), scripts/smyx_sneeze_cough_detection_analysis.py (3497b), skill-card.md (2860b), SKILL.md (13121b), 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 (155b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: \"smyx-sneeze-cough-detection-analysis\"\ndescription: \"AI-powered pet sneeze/cough detection from real-time camera (optional audio fusion). Analyzes head and thoracic-abdominal motion plus sound features to distinguish single occasional events (normal airway clearing) from continuous bursts (e.g. ≥3 sneezes/min, frequent dry/wet coughing) and records event time and frequency. Helps catch respiratory infection, allergy, or foreign-body irritation early. Scenarios: home health monitoring, animal hospital wards, pet boarding centers. | 通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。\"\nversion: \"1.0.6\"\nlicense: \"MIT-0\"\n---\n\n# 💨 Pet Sneeze / Cough Detection | 宠物打喷嚏/咳嗽检测\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物打喷嚏/咳嗽检测** |\n| 🎯 核心目标 | 通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_SNEEZE_COUGH_DETECTION_ANALYSIS` |\n\nAI-powered pet sneeze/cough detection from real-time camera (optional audio fusion). Analyzes head and thoracic-abdominal motion plus sound features to distinguish single occasional events (normal airway clearing) from continuous bursts (e.g. ≥3 sneezes/min, frequent dry/wet coughing) and records event time and frequency. Helps catch respiratory infection, allergy, or foreign-body irritation early. Scenarios: home health monitoring, animal hospital wards, pet boarding centers.\n\n通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的宠物呼吸健康AI。你的任务是分析宠物活动的实时视频（可选配合音频），检测打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理）与连续发作（异常），记录事件时间、频次和类型。不要提供医疗诊断，仅输出基于视觉和音频的客观行为识别结果。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过室内摄像头视频（可选叠加音频）进行打喷嚏与咳嗽行为识别，区分偶发与连续发作，记录事件时间、频次和类型\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 打喷嚏动作识别（头部抖动+鼻部喷气） |\n| 2 | 咳嗽动作识别（颈部前伸+腹部收缩） |\n| 3 | 咳嗽类型区分（干咳/湿咳） |\n| 4 | 音频特征融合（可选） |\n| 5 | 连续发作频次统计 |\n| 6 | 单次偶发与异常发作区分 |\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.smyx_sneeze_cough_detection_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_sneeze_cough_detection_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行打喷嚏/咳嗽检测 | 调用 `-m scripts.smyx_sneeze_cough_detection_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看检测结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地宠物活动视频（含音频）文件路径 | 适用于本地文件分析 |\n| `--url` | 网络宠物活动视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 cat | 按需填写 |\n| `--list` | 显示打喷嚏/咳嗽检测历史报告列表清单 | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 💨 打喷嚏 vs 咳嗽：动作特征区分\n\n| 特征 | 打喷嚏（Sneeze） | 咳嗽（Cough） |\n|------|------------------|----------------|\n| 主要部位 | 头部突然前伸抖动 | 颈部前伸 + 胸腹收缩 |\n| 嘴巴 | 张开喷气 | 干咳张口、湿咳可能闭合 |\n| 音频特征 | 短促喷气声 | 干咳：短促刺耳；湿咳：含痰低沉 |\n| 持续时间 | 极短（<1秒） | 稍长（1-3秒） |\n| 常见原因 | 灰尘、过敏、鼻炎 | 犬窝咳、肺炎、气管炎、异物 |\n\n## 🏥 咳嗽类型参考\n\n| 咳嗽类型 | 特征 | 可能原因 |\n|----------|------|----------|\n| 🌬️ 干咳 | 无痰，声音清脆刺耳 | 犬窝咳、气管塌陷、过敏 |\n| 💧 湿咳 | 有痰音，声音低沉浑浊 | 肺炎、支气管炎 |\n| 🪶 鹅鸣咳 | 类似鹅叫声 | 气管塌陷（小型犬常见） |\n| 🌙 夜间咳 | 仅在夜间或躺下时咳嗽 | 心脏病（二尖瓣疾病） |\n\n## 🚨 预警分级\n\n| 等级 | 触发条件 | 建议 |\n|------|----------|------|\n| 🟢 偶发 | 单次打喷嚏/咳嗽，无连续 | 正常清理呼吸道，继续观察 |\n| 🟡 轻度 | 连续打喷嚏 ≥3次/分钟 或 咳嗽 2-3次/小时 | 留意环境粉尘、香水等刺激源 |\n| 🟠 频繁 | 打喷嚏频繁或 咳嗽 ≥5次/小时 | 建议预约兽医检查呼吸道 |\n| 🔴 严重 | 咳嗽持续不断、伴喘息/呼吸困难 | ⚠️ 立即就医，警惕肺炎、心衰 |\n\n## 💡 高风险品种与场景\n\n| 类别 | 重点关注原因 |\n|------|--------------|\n| 短鼻犬（巴哥、法斗、英斗等） | 气管塌陷风险高，鹅鸣咳常见 |\n| 幼犬（未完成疫苗接种） | 犬窝咳传染性强，需隔离观察 |\n| 猫咪（多猫环境） | 猫疱疹病毒、杯状病毒易传播 |\n| 老年犬 | 慢性支气管炎、心脏病（夜间咳嗽） |\n| 换季/花粉季 | 过敏性喷嚏频发 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_sneeze_cough_detection_analysis.py`](scripts/smyx_sneeze_cough_detection_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 视频要求：支持 mp4/avi/mov 格式，最大 10MB；建议时长 ≥ 30 秒 |\n| 🔎 使用提醒 | **含音频的视频可大幅提升检测准确率**，建议使用带麦克风的摄像头拍摄 |\n| 🔎 使用提醒 | 摄像头需固定，视角覆盖宠物头部及胸腹部，移动拍摄可能影响检测效果 |\n| 🧑‍⚖️ 结果性质 | **检测结果仅供行为观察参考，不提供医疗诊断**；频繁发作建议及时就医 |\n| 🔎 使用提醒 | 宠物打哈欠、伸懒腰等动作可能产生误检，建议结合频次和连续性综合判断 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 当显示历史检测报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地宠物活动视频\npython -m scripts.smyx_sneeze_cough_detection_analysis --input /path/to/pet_video.mp4 --pet-type cat\n\n# 分析网络宠物活动视频\npython -m scripts.smyx_sneeze_cough_detection_analysis --url https://example.com/pet_video.mp4 --pet-type dog\n\n# 显示历史检测报告/显示报告清单列表（自动触发关键词：查看历史咳嗽报告、打喷嚏报告清单等）\npython -m scripts.smyx_sneeze_cough_detection_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_sneeze_cough_detection_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_sneeze_cough_detection_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-sneeze-cough-detection-analysis\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1784316510845\n}\n\nFile v1.0.5:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物打喷嚏/咳嗽检测 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动通用 AI 分析任务（打喷嚏/咳嗽检测）\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_SNEEZE_COUGH_DETECTION_ANALYSIS` - 宠物打喷嚏/咳嗽检测\n\nFile v1.0.5:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.5:scripts/config.yaml\n\n{}\n\nFile v1.0.5:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.5:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.5:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.5:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.5:skill-card.md\n\n## Description: <br>\nPet Sneeze / Cough Detection analyzes pet video, with optional audio, to identify sneeze and cough events, distinguish occasional from repeated episodes, and report timing, frequency, and observations without providing a medical diagnosis. <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>\nPet owners, veterinary staff, and boarding-center operators use this skill to analyze pet activity video or a video URL for behavior-focused sneeze and cough event detection. The skill can also retrieve prior sneeze and cough analysis reports associated with the internal service identity. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Pet video, optional audio, and report queries may be sent to the lifeemergence.com cloud service. <br>\nMitigation: Use only footage appropriate for that cloud transfer, and avoid sensitive home, clinic, or boarding footage unless the publisher provides acceptable privacy, retention, and consent controls. <br>\nRisk: The skill can silently create or reuse an internal identity and store service tokens in a local workspace database. <br>\nMitigation: Review identity and token handling before installation, restrict workspace access, and remove local state when the skill is no longer needed. <br>\nRisk: The skill reports behavioral observations and may miss or misclassify respiratory events. <br>\nMitigation: Treat results as observation support rather than medical diagnosis, and escalate frequent coughing, repeated sneezing, wheezing, or breathing difficulty to a veterinarian. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/18072937735/skills/smyx-sneeze-cough-detection-analysis) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n- [API interface reference](references/api_doc.md) <br>\n- [Shared analysis API reference](skills/smyx_analysis/references/api_doc.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, JSON, shell commands, guidance] <br>\n**Output Format:** [Markdown or JSON structured analysis report with event observations, risk level, suggestions, and report links] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May include historical report tables when the user requests prior sneeze or cough reports.] <br>\n\n## Skill Version(s): <br>\n1.0.5 (source: server release metadata; artifact frontmatter reports 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.5:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.5:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.4: 31 files, 39794 bytes\n\nFiles: references/api_doc.md (676b), scripts/__init__.py (54b), scripts/config.py (677b), scripts/config.yaml (3b), scripts/skill.py (577b), scripts/smyx_sneeze_cough_detection_analysis.py (3497b), skill-card.md (2512b), SKILL.md (13121b), 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 (155b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: \"smyx-sneeze-cough-detection-analysis\"\ndescription: \"AI-powered pet sneeze/cough detection from real-time camera (optional audio fusion). Analyzes head and thoracic-abdominal motion plus sound features to distinguish single occasional events (normal airway clearing) from continuous bursts (e.g. ≥3 sneezes/min, frequent dry/wet coughing) and records event time and frequency. Helps catch respiratory infection, allergy, or foreign-body irritation early. Scenarios: home health monitoring, animal hospital wards, pet boarding centers. | 通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。\"\nversion: \"1.0.5\"\nlicense: \"MIT-0\"\n---\n\n# 💨 Pet Sneeze / Cough Detection | 宠物打喷嚏/咳嗽检测\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物打喷嚏/咳嗽检测** |\n| 🎯 核心目标 | 通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_SNEEZE_COUGH_DETECTION_ANALYSIS` |\n\nAI-powered pet sneeze/cough detection from real-time camera (optional audio fusion). Analyzes head and thoracic-abdominal motion plus sound features to distinguish single occasional events (normal airway clearing) from continuous bursts (e.g. ≥3 sneezes/min, frequent dry/wet coughing) and records event time and frequency. Helps catch respiratory infection, allergy, or foreign-body irritation early. Scenarios: home health monitoring, animal hospital wards, pet boarding centers.\n\n通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的宠物呼吸健康AI。你的任务是分析宠物活动的实时视频（可选配合音频），检测打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理）与连续发作（异常），记录事件时间、频次和类型。不要提供医疗诊断，仅输出基于视觉和音频的客观行为识别结果。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过室内摄像头视频（可选叠加音频）进行打喷嚏与咳嗽行为识别，区分偶发与连续发作，记录事件时间、频次和类型\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 打喷嚏动作识别（头部抖动+鼻部喷气） |\n| 2 | 咳嗽动作识别（颈部前伸+腹部收缩） |\n| 3 | 咳嗽类型区分（干咳/湿咳） |\n| 4 | 音频特征融合（可选） |\n| 5 | 连续发作频次统计 |\n| 6 | 单次偶发与异常发作区分 |\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.smyx_sneeze_cough_detection_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_sneeze_cough_detection_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行打喷嚏/咳嗽检测 | 调用 `-m scripts.smyx_sneeze_cough_detection_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看检测结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地宠物活动视频（含音频）文件路径 | 适用于本地文件分析 |\n| `--url` | 网络宠物活动视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 cat | 按需填写 |\n| `--list` | 显示打喷嚏/咳嗽检测历史报告列表清单 | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 💨 打喷嚏 vs 咳嗽：动作特征区分\n\n| 特征 | 打喷嚏（Sneeze） | 咳嗽（Cough） |\n|------|------------------|----------------|\n| 主要部位 | 头部突然前伸抖动 | 颈部前伸 + 胸腹收缩 |\n| 嘴巴 | 张开喷气 | 干咳张口、湿咳可能闭合 |\n| 音频特征 | 短促喷气声 | 干咳：短促刺耳；湿咳：含痰低沉 |\n| 持续时间 | 极短（<1秒） | 稍长（1-3秒） |\n| 常见原因 | 灰尘、过敏、鼻炎 | 犬窝咳、肺炎、气管炎、异物 |\n\n## 🏥 咳嗽类型参考\n\n| 咳嗽类型 | 特征 | 可能原因 |\n|----------|------|----------|\n| 🌬️ 干咳 | 无痰，声音清脆刺耳 | 犬窝咳、气管塌陷、过敏 |\n| 💧 湿咳 | 有痰音，声音低沉浑浊 | 肺炎、支气管炎 |\n| 🪶 鹅鸣咳 | 类似鹅叫声 | 气管塌陷（小型犬常见） |\n| 🌙 夜间咳 | 仅在夜间或躺下时咳嗽 | 心脏病（二尖瓣疾病） |\n\n## 🚨 预警分级\n\n| 等级 | 触发条件 | 建议 |\n|------|----------|------|\n| 🟢 偶发 | 单次打喷嚏/咳嗽，无连续 | 正常清理呼吸道，继续观察 |\n| 🟡 轻度 | 连续打喷嚏 ≥3次/分钟 或 咳嗽 2-3次/小时 | 留意环境粉尘、香水等刺激源 |\n| 🟠 频繁 | 打喷嚏频繁或 咳嗽 ≥5次/小时 | 建议预约兽医检查呼吸道 |\n| 🔴 严重 | 咳嗽持续不断、伴喘息/呼吸困难 | ⚠️ 立即就医，警惕肺炎、心衰 |\n\n## 💡 高风险品种与场景\n\n| 类别 | 重点关注原因 |\n|------|--------------|\n| 短鼻犬（巴哥、法斗、英斗等） | 气管塌陷风险高，鹅鸣咳常见 |\n| 幼犬（未完成疫苗接种） | 犬窝咳传染性强，需隔离观察 |\n| 猫咪（多猫环境） | 猫疱疹病毒、杯状病毒易传播 |\n| 老年犬 | 慢性支气管炎、心脏病（夜间咳嗽） |\n| 换季/花粉季 | 过敏性喷嚏频发 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_sneeze_cough_detection_analysis.py`](scripts/smyx_sneeze_cough_detection_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 视频要求：支持 mp4/avi/mov 格式，最大 10MB；建议时长 ≥ 30 秒 |\n| 🔎 使用提醒 | **含音频的视频可大幅提升检测准确率**，建议使用带麦克风的摄像头拍摄 |\n| 🔎 使用提醒 | 摄像头需固定，视角覆盖宠物头部及胸腹部，移动拍摄可能影响检测效果 |\n| 🧑‍⚖️ 结果性质 | **检测结果仅供行为观察参考，不提供医疗诊断**；频繁发作建议及时就医 |\n| 🔎 使用提醒 | 宠物打哈欠、伸懒腰等动作可能产生误检，建议结合频次和连续性综合判断 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 当显示历史检测报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地宠物活动视频\npython -m scripts.smyx_sneeze_cough_detection_analysis --input /path/to/pet_video.mp4 --pet-type cat\n\n# 分析网络宠物活动视频\npython -m scripts.smyx_sneeze_cough_detection_analysis --url https://example.com/pet_video.mp4 --pet-type dog\n\n# 显示历史检测报告/显示报告清单列表（自动触发关键词：查看历史咳嗽报告、打喷嚏报告清单等）\npython -m scripts.smyx_sneeze_cough_detection_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_sneeze_cough_detection_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_sneeze_cough_detection_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-sneeze-cough-detection-analysis\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1783792949740\n}\n\nFile v1.0.4:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物打喷嚏/咳嗽检测 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动通用 AI 分析任务（打喷嚏/咳嗽检测）\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_SNEEZE_COUGH_DETECTION_ANALYSIS` - 宠物打喷嚏/咳嗽检测\n\nFile v1.0.4:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.4:scripts/config.yaml\n\n{}\n\nFile v1.0.4:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.4:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.4:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.4:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.4:skill-card.md\n\n## Description: <br>\nDetects pet sneeze and cough events in images or videos, optionally with audio, and produces structured observations about event timing, frequency, and likely event type without making a veterinary diagnosis. <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>\nPet owners, veterinary clinics, and boarding operators use this skill to analyze pet camera media for sneeze or cough-like behavior, distinguish occasional from repeated events, and review structured observation reports. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Pet media, possible audio, URLs, identity identifiers, and report history may be sent to the vendor's cloud service. <br>\nMitigation: Use only media appropriate for vendor cloud processing and confirm retention, account, and privacy expectations before deployment. <br>\nRisk: The skill creates or stores local account tokens with limited user-facing control. <br>\nMitigation: Review token storage and access controls in the deployment environment before installing or running the skill. <br>\nRisk: Respiratory-health outputs may be mistaken for medical diagnosis. <br>\nMitigation: Present results as behavioral observation support and route frequent, severe, or concerning symptoms to a veterinarian. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/18072937735/skills/smyx-sneeze-cough-detection-analysis) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n- [API documentation](references/api_doc.md) <br>\n- [Analysis API documentation](skills/smyx_analysis/references/api_doc.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, JSON, shell commands, guidance] <br>\n**Output Format:** [Markdown or JSON analysis reports with event summaries, recommendations, and report links] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May save report output to a user-specified file path.] <br>\n\n## Skill Version(s): <br>\n1.0.4 (source: ClawHub release metadata; artifact frontmatter states 1.0.5) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.4:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.4:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.3: 31 files, 39644 bytes\n\nFiles: references/api_doc.md (676b), scripts/__init__.py (54b), scripts/config.py (677b), scripts/config.yaml (3b), scripts/skill.py (577b), scripts/smyx_sneeze_cough_detection_analysis.py (3497b), skill-card.md (2678b), SKILL.md (13121b), 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 (23253b), 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 (155b)\n\nFile v1.0.3:SKILL.md\n\n---\nname: \"smyx-sneeze-cough-detection-analysis\"\ndescription: \"AI-powered pet sneeze/cough detection from real-time camera (optional audio fusion). Analyzes head and thoracic-abdominal motion plus sound features to distinguish single occasional events (normal airway clearing) from continuous bursts (e.g. ≥3 sneezes/min, frequent dry/wet coughing) and records event time and frequency. Helps catch respiratory infection, allergy, or foreign-body irritation early. Scenarios: home health monitoring, animal hospital wards, pet boarding centers. | 通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。\"\nversion: \"1.0.4\"\nlicense: \"MIT-0\"\n---\n\n# 💨 Pet Sneeze / Cough Detection | 宠物打喷嚏/咳嗽检测\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物打喷嚏/咳嗽检测** |\n| 🎯 核心目标 | 通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_SNEEZE_COUGH_DETECTION_ANALYSIS` |\n\nAI-powered pet sneeze/cough detection from real-time camera (optional audio fusion). Analyzes head and thoracic-abdominal motion plus sound features to distinguish single occasional events (normal airway clearing) from continuous bursts (e.g. ≥3 sneezes/min, frequent dry/wet coughing) and records event time and frequency. Helps catch respiratory infection, allergy, or foreign-body irritation early. Scenarios: home health monitoring, animal hospital wards, pet boarding centers.\n\n通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的宠物呼吸健康AI。你的任务是分析宠物活动的实时视频（可选配合音频），检测打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理）与连续发作（异常），记录事件时间、频次和类型。不要提供医疗诊断，仅输出基于视觉和音频的客观行为识别结果。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过室内摄像头视频（可选叠加音频）进行打喷嚏与咳嗽行为识别，区分偶发与连续发作，记录事件时间、频次和类型\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 打喷嚏动作识别（头部抖动+鼻部喷气） |\n| 2 | 咳嗽动作识别（颈部前伸+腹部收缩） |\n| 3 | 咳嗽类型区分（干咳/湿咳） |\n| 4 | 音频特征融合（可选） |\n| 5 | 连续发作频次统计 |\n| 6 | 单次偶发与异常发作区分 |\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.smyx_sneeze_cough_detection_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_sneeze_cough_detection_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行打喷嚏/咳嗽检测 | 调用 `-m scripts.smyx_sneeze_cough_detection_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看检测结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地宠物活动视频（含音频）文件路径 | 适用于本地文件分析 |\n| `--url` | 网络宠物活动视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 cat | 按需填写 |\n| `--list` | 显示打喷嚏/咳嗽检测历史报告列表清单 | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 💨 打喷嚏 vs 咳嗽：动作特征区分\n\n| 特征 | 打喷嚏（Sneeze） | 咳嗽（Cough） |\n|------|------------------|----------------|\n| 主要部位 | 头部突然前伸抖动 | 颈部前伸 + 胸腹收缩 |\n| 嘴巴 | 张开喷气 | 干咳张口、湿咳可能闭合 |\n| 音频特征 | 短促喷气声 | 干咳：短促刺耳；湿咳：含痰低沉 |\n| 持续时间 | 极短（<1秒） | 稍长（1-3秒） |\n| 常见原因 | 灰尘、过敏、鼻炎 | 犬窝咳、肺炎、气管炎、异物 |\n\n## 🏥 咳嗽类型参考\n\n| 咳嗽类型 | 特征 | 可能原因 |\n|----------|------|----------|\n| 🌬️ 干咳 | 无痰，声音清脆刺耳 | 犬窝咳、气管塌陷、过敏 |\n| 💧 湿咳 | 有痰音，声音低沉浑浊 | 肺炎、支气管炎 |\n| 🪶 鹅鸣咳 | 类似鹅叫声 | 气管塌陷（小型犬常见） |\n| 🌙 夜间咳 | 仅在夜间或躺下时咳嗽 | 心脏病（二尖瓣疾病） |\n\n## 🚨 预警分级\n\n| 等级 | 触发条件 | 建议 |\n|------|----------|------|\n| 🟢 偶发 | 单次打喷嚏/咳嗽，无连续 | 正常清理呼吸道，继续观察 |\n| 🟡 轻度 | 连续打喷嚏 ≥3次/分钟 或 咳嗽 2-3次/小时 | 留意环境粉尘、香水等刺激源 |\n| 🟠 频繁 | 打喷嚏频繁或 咳嗽 ≥5次/小时 | 建议预约兽医检查呼吸道 |\n| 🔴 严重 | 咳嗽持续不断、伴喘息/呼吸困难 | ⚠️ 立即就医，警惕肺炎、心衰 |\n\n## 💡 高风险品种与场景\n\n| 类别 | 重点关注原因 |\n|------|--------------|\n| 短鼻犬（巴哥、法斗、英斗等） | 气管塌陷风险高，鹅鸣咳常见 |\n| 幼犬（未完成疫苗接种） | 犬窝咳传染性强，需隔离观察 |\n| 猫咪（多猫环境） | 猫疱疹病毒、杯状病毒易传播 |\n| 老年犬 | 慢性支气管炎、心脏病（夜间咳嗽） |\n| 换季/花粉季 | 过敏性喷嚏频发 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_sneeze_cough_detection_analysis.py`](scripts/smyx_sneeze_cough_detection_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 视频要求：支持 mp4/avi/mov 格式，最大 10MB；建议时长 ≥ 30 秒 |\n| 🔎 使用提醒 | **含音频的视频可大幅提升检测准确率**，建议使用带麦克风的摄像头拍摄 |\n| 🔎 使用提醒 | 摄像头需固定，视角覆盖宠物头部及胸腹部，移动拍摄可能影响检测效果 |\n| 🧑‍⚖️ 结果性质 | **检测结果仅供行为观察参考，不提供医疗诊断**；频繁发作建议及时就医 |\n| 🔎 使用提醒 | 宠物打哈欠、伸懒腰等动作可能产生误检，建议结合频次和连续性综合判断 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 当显示历史检测报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地宠物活动视频\npython -m scripts.smyx_sneeze_cough_detection_analysis --input /path/to/pet_video.mp4 --pet-type cat\n\n# 分析网络宠物活动视频\npython -m scripts.smyx_sneeze_cough_detection_analysis --url https://example.com/pet_video.mp4 --pet-type dog\n\n# 显示历史检测报告/显示报告清单列表（自动触发关键词：查看历史咳嗽报告、打喷嚏报告清单等）\npython -m scripts.smyx_sneeze_cough_detection_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_sneeze_cough_detection_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_sneeze_cough_detection_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-sneeze-cough-detection-analysis\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1783072165942\n}\n\nFile v1.0.3:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物打喷嚏/咳嗽检测 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动通用 AI 分析任务（打喷嚏/咳嗽检测）\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_SNEEZE_COUGH_DETECTION_ANALYSIS` - 宠物打喷嚏/咳嗽检测\n\nFile v1.0.3:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.3:scripts/config.yaml\n\n{}\n\nFile v1.0.3:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.3:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.3:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.3:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.3:skill-card.md\n\n## Description: <br>\nDetects pet sneeze and cough events from camera video with optional audio, distinguishes occasional from repeated events, and returns structured observations, frequency, suggestions, 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 pet owners, veterinary teams, boarding staff, and developers use this skill to analyze pet video or video URL inputs for sneeze and cough behavior and to review structured current or historical reports. The output is for behavior observation and does not provide a medical diagnosis. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Pet videos or video URLs may be sent to the Life Emergence cloud service and associated with an automatically created or reused identity. <br>\nMitigation: Use only footage appropriate for that service, and avoid sensitive household footage or private or internal URLs unless the publisher provides clear consent, retention, and data-handling guarantees. <br>\nRisk: Tokens may be stored in a local shared database. <br>\nMitigation: Review local credential storage before installation and restrict workspace access to users authorized to handle those tokens. <br>\nRisk: Behavior observations may be misleading when video quality, framing, or audio is poor. <br>\nMitigation: Treat results as non-diagnostic, use clear fixed-camera footage with audio where possible, and seek veterinary review for frequent or severe symptoms. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/18072937735/skills/smyx-sneeze-cough-detection-analysis) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n- [Pet sneeze/cough detection API documentation](references/api_doc.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, json, shell commands, guidance] <br>\n**Output Format:** [Markdown text with structured JSON-style report content and report links] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May save the report text to a local output file when requested; supports local video files and video URLs.] <br>\n\n## Skill Version(s): <br>\n1.0.3 (source: server release evidence; artifact frontmatter says 1.0.4) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.3:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.3:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3","readmeExcerpt":"Skill: Pet Sneeze / Cough Detection | 宠物打喷嚏/咳嗽检测 Owner: 18072937735 Summary: AI-powered pet sneeze/cough detection from real-time camera (optional audio fusion). Analyzes head and thoracic-abdominal motion plus sound features to distinguish single occasional events (normal airway clearing) from continuous bursts (e.g. ≥3 sneezes/min, frequent dry/wet coughing) and records event time and frequency. Helps catch respira","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"python -m scripts.smyx_sneeze_cough_detection_analysis --list"},{"language":"text","snippet":"requests>=2.28.0"},{"language":"bash","snippet":"# 分析本地宠物活动视频\npython -m scripts.smyx_sneeze_cough_detection_analysis --input /path/to/pet_video.mp4 --pet-type cat\n\n# 分析网络宠物活动视频\npython -m scripts.smyx_sneeze_cough_detection_analysis --url https://example.com/pet_video.mp4 --pet-type dog\n\n# 显示历史检测报告/显示报告清单列表（自动触发关键词：查看历史咳嗽报告、打喷嚏报告清单等）\npython -m scripts.smyx_sneeze_cough_detection_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_sneeze_cough_detection_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_sneeze_cough_detection_analysis --input video.mp4 --pet-type cat --output result.json"},{"language":"bash","snippet":"python -m scripts.smyx_sneeze_cough_detection_analysis --list"},{"language":"text","snippet":"requests>=2.28.0"},{"language":"bash","snippet":"# 分析本地宠物活动视频\npython -m scripts.smyx_sneeze_cough_detection_analysis --input /path/to/pet_video.mp4 --pet-type cat\n\n# 分析网络宠物活动视频\npython -m scripts.smyx_sneeze_cough_detection_analysis --url https://example.com/pet_video.mp4 --pet-type dog\n\n# 显示历史检测报告/显示报告清单列表（自动触发关键词：查看历史咳嗽报告、打喷嚏报告清单等）\npython -m scripts.smyx_sneeze_cough_detection_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_sneeze_cough_detection_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_sneeze_cough_detection_analysis --input video.mp4 --pet-type cat --output result.json"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: \"smyx-sneeze-cough-detection-analysis\"\ndescription: \"AI-powered pet sneeze/cough detection from real-time camera (optional audio fusion). Analyzes head and thoracic-abdominal motion plus sound features to distinguish single occasional events (normal airway clearing) from continuous bursts (e.g. ≥3 sneezes/min, frequent dry/wet coughing) and records event time and frequency. Helps catch respiratory infection, allergy, or foreign-body irritation early. Scenarios: home health monitoring, animal hospital wards, pet boarding centers. | 通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。\"\nversion: \"1.0.15\"\nlicense: \"MIT-0\"\n---\n\n# 💨 Pet Sneeze / Cough Detection | 宠物打喷嚏/咳嗽检测\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物打喷嚏/咳嗽检测** |\n| 🎯 核心目标 | 通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_SNEEZE_COUGH_DETECTION_ANALYSIS` |\n\nAI-powered pet sneeze/cough detection from real-time camera (optional audio fusion). Analyzes head and thoracic-abdominal motion plus sound features to distinguish single occasional events (normal airway clearing) from continuous bursts (e.g. ≥3 sneezes/min, frequent dry/wet coughing) and records event time and frequency. Helps catch respiratory infection, allergy, or foreign-body irritation early. Scenarios: home health monitoring, animal hospital wards, pet boarding centers.\n\n通过宠物摄像头实时分析宠物头部和胸腹部的动作，结合可选的声音分析，识别宠物是否发生打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理呼吸道）与连续发作（如频繁打喷嚏、干咳、湿咳等异常模式），并记录发生时间及频率。有助于早期发现宠物呼吸道感染、过敏或异物刺激。应用场景：宠物家庭日常健康监测、宠物医院住院观察、宠物寄养中心。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的宠物呼吸健康AI。你的任务是分析宠物活动的实时视频（可选配合音频），检测打喷嚏或咳嗽行为。区分单次偶发（可能是正常清理）与连续发作（异常），记录事件时间、频次和类型。不要提供医疗诊断，仅输出基于视觉和音频的客观行为识别结果。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过室内摄像头视频（可选叠加音频）进行打喷嚏与咳嗽行为识别，区分偶发与连续发作，记录事件时间、频次和类型\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 打喷嚏动作识别（头部抖动+鼻部喷气） |\n| 2 | 咳嗽动作识别（颈部前伸+腹部收缩） |\n| 3 | 咳嗽类型区分（干咳/湿咳） |\n| 4 | 音频特征融合（可选） |\n| 5 | 连续发作频次统计 |\n| 6 | 单次偶发与异常发作区分 |\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.smyx_sneeze_cough_detection_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-sneeze-cough-detection-analysis\",\n  \"version\": \"1.0.12\",\n  \"publishedAt\": 1790599175010\n}"},{"path":"references/api_doc.md","content":"# API 接口文档\n\n此处用于存放宠物打喷嚏/咳嗽检测 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动通用 AI 分析任务（打喷嚏/咳嗽检测）\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_SNEEZE_COUGH_DETECTION_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":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":915,"uniquenessScore":43,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T18:55:59.259Z","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-09T18:55:59.259Z","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-10T03:41:03.217Z","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"}]}}}