{"id":"c23e990a-74fc-4d18-ab9f-6cb3f91737b2","entityType":"agent","slug":"clawhub-smyx-sunjinhui-smyx-elderly-tv-sedentary-reminder-analy","name":"Elderly TV Watching & Sedentary Reminder | 老年人电视观看时长与久坐关联","canonicalUrl":"https://www.xpersona.co/agent/clawhub-smyx-sunjinhui-smyx-elderly-tv-sedentary-reminder-analy","canonicalPath":"/agent/clawhub-smyx-sunjinhui-smyx-elderly-tv-sedentary-reminder-analy","generatedAt":"2026-10-14T19:54:10.882Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-12T02:13:35.383Z","emptyReason":null},"description":"Using a fixed camera in the living room (aimed at the sofa and TV area), the system analyzes the elderly person's continuous sitting time while watching TV, detecting whether the body remains in a seated posture and the face is oriented toward the TV area (watching). | 通过客厅固定摄像头（对准沙发和电视区域），分析老年人连续观看电视的坐姿时长，检测人体是否持续处于坐姿且面部朝向电视区域（注视电视）。当连续坐姿观看电视超过预设阈值（默认2小时）且期间未起身活动时，输出'久坐活动提醒'，建议老年人起身走动、做伸展运动。 Skill: Elderly TV Watching & Sedentary Reminder | 老年人电视观看时长与久坐关联 Owner: smyx-sunjinhui Summary: Using a fixed camera in the living room (aimed at the sofa and TV area), the system analyzes the elderly person's continuous sitting time while watching TV, detecting whether the body remains in a seated posture and the face is oriented toward the TV area (watching). | 通过客厅固定摄像头（对准沙发和电视区域），分析老年人连续观看电视的坐姿时长，检测人体是否持续处于坐姿且面部朝","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 956 downloads reported by the source. Last updated 10/12/2026.","installCommand":"clawhub skill install s17cfv2h26b7hq5w47tgfy23xx83z9x6:smyx-elderly-tv-sedentary-reminder-analysis","sourceUrl":"https://clawhub.ai/smyx-sunjinhui/smyx-elderly-tv-sedentary-reminder-analysis","homepage":"https://clawhub.ai/smyx-sunjinhui/skills/smyx-elderly-tv-sedentary-reminder-analysis","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/smyx-sunjinhui/smyx-elderly-tv-sedentary-reminder-analysis","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/smyx-sunjinhui/skills/smyx-elderly-tv-sedentary-reminder-analysis","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Using a fixed camera in the living room (aimed at the sofa and TV area), the system analyzes the elderly person's continuous sitting time while watching TV, det"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-12T02:13:35.383Z","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-12T02:13:35.383Z","emptyReason":null},"stars":null,"forks":null,"downloads":956,"likes":null,"task":null,"library":null,"packageName":null,"latestVersion":"1.0.4","tractionLabel":"956 downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-12T02:13:35.315Z","emptyReason":null},"lastUpdatedAt":"2026-10-12T02:13:35.383Z","lastCrawledAt":"2026-10-12T02:13:35.315Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-13T02:13:35.315Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.4","createdAt":"2026-09-03T16:37:32.801Z","changelog":"smyx-elderly-tv-sedentary-reminder-analysis v1.0.4 - Updated configuration and utility scripts for improved functionality. - SKILL.md: Version field and some content revised. - Removed redundant file skill-card.md.","fileCount":31,"zipByteSize":41590},{"version":"1.0.3","createdAt":"2026-07-07T20:25:46.795Z","changelog":"Version 1.0.3 - Updated documentation in SKILL.md with minor edits and version increment. - Improved code or configuration in skills/smyx_common/scripts/config.py. - Removed redundant skill-card.md file.","fileCount":31,"zipByteSize":41694},{"version":"1.0.2","createdAt":"2026-07-01T20:17:41.953Z","changelog":"Version 1.0.2 - Minor internal updates to scripts in `skills/smyx_common/scripts/dao.py` and `skills/smyx_common/scripts/util.py`. - Documentation improved: updates to SKILL.md. - Obsolete or redundant doc file `skill-card.md` removed.","fileCount":31,"zipByteSize":41500},{"version":"1.0.1","createdAt":"2026-06-26T02:34:28.122Z","changelog":"- Major update to user identity handling: skill now manages user identity internally and no longer prompts users for open-id or personal information. - Expanded and clarified documentation, including workflow, resource index, ability breakdown, and strong privacy compliance notes. - Improved report retrieval: history queries always fetch from the cloud API; local memory or manual aggregation is strictly prohibited. - Sample usage and triggers are updated for clarity, emphasizing hands-free, privacy-first operation. - Removed obsolete files and redundant prompts from documentation.","fileCount":31,"zipByteSize":38820},{"version":"1.0.0","createdAt":"2026-05-26T09:56:33.032Z","changelog":"Initial release – AI skill for elderly TV watching and sedentary reminder. - Analyzes continuous sitting and TV watching in the living room via fixed camera. - Detects if the elderly person remains seated, facing the TV, and tracks sitting duration. - Issues real-time reminders via smart speaker or mobile app when sitting time exceeds threshold (default 2 hours). - Helps prevent health issues related to long sedentary periods by encouraging regular activity. - Includes strict open-id acquisition and cloud-based report retrieval process for security and consistency. - Designed for integration with home security cameras, elderly-care platforms, and various home/nursing scenarios.","fileCount":32,"zipByteSize":38140}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17cfv2h26b7hq5w47tgfy23xx83z9x6:smyx-elderly-tv-sedentary-reminder-analysis","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-elderly-tv-sedentary-reminder-analy/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-elderly-tv-sedentary-reminder-analy/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-elderly-tv-sedentary-reminder-analy/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-elderly-tv-sedentary-reminder-analy/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-elderly-tv-sedentary-reminder-analy/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-elderly-tv-sedentary-reminder-analy/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-14T19:54:10.880Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-elderly-tv-sedentary-reminder-analy/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-elderly-tv-sedentary-reminder-analy/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-elderly-tv-sedentary-reminder-analy/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-elderly-tv-sedentary-reminder-analy/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-12T02:13:35.383Z","emptyReason":null},"readme":"Skill: Elderly TV Watching & Sedentary Reminder | 老年人电视观看时长与久坐关联\n\nOwner: smyx-sunjinhui\n\nSummary: Using a fixed camera in the living room (aimed at the sofa and TV area), the system analyzes the elderly person's continuous sitting time while watching TV, detecting whether the body remains in a seated posture and the face is oriented toward the TV area (watching). | 通过客厅固定摄像头（对准沙发和电视区域），分析老年人连续观看电视的坐姿时长，检测人体是否持续处于坐姿且面部朝向电视区域（注视电视）。当连续坐姿观看电视超过预设阈值（默认2小时）且期间未起身活动时，输出'久坐活动提醒'，建议老年人起身走动、做伸展运动。\n\nTags: latest:1.0.4\n\nVersion history:\n\nv1.0.4 | 2026-09-03T16:37:32.801Z | auto\n\nsmyx-elderly-tv-sedentary-reminder-analysis v1.0.4\n\n- Updated configuration and utility scripts for improved functionality.\n- SKILL.md: Version field and some content revised.\n- Removed redundant file skill-card.md.\n\nv1.0.3 | 2026-07-07T20:25:46.795Z | auto\n\nVersion 1.0.3\n\n- Updated documentation in SKILL.md with minor edits and version increment.\n- Improved code or configuration in skills/smyx_common/scripts/config.py.\n- Removed redundant skill-card.md file.\n\nv1.0.2 | 2026-07-01T20:17:41.953Z | auto\n\nVersion 1.0.2\n\n- Minor internal updates to scripts in `skills/smyx_common/scripts/dao.py` and `skills/smyx_common/scripts/util.py`.\n- Documentation improved: updates to SKILL.md.\n- Obsolete or redundant doc file `skill-card.md` removed.\n\nv1.0.1 | 2026-06-26T02:34:28.122Z | auto\n\n- Major update to user identity handling: skill now manages user identity internally and no longer prompts users for open-id or personal information.\n- Expanded and clarified documentation, including workflow, resource index, ability breakdown, and strong privacy compliance notes.\n- Improved report retrieval: history queries always fetch from the cloud API; local memory or manual aggregation is strictly prohibited.\n- Sample usage and triggers are updated for clarity, emphasizing hands-free, privacy-first operation.\n- Removed obsolete files and redundant prompts from documentation.\n\nv1.0.0 | 2026-05-26T09:56:33.032Z | auto\n\nInitial release – AI skill for elderly TV watching and sedentary reminder.\n\n- Analyzes continuous sitting and TV watching in the living room via fixed camera.\n- Detects if the elderly person remains seated, facing the TV, and tracks sitting duration.\n- Issues real-time reminders via smart speaker or mobile app when sitting time exceeds threshold (default 2 hours).\n- Helps prevent health issues related to long sedentary periods by encouraging regular activity.\n- Includes strict open-id acquisition and cloud-based report retrieval process for security and consistency.\n- Designed for integration with home security cameras, elderly-care platforms, and various home/nursing scenarios.\n\nArchive index:\n\nArchive v1.0.4: 31 files, 41590 bytes\n\nFiles: references/api_doc.md (3359b), scripts/__init__.py (57b), scripts/config.py (700b), scripts/config.yaml (3b), scripts/skill.py (591b), scripts/smyx_elderly_tv_sedentary_reminder_analysis.py (3684b), skill-card.md (2233b), SKILL.md (13236b), 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 (162b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: \"smyx-elderly-tv-sedentary-reminder-analysis\"\ndescription: \"Using a fixed camera in the living room (aimed at the sofa and TV area), the system analyzes the elderly person's continuous sitting time while watching TV, detecting whether the body remains in a seated posture and the face is oriented toward the TV area (watching). | 通过客厅固定摄像头（对准沙发和电视区域），分析老年人连续观看电视的坐姿时长，检测人体是否持续处于坐姿且面部朝向电视区域（注视电视）。当连续坐姿观看电视超过预设阈值（默认2小时）且期间未起身活动时，输出'久坐活动提醒'，建议老年人起身走动、做伸展运动。\"\nversion: \"1.0.14\"\nlicense: \"MIT-0\"\n---\n\n# 📺 Elderly TV Watching & Sedentary Reminder | 老年人电视观看时长与久坐关联\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **老年人电视观看时长与久坐关联** |\n| 🎯 核心目标 | 通过客厅固定摄像头（对准沙发和电视区域），分析老年人连续观看电视的坐姿时长，检测人体是否持续处于坐姿且面部朝向电视区域（注视电视）。当连续坐姿观看电视超过预设阈值（默认2小时）且期间未起身活动时，输出'久坐活动提醒'，建议老年人起身走动、做伸展运动。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_ELDERLY_TV_SEDENTARY_REMINDER_ANALYSIS` |\n\nUsing a fixed camera in the living room (aimed at the sofa and TV area), the system analyzes the elderly person's continuous sitting time while watching TV, detecting whether the body remains in a seated posture and the face is oriented toward the TV area (watching). When continuous TV-watching exceeds a preset threshold (default 2 hours) without standing up, the system outputs a 'time-to-move reminder', suggesting the elderly stand up, walk, and do stretching exercises. The skill helps prevent health issues caused by prolonged sitting, such as muscle atrophy, lower-limb thrombosis, and metabolic disorders. Application scenarios: home-based elderly care, nursing-home activity rooms, community daycare centers. Real-time monitoring; when prolonged sitting is detected, the system pushes via smart speaker or mobile app (e.g., 'Grandpa Zhang, you've been watching TV for 2 hours, please get up and move around'). Skill features: long sedentary TV-watching is a common lifestyle pattern among the elderly and can induce deep-vein thrombosis, lumbar/back pain, etc. AI automatic monitoring and gentle reminders help the elderly form a habit of regular activity and improve their health. Can be integrated into home security cameras or elderly-care service platforms as a practical proactive health-management feature.\n\n通过客厅固定摄像头（对准沙发和电视区域），分析老年人连续观看电视的坐姿时长，检测人体是否持续处于坐姿且面部朝向电视区域（注视电视）。当连续坐姿观看电视超过预设阈值（默认2小时）且期间未起身活动时，输出'久坐活动提醒'，建议老年人起身走动、做伸展运动。该技能有助于预防因长时间静坐导致的肌肉萎缩、下肢血栓、代谢紊乱等健康问题。应用场景：居家养老、养老院活动室、社区日间照料中心。系统实时监测，当久坐超时时通过智能音箱语音提醒或手机APP推送'张爷爷，您已经看了2小时电视，起来活动一下吧'。技能特点：老年人长时间久坐看电视是常见生活方式，易诱发深静脉血栓、腰背疼痛等问题。通过AI自动监测并温馨提醒，可帮助老人养成定时活动习惯，改善健康。该技能可集成到居家安防摄像头或养老服务平台中，成为主动健康管理的实用功能。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的老年人健康生活方式 AI。你的任务是分析客厅固定摄像头的实时视频，检测老年人是否坐姿在沙发区域，并判断其是否在观看电视（头部朝向电视屏幕）。记录连续坐姿观看的时长，当超过预设阈值（默认 120 分钟）且期间无站立活动时，输出活动提醒。不要提供医疗建议或医学诊断，仅输出基于视觉的行为统计与友好提醒。** |\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 | 姿态分类（sitting / standing / lying / leaving） |\n| 3 | 沙发与电视 ROI 定义（sofa_region / tv_region） |\n| 4 | 面部朝向电视判定 |\n| 5 | 电视画面亮起估计（可选） |\n| 6 | 连续坐姿观看计时与重置规则（短暂取物不算离开沙发） |\n| 7 | 当日累计观看时长 + 起身次数 + 最长连续观看时长统计 |\n| 8 | 提醒类型分类（continuous_watch_too_long / daily_total_watch_too_long / normal） |\n| 9 | 语音/APP 提醒文本生成 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供客厅沙发+电视区域视频 URL 或文件需要分析时，默认触发本技能进行电视观看时长与久坐关联分析 |\n| 🔎 明确分析意图 | 当用户明确提及老人久坐、看电视太久、深静脉血栓预防、起身活动提醒、伸展运动提醒、客厅久坐、智能音箱提醒、居家养老健康等关键词，并且上传了视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看老人电视观看历史报告、久坐提醒报告清单、电视观看时长报告清单、查询历史久坐记录、显示所有老人观看电视报告、显示养老健康诊断报告，查询久坐提醒清单 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_elderly_tv_sedentary_reminder_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_elderly_tv_sedentary_reminder_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地客厅沙发+电视区域视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络客厅沙发+电视区域视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 类别标识，老年人健康生活方式场景默认 `other` | 按需填写 |\n| `--list` | 显示老年人电视观看与久坐历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_elderly_tv_sedentary_reminder_analysis.py`](scripts/smyx_elderly_tv_sedentary_reminder_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 输入要求：支持 mp4/avi/mov 视频，最大 10MB；**关键**：画面必须同时覆盖沙发区域和电视方向 |\n| 🔎 使用提醒 | \"看电视\"基于\"沙发坐姿 + 面部朝向 tv_region\"组合判断，老人短暂看手机/低头吃东西也可能误判为离开观看；建议结合姿态与时长综合判定 |\n| 🔎 使用提醒 | 多人同时坐在沙发、宠物上沙发、客人来访等情形可能影响判定，可按需切换主目标识别策略 |\n| 🔎 使用提醒 | 智能音箱提醒文本应使用温和、亲切语气，避免造成老人焦虑或反感 |\n| 🔏 隐私合规 | 隐私合规：家庭/养老机构客厅视频涉及个人隐私，使用前需取得老人/监护人明确知情同意，妥善加密保管；建议优先采用人体轮廓模式 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地客厅沙发+电视区域视频\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --input /path/to/livingroom.mp4\n\n# 分析网络客厅沙发+电视区域视频\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --url https://example.com/livingroom.mp4\n\n# 显示历史老年人电视观看与久坐报告（自动触发关键词：查看老人电视观看历史报告、久坐提醒报告清单等）\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --input lr.mp4 --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --input lr.mp4 --output result.json\n```\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-elderly-tv-sedentary-reminder-analysis\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1788453452801\n}\n\nFile v1.0.4:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放老年人电视观看时长与久坐关联 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动老年人电视观看时长与久坐关联分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取观看时长与久坐结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史观看记录\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_ELDERLY_TV_SEDENTARY_REMINDER_ANALYSIS` - 老年人电视观看时长与久坐关联\n\n## 输入约束\n\n- 摄像头：客厅固定摄像头，**画面应同时覆盖沙发区域与电视方向**（侧前方/对角线视角）\n- 帧率 ≥ 5 FPS；分辨率 ≥ 480p；光照稳定\n- 初次部署可在画面中**框选两个 ROI**：\n  - `sofa_region` - 沙发坐姿区域\n  - `tv_region` - 电视屏幕区域（用于判断面部朝向）\n- 视频时段建议覆盖白天/晚间观看时段\n- 隐私敏感场景可启用人体轮廓模式\n\n## 关键观测信号\n\n- `subject_in_sofa` - 老人是否处于沙发坐姿区域\n- `posture` - 姿态分类（sitting / standing / lying / leaving）\n- `face_orientation_to_tv` - 面部是否朝向 tv_region（true / false / unknown）\n- `tv_on_estimate` - 电视画面是否处于\"亮\"状态（基于 tv_region 亮度变化推断，可选）\n- `continuous_tv_watch_duration_min` - 当次连续坐着看电视时长（分钟）\n- `stand_up_events_today` - 当日起身次数（离开沙发）\n- `total_tv_watch_duration_today_min` - 当日累计电视观看时长（分钟）\n- `longest_continuous_session_min` - 当日最长一次连续观看时长\n\n## 默认阈值（可由调用方覆盖）\n\n- 连续观看时长阈值：**120 分钟**（continuous_tv_watch_threshold_min）→ 触发久坐活动提醒\n- 起身判定阈值：离开沙发 ≥ 60 秒 → 重置连续观看计时\n- 当日累计观看过长阈值：> 360 分钟（6 小时） → 触发\"观看总时长偏长\"提醒\n- 短暂头部转动/取物不算\"离开沙发\"，需结合姿态变化\n\n## 提醒类型\n\n- `continuous_watch_too_long` - 连续观看时长超阈值（核心久坐提醒）\n- `daily_total_watch_too_long` - 当日累计观看时长偏长\n- `normal` - 正常\n\n## 输出字段（参考）\n\n- `subject_detected` - 是否检测到老人\n- `sofa_region_defined` / `tv_region_defined` - 两个 ROI 是否已定义\n- `current_session` - 当次会话指标（continuous_tv_watch_duration_min / posture / face_orientation_to_tv）\n- `daily_metrics` - 当日指标（total_tv_watch_duration_today_min / stand_up_events_today / longest_continuous_session_min）\n- `alert_type` - 提醒类型\n- `alert_level` - 提醒级别（notice / warning）\n- `alert_message` - 推送/语音播报文本（如\"张爷爷，您已经看了 2 小时电视，起来活动一下吧\"）\n- `recommend_action` - 建议动作（voice_play_reminder / push_app_notice / suggest_stretch / observe_only）\n\n> 仅输出基于视觉的观看与坐姿行为统计与友好提醒，不提供深静脉血栓 / 腰背疼痛 / 代谢紊乱等医学诊断或处方；如老人有明显腿肿、胸闷等不适请就医。\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: dev\n\nFile v1.0.4:skill-card.md\n\n## Description:\n\nThis skill analyzes living-room camera video to estimate when an older adult is seated on a sofa and watching TV, then produces sedentary-duration reports and movement reminders.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, caregivers, and developers can use this skill to analyze fixed-camera home or elder-care video for seated TV-watching duration, activity reminders, and historical behavior reports. The skill is intended to provide visual behavior statistics and friendly prompts, not medical diagnosis or treatment advice.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill handles private living-room video or video URLs through a cloud analysis workflow.\n\nMitigation: Confirm informed consent from the recorded person or guardian and verify that cloud processing is acceptable before installing or running the skill.\n\nRisk: The security evidence says the skill may create or reuse local and remote identity records and store access tokens in a workspace SQLite database.\n\nMitigation: Review workspace access controls, token retention, and cleanup practices before deployment.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-elderly-tv-sedentary-reminder-analysis)\n- [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 and JSON-style structured analysis reports with optional report links]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May call cloud video-analysis APIs and can write requested output files.]\n\n## Skill Version(s):\n\n1.0.4 (source: server release metadata; artifact frontmatter says 1.0.14)\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.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, 41694 bytes\n\nFiles: references/api_doc.md (3359b), scripts/__init__.py (57b), scripts/config.py (700b), scripts/config.yaml (3b), scripts/skill.py (591b), scripts/smyx_elderly_tv_sedentary_reminder_analysis.py (3684b), skill-card.md (2781b), SKILL.md (13235b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28605b), _meta.json (162b)\n\nFile v1.0.3:SKILL.md\n\n---\nname: \"smyx-elderly-tv-sedentary-reminder-analysis\"\ndescription: \"Using a fixed camera in the living room (aimed at the sofa and TV area), the system analyzes the elderly person's continuous sitting time while watching TV, detecting whether the body remains in a seated posture and the face is oriented toward the TV area (watching). | 通过客厅固定摄像头（对准沙发和电视区域），分析老年人连续观看电视的坐姿时长，检测人体是否持续处于坐姿且面部朝向电视区域（注视电视）。当连续坐姿观看电视超过预设阈值（默认2小时）且期间未起身活动时，输出'久坐活动提醒'，建议老年人起身走动、做伸展运动。\"\nversion: \"1.0.5\"\nlicense: \"MIT-0\"\n---\n\n# 📺 Elderly TV Watching & Sedentary Reminder | 老年人电视观看时长与久坐关联\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **老年人电视观看时长与久坐关联** |\n| 🎯 核心目标 | 通过客厅固定摄像头（对准沙发和电视区域），分析老年人连续观看电视的坐姿时长，检测人体是否持续处于坐姿且面部朝向电视区域（注视电视）。当连续坐姿观看电视超过预设阈值（默认2小时）且期间未起身活动时，输出'久坐活动提醒'，建议老年人起身走动、做伸展运动。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_ELDERLY_TV_SEDENTARY_REMINDER_ANALYSIS` |\n\nUsing a fixed camera in the living room (aimed at the sofa and TV area), the system analyzes the elderly person's continuous sitting time while watching TV, detecting whether the body remains in a seated posture and the face is oriented toward the TV area (watching). When continuous TV-watching exceeds a preset threshold (default 2 hours) without standing up, the system outputs a 'time-to-move reminder', suggesting the elderly stand up, walk, and do stretching exercises. The skill helps prevent health issues caused by prolonged sitting, such as muscle atrophy, lower-limb thrombosis, and metabolic disorders. Application scenarios: home-based elderly care, nursing-home activity rooms, community daycare centers. Real-time monitoring; when prolonged sitting is detected, the system pushes via smart speaker or mobile app (e.g., 'Grandpa Zhang, you've been watching TV for 2 hours, please get up and move around'). Skill features: long sedentary TV-watching is a common lifestyle pattern among the elderly and can induce deep-vein thrombosis, lumbar/back pain, etc. AI automatic monitoring and gentle reminders help the elderly form a habit of regular activity and improve their health. Can be integrated into home security cameras or elderly-care service platforms as a practical proactive health-management feature.\n\n通过客厅固定摄像头（对准沙发和电视区域），分析老年人连续观看电视的坐姿时长，检测人体是否持续处于坐姿且面部朝向电视区域（注视电视）。当连续坐姿观看电视超过预设阈值（默认2小时）且期间未起身活动时，输出'久坐活动提醒'，建议老年人起身走动、做伸展运动。该技能有助于预防因长时间静坐导致的肌肉萎缩、下肢血栓、代谢紊乱等健康问题。应用场景：居家养老、养老院活动室、社区日间照料中心。系统实时监测，当久坐超时时通过智能音箱语音提醒或手机APP推送'张爷爷，您已经看了2小时电视，起来活动一下吧'。技能特点：老年人长时间久坐看电视是常见生活方式，易诱发深静脉血栓、腰背疼痛等问题。通过AI自动监测并温馨提醒，可帮助老人养成定时活动习惯，改善健康。该技能可集成到居家安防摄像头或养老服务平台中，成为主动健康管理的实用功能。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的老年人健康生活方式 AI。你的任务是分析客厅固定摄像头的实时视频，检测老年人是否坐姿在沙发区域，并判断其是否在观看电视（头部朝向电视屏幕）。记录连续坐姿观看的时长，当超过预设阈值（默认 120 分钟）且期间无站立活动时，输出活动提醒。不要提供医疗建议或医学诊断，仅输出基于视觉的行为统计与友好提醒。** |\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 | 姿态分类（sitting / standing / lying / leaving） |\n| 3 | 沙发与电视 ROI 定义（sofa_region / tv_region） |\n| 4 | 面部朝向电视判定 |\n| 5 | 电视画面亮起估计（可选） |\n| 6 | 连续坐姿观看计时与重置规则（短暂取物不算离开沙发） |\n| 7 | 当日累计观看时长 + 起身次数 + 最长连续观看时长统计 |\n| 8 | 提醒类型分类（continuous_watch_too_long / daily_total_watch_too_long / normal） |\n| 9 | 语音/APP 提醒文本生成 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供客厅沙发+电视区域视频 URL 或文件需要分析时，默认触发本技能进行电视观看时长与久坐关联分析 |\n| 🔎 明确分析意图 | 当用户明确提及老人久坐、看电视太久、深静脉血栓预防、起身活动提醒、伸展运动提醒、客厅久坐、智能音箱提醒、居家养老健康等关键词，并且上传了视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看老人电视观看历史报告、久坐提醒报告清单、电视观看时长报告清单、查询历史久坐记录、显示所有老人观看电视报告、显示养老健康诊断报告，查询久坐提醒清单 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_elderly_tv_sedentary_reminder_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_elderly_tv_sedentary_reminder_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地客厅沙发+电视区域视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络客厅沙发+电视区域视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 类别标识，老年人健康生活方式场景默认 `other` | 按需填写 |\n| `--list` | 显示老年人电视观看与久坐历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_elderly_tv_sedentary_reminder_analysis.py`](scripts/smyx_elderly_tv_sedentary_reminder_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 输入要求：支持 mp4/avi/mov 视频，最大 10MB；**关键**：画面必须同时覆盖沙发区域和电视方向 |\n| 🔎 使用提醒 | \"看电视\"基于\"沙发坐姿 + 面部朝向 tv_region\"组合判断，老人短暂看手机/低头吃东西也可能误判为离开观看；建议结合姿态与时长综合判定 |\n| 🔎 使用提醒 | 多人同时坐在沙发、宠物上沙发、客人来访等情形可能影响判定，可按需切换主目标识别策略 |\n| 🔎 使用提醒 | 智能音箱提醒文本应使用温和、亲切语气，避免造成老人焦虑或反感 |\n| 🔏 隐私合规 | 隐私合规：家庭/养老机构客厅视频涉及个人隐私，使用前需取得老人/监护人明确知情同意，妥善加密保管；建议优先采用人体轮廓模式 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地客厅沙发+电视区域视频\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --input /path/to/livingroom.mp4\n\n# 分析网络客厅沙发+电视区域视频\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --url https://example.com/livingroom.mp4\n\n# 显示历史老年人电视观看与久坐报告（自动触发关键词：查看老人电视观看历史报告、久坐提醒报告清单等）\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --input lr.mp4 --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --input lr.mp4 --output result.json\n```\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-elderly-tv-sedentary-reminder-analysis\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1783455946795\n}\n\nFile v1.0.3:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放老年人电视观看时长与久坐关联 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动老年人电视观看时长与久坐关联分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取观看时长与久坐结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史观看记录\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_ELDERLY_TV_SEDENTARY_REMINDER_ANALYSIS` - 老年人电视观看时长与久坐关联\n\n## 输入约束\n\n- 摄像头：客厅固定摄像头，**画面应同时覆盖沙发区域与电视方向**（侧前方/对角线视角）\n- 帧率 ≥ 5 FPS；分辨率 ≥ 480p；光照稳定\n- 初次部署可在画面中**框选两个 ROI**：\n  - `sofa_region` - 沙发坐姿区域\n  - `tv_region` - 电视屏幕区域（用于判断面部朝向）\n- 视频时段建议覆盖白天/晚间观看时段\n- 隐私敏感场景可启用人体轮廓模式\n\n## 关键观测信号\n\n- `subject_in_sofa` - 老人是否处于沙发坐姿区域\n- `posture` - 姿态分类（sitting / standing / lying / leaving）\n- `face_orientation_to_tv` - 面部是否朝向 tv_region（true / false / unknown）\n- `tv_on_estimate` - 电视画面是否处于\"亮\"状态（基于 tv_region 亮度变化推断，可选）\n- `continuous_tv_watch_duration_min` - 当次连续坐着看电视时长（分钟）\n- `stand_up_events_today` - 当日起身次数（离开沙发）\n- `total_tv_watch_duration_today_min` - 当日累计电视观看时长（分钟）\n- `longest_continuous_session_min` - 当日最长一次连续观看时长\n\n## 默认阈值（可由调用方覆盖）\n\n- 连续观看时长阈值：**120 分钟**（continuous_tv_watch_threshold_min）→ 触发久坐活动提醒\n- 起身判定阈值：离开沙发 ≥ 60 秒 → 重置连续观看计时\n- 当日累计观看过长阈值：> 360 分钟（6 小时） → 触发\"观看总时长偏长\"提醒\n- 短暂头部转动/取物不算\"离开沙发\"，需结合姿态变化\n\n## 提醒类型\n\n- `continuous_watch_too_long` - 连续观看时长超阈值（核心久坐提醒）\n- `daily_total_watch_too_long` - 当日累计观看时长偏长\n- `normal` - 正常\n\n## 输出字段（参考）\n\n- `subject_detected` - 是否检测到老人\n- `sofa_region_defined` / `tv_region_defined` - 两个 ROI 是否已定义\n- `current_session` - 当次会话指标（continuous_tv_watch_duration_min / posture / face_orientation_to_tv）\n- `daily_metrics` - 当日指标（total_tv_watch_duration_today_min / stand_up_events_today / longest_continuous_session_min）\n- `alert_type` - 提醒类型\n- `alert_level` - 提醒级别（notice / warning）\n- `alert_message` - 推送/语音播报文本（如\"张爷爷，您已经看了 2 小时电视，起来活动一下吧\"）\n- `recommend_action` - 建议动作（voice_play_reminder / push_app_notice / suggest_stretch / observe_only）\n\n> 仅输出基于视觉的观看与坐姿行为统计与友好提醒，不提供深静脉血栓 / 腰背疼痛 / 代谢紊乱等医学诊断或处方；如老人有明显腿肿、胸闷等不适请就医。\n\nFile v1.0.3:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.3:scripts/config.yaml\n\n{}\n\nFile v1.0.3:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.3:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.3:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.3:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.3:skill-card.md\n\n## Description: <br>\nAnalyzes fixed-camera living-room video to estimate whether an older adult is sitting and watching TV, track continuous viewing duration, and produce a friendly movement reminder when the configured sedentary threshold is exceeded. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nCaregivers, elderly-care service operators, and developers use this skill to analyze sofa-and-TV-area video or report history for prolonged TV-watching posture and activity reminders. It supports structured reports, reminder text, and cloud report links, but should not be treated as medical diagnosis. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill may upload or fetch sensitive in-home video and store or query video-derived reports in a cloud service. <br>\nMitigation: Use only with clear consent from the monitored person or caregiver; verify retention, access controls, encryption, and report sharing before deployment. <br>\nRisk: Reports can be linked to an internal identity and later queried or exported. <br>\nMitigation: Restrict access to authorized caregivers or administrators, protect stored tokens, and avoid exposing internal identity values in user-facing output. <br>\nRisk: The security verdict is suspicious because the workflow depends on a remote lifeemergence service for sensitive video-derived reports. <br>\nMitigation: Install only if the publisher and remote service are trusted, and test with non-sensitive samples before using real household or care-facility video. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-elderly-tv-sedentary-reminder-analysis) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n- [API interface reference](artifact/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 reports and tables with JSON structured analysis content, reminder text, and report links] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Can save report output to a file when an output path is provided; history queries return cloud report links.] <br>\n\n## Skill Version(s): <br>\n1.0.3 (source: server release evidence; artifact frontmatter says 1.0.5) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.3:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.3:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.2: 31 files, 41500 bytes\n\nFiles: references/api_doc.md (3359b), scripts/__init__.py (57b), scripts/config.py (700b), scripts/config.yaml (3b), scripts/skill.py (591b), scripts/smyx_elderly_tv_sedentary_reminder_analysis.py (3684b), skill-card.md (2861b), SKILL.md (13235b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (22801b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28605b), _meta.json (162b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: \"smyx-elderly-tv-sedentary-reminder-analysis\"\ndescription: \"Using a fixed camera in the living room (aimed at the sofa and TV area), the system analyzes the elderly person's continuous sitting time while watching TV, detecting whether the body remains in a seated posture and the face is oriented toward the TV area (watching). | 通过客厅固定摄像头（对准沙发和电视区域），分析老年人连续观看电视的坐姿时长，检测人体是否持续处于坐姿且面部朝向电视区域（注视电视）。当连续坐姿观看电视超过预设阈值（默认2小时）且期间未起身活动时，输出'久坐活动提醒'，建议老年人起身走动、做伸展运动。\"\nversion: \"1.0.4\"\nlicense: \"MIT-0\"\n---\n\n# 📺 Elderly TV Watching & Sedentary Reminder | 老年人电视观看时长与久坐关联\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **老年人电视观看时长与久坐关联** |\n| 🎯 核心目标 | 通过客厅固定摄像头（对准沙发和电视区域），分析老年人连续观看电视的坐姿时长，检测人体是否持续处于坐姿且面部朝向电视区域（注视电视）。当连续坐姿观看电视超过预设阈值（默认2小时）且期间未起身活动时，输出'久坐活动提醒'，建议老年人起身走动、做伸展运动。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_ELDERLY_TV_SEDENTARY_REMINDER_ANALYSIS` |\n\nUsing a fixed camera in the living room (aimed at the sofa and TV area), the system analyzes the elderly person's continuous sitting time while watching TV, detecting whether the body remains in a seated posture and the face is oriented toward the TV area (watching). When continuous TV-watching exceeds a preset threshold (default 2 hours) without standing up, the system outputs a 'time-to-move reminder', suggesting the elderly stand up, walk, and do stretching exercises. The skill helps prevent health issues caused by prolonged sitting, such as muscle atrophy, lower-limb thrombosis, and metabolic disorders. Application scenarios: home-based elderly care, nursing-home activity rooms, community daycare centers. Real-time monitoring; when prolonged sitting is detected, the system pushes via smart speaker or mobile app (e.g., 'Grandpa Zhang, you've been watching TV for 2 hours, please get up and move around'). Skill features: long sedentary TV-watching is a common lifestyle pattern among the elderly and can induce deep-vein thrombosis, lumbar/back pain, etc. AI automatic monitoring and gentle reminders help the elderly form a habit of regular activity and improve their health. Can be integrated into home security cameras or elderly-care service platforms as a practical proactive health-management feature.\n\n通过客厅固定摄像头（对准沙发和电视区域），分析老年人连续观看电视的坐姿时长，检测人体是否持续处于坐姿且面部朝向电视区域（注视电视）。当连续坐姿观看电视超过预设阈值（默认2小时）且期间未起身活动时，输出'久坐活动提醒'，建议老年人起身走动、做伸展运动。该技能有助于预防因长时间静坐导致的肌肉萎缩、下肢血栓、代谢紊乱等健康问题。应用场景：居家养老、养老院活动室、社区日间照料中心。系统实时监测，当久坐超时时通过智能音箱语音提醒或手机APP推送'张爷爷，您已经看了2小时电视，起来活动一下吧'。技能特点：老年人长时间久坐看电视是常见生活方式，易诱发深静脉血栓、腰背疼痛等问题。通过AI自动监测并温馨提醒，可帮助老人养成定时活动习惯，改善健康。该技能可集成到居家安防摄像头或养老服务平台中，成为主动健康管理的实用功能。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的老年人健康生活方式 AI。你的任务是分析客厅固定摄像头的实时视频，检测老年人是否坐姿在沙发区域，并判断其是否在观看电视（头部朝向电视屏幕）。记录连续坐姿观看的时长，当超过预设阈值（默认 120 分钟）且期间无站立活动时，输出活动提醒。不要提供医疗建议或医学诊断，仅输出基于视觉的行为统计与友好提醒。** |\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 | 姿态分类（sitting / standing / lying / leaving） |\n| 3 | 沙发与电视 ROI 定义（sofa_region / tv_region） |\n| 4 | 面部朝向电视判定 |\n| 5 | 电视画面亮起估计（可选） |\n| 6 | 连续坐姿观看计时与重置规则（短暂取物不算离开沙发） |\n| 7 | 当日累计观看时长 + 起身次数 + 最长连续观看时长统计 |\n| 8 | 提醒类型分类（continuous_watch_too_long / daily_total_watch_too_long / normal） |\n| 9 | 语音/APP 提醒文本生成 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供客厅沙发+电视区域视频 URL 或文件需要分析时，默认触发本技能进行电视观看时长与久坐关联分析 |\n| 🔎 明确分析意图 | 当用户明确提及老人久坐、看电视太久、深静脉血栓预防、起身活动提醒、伸展运动提醒、客厅久坐、智能音箱提醒、居家养老健康等关键词，并且上传了视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看老人电视观看历史报告、久坐提醒报告清单、电视观看时长报告清单、查询历史久坐记录、显示所有老人观看电视报告、显示养老健康诊断报告，查询久坐提醒清单 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_elderly_tv_sedentary_reminder_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_elderly_tv_sedentary_reminder_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地客厅沙发+电视区域视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络客厅沙发+电视区域视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 类别标识，老年人健康生活方式场景默认 `other` | 按需填写 |\n| `--list` | 显示老年人电视观看与久坐历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_elderly_tv_sedentary_reminder_analysis.py`](scripts/smyx_elderly_tv_sedentary_reminder_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 输入要求：支持 mp4/avi/mov 视频，最大 10MB；**关键**：画面必须同时覆盖沙发区域和电视方向 |\n| 🔎 使用提醒 | \"看电视\"基于\"沙发坐姿 + 面部朝向 tv_region\"组合判断，老人短暂看手机/低头吃东西也可能误判为离开观看；建议结合姿态与时长综合判定 |\n| 🔎 使用提醒 | 多人同时坐在沙发、宠物上沙发、客人来访等情形可能影响判定，可按需切换主目标识别策略 |\n| 🔎 使用提醒 | 智能音箱提醒文本应使用温和、亲切语气，避免造成老人焦虑或反感 |\n| 🔏 隐私合规 | 隐私合规：家庭/养老机构客厅视频涉及个人隐私，使用前需取得老人/监护人明确知情同意，妥善加密保管；建议优先采用人体轮廓模式 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地客厅沙发+电视区域视频\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --input /path/to/livingroom.mp4\n\n# 分析网络客厅沙发+电视区域视频\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --url https://example.com/livingroom.mp4\n\n# 显示历史老年人电视观看与久坐报告（自动触发关键词：查看老人电视观看历史报告、久坐提醒报告清单等）\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --input lr.mp4 --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --input lr.mp4 --output result.json\n```\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-elderly-tv-sedentary-reminder-analysis\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1782937061953\n}\n\nFile v1.0.2:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放老年人电视观看时长与久坐关联 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动老年人电视观看时长与久坐关联分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取观看时长与久坐结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史观看记录\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_ELDERLY_TV_SEDENTARY_REMINDER_ANALYSIS` - 老年人电视观看时长与久坐关联\n\n## 输入约束\n\n- 摄像头：客厅固定摄像头，**画面应同时覆盖沙发区域与电视方向**（侧前方/对角线视角）\n- 帧率 ≥ 5 FPS；分辨率 ≥ 480p；光照稳定\n- 初次部署可在画面中**框选两个 ROI**：\n  - `sofa_region` - 沙发坐姿区域\n  - `tv_region` - 电视屏幕区域（用于判断面部朝向）\n- 视频时段建议覆盖白天/晚间观看时段\n- 隐私敏感场景可启用人体轮廓模式\n\n## 关键观测信号\n\n- `subject_in_sofa` - 老人是否处于沙发坐姿区域\n- `posture` - 姿态分类（sitting / standing / lying / leaving）\n- `face_orientation_to_tv` - 面部是否朝向 tv_region（true / false / unknown）\n- `tv_on_estimate` - 电视画面是否处于\"亮\"状态（基于 tv_region 亮度变化推断，可选）\n- `continuous_tv_watch_duration_min` - 当次连续坐着看电视时长（分钟）\n- `stand_up_events_today` - 当日起身次数（离开沙发）\n- `total_tv_watch_duration_today_min` - 当日累计电视观看时长（分钟）\n- `longest_continuous_session_min` - 当日最长一次连续观看时长\n\n## 默认阈值（可由调用方覆盖）\n\n- 连续观看时长阈值：**120 分钟**（continuous_tv_watch_threshold_min）→ 触发久坐活动提醒\n- 起身判定阈值：离开沙发 ≥ 60 秒 → 重置连续观看计时\n- 当日累计观看过长阈值：> 360 分钟（6 小时） → 触发\"观看总时长偏长\"提醒\n- 短暂头部转动/取物不算\"离开沙发\"，需结合姿态变化\n\n## 提醒类型\n\n- `continuous_watch_too_long` - 连续观看时长超阈值（核心久坐提醒）\n- `daily_total_watch_too_long` - 当日累计观看时长偏长\n- `normal` - 正常\n\n## 输出字段（参考）\n\n- `subject_detected` - 是否检测到老人\n- `sofa_region_defined` / `tv_region_defined` - 两个 ROI 是否已定义\n- `current_session` - 当次会话指标（continuous_tv_watch_duration_min / posture / face_orientation_to_tv）\n- `daily_metrics` - 当日指标（total_tv_watch_duration_today_min / stand_up_events_today / longest_continuous_session_min）\n- `alert_type` - 提醒类型\n- `alert_level` - 提醒级别（notice / warning）\n- `alert_message` - 推送/语音播报文本（如\"张爷爷，您已经看了 2 小时电视，起来活动一下吧\"）\n- `recommend_action` - 建议动作（voice_play_reminder / push_app_notice / suggest_stretch / observe_only）\n\n> 仅输出基于视觉的观看与坐姿行为统计与友好提醒，不提供深静脉血栓 / 腰背疼痛 / 代谢紊乱等医学诊断或处方；如老人有明显腿肿、胸闷等不适请就医。\n\nFile v1.0.2:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.2:scripts/config.yaml\n\n{}\n\nFile v1.0.2:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.2:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.2:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.2:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.2:skill-card.md\n\n## Description: <br>\nAnalyzes living-room video of an older adult watching TV to estimate continuous seated viewing time and generate a friendly activity reminder when the configured sedentary threshold is exceeded. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill in eldercare, nursing-home, community-care, or home-monitoring workflows to analyze TV-watching posture duration and produce structured reports, reminders, and report links. It is intended for behavior monitoring and friendly activity prompts, not medical diagnosis. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill sends sensitive in-home eldercare video and historical report queries to cloud services. <br>\nMitigation: Use only with informed consent from the monitored person or guardian, avoid unauthorized third-party video URLs, and confirm that cloud processing is acceptable for the deployment. <br>\nRisk: The skill may create or reuse local identity state and cache tokens in a workspace SQLite database. <br>\nMitigation: Run it in a controlled workspace, restrict access to local data files, and clear or rotate workspace state according to the operator's privacy and retention policy. <br>\nRisk: Video-based posture and TV-orientation analysis can be affected by camera placement, multiple people, visitors, pets, lighting, or ambiguous activity. <br>\nMitigation: Review the generated report before acting on it, ensure the camera covers the sofa and TV direction clearly, and treat reminders as behavior prompts rather than medical advice. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-elderly-tv-sedentary-reminder-analysis) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n- [API interface documentation](references/api_doc.md) <br>\n- [Shared analysis API documentation](skills/smyx_analysis/references/api_doc.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance] <br>\n**Output Format:** [Markdown and JSON analysis output with report links] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Can process local video files or video URLs and can write the returned analysis output to a file when requested.] <br>\n\n## Skill Version(s): <br>\n1.0.2 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.2:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.2:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.1: 31 files, 38820 bytes\n\nFiles: references/api_doc.md (3359b), scripts/__init__.py (57b), scripts/config.py (700b), scripts/config.yaml (3b), scripts/skill.py (591b), scripts/smyx_elderly_tv_sedentary_reminder_analysis.py (3684b), skill-card.md (3316b), SKILL.md (13235b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (22801b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (13468b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (23409b), _meta.json (162b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: \"smyx-elderly-tv-sedentary-reminder-analysis\"\ndescription: \"Using a fixed camera in the living room (aimed at the sofa and TV area), the system analyzes the elderly person's continuous sitting time while watching TV, detecting whether the body remains in a seated posture and the face is oriented toward the TV area (watching). | 通过客厅固定摄像头（对准沙发和电视区域），分析老年人连续观看电视的坐姿时长，检测人体是否持续处于坐姿且面部朝向电视区域（注视电视）。当连续坐姿观看电视超过预设阈值（默认2小时）且期间未起身活动时，输出'久坐活动提醒'，建议老年人起身走动、做伸展运动。\"\nversion: \"1.0.3\"\nlicense: \"MIT-0\"\n---\n\n# 📺 Elderly TV Watching & Sedentary Reminder | 老年人电视观看时长与久坐关联\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **老年人电视观看时长与久坐关联** |\n| 🎯 核心目标 | 通过客厅固定摄像头（对准沙发和电视区域），分析老年人连续观看电视的坐姿时长，检测人体是否持续处于坐姿且面部朝向电视区域（注视电视）。当连续坐姿观看电视超过预设阈值（默认2小时）且期间未起身活动时，输出'久坐活动提醒'，建议老年人起身走动、做伸展运动。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_ELDERLY_TV_SEDENTARY_REMINDER_ANALYSIS` |\n\nUsing a fixed camera in the living room (aimed at the sofa and TV area), the system analyzes the elderly person's continuous sitting time while watching TV, detecting whether the body remains in a seated posture and the face is oriented toward the TV area (watching). When continuous TV-watching exceeds a preset threshold (default 2 hours) without standing up, the system outputs a 'time-to-move reminder', suggesting the elderly stand up, walk, and do stretching exercises. The skill helps prevent health issues caused by prolonged sitting, such as muscle atrophy, lower-limb thrombosis, and metabolic disorders. Application scenarios: home-based elderly care, nursing-home activity rooms, community daycare centers. Real-time monitoring; when prolonged sitting is detected, the system pushes via smart speaker or mobile app (e.g., 'Grandpa Zhang, you've been watching TV for 2 hours, please get up and move around'). Skill features: long sedentary TV-watching is a common lifestyle pattern among the elderly and can induce deep-vein thrombosis, lumbar/back pain, etc. AI automatic monitoring and gentle reminders help the elderly form a habit of regular activity and improve their health. Can be integrated into home security cameras or elderly-care service platforms as a practical proactive health-management feature.\n\n通过客厅固定摄像头（对准沙发和电视区域），分析老年人连续观看电视的坐姿时长，检测人体是否持续处于坐姿且面部朝向电视区域（注视电视）。当连续坐姿观看电视超过预设阈值（默认2小时）且期间未起身活动时，输出'久坐活动提醒'，建议老年人起身走动、做伸展运动。该技能有助于预防因长时间静坐导致的肌肉萎缩、下肢血栓、代谢紊乱等健康问题。应用场景：居家养老、养老院活动室、社区日间照料中心。系统实时监测，当久坐超时时通过智能音箱语音提醒或手机APP推送'张爷爷，您已经看了2小时电视，起来活动一下吧'。技能特点：老年人长时间久坐看电视是常见生活方式，易诱发深静脉血栓、腰背疼痛等问题。通过AI自动监测并温馨提醒，可帮助老人养成定时活动习惯，改善健康。该技能可集成到居家安防摄像头或养老服务平台中，成为主动健康管理的实用功能。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的老年人健康生活方式 AI。你的任务是分析客厅固定摄像头的实时视频，检测老年人是否坐姿在沙发区域，并判断其是否在观看电视（头部朝向电视屏幕）。记录连续坐姿观看的时长，当超过预设阈值（默认 120 分钟）且期间无站立活动时，输出活动提醒。不要提供医疗建议或医学诊断，仅输出基于视觉的行为统计与友好提醒。** |\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 | 姿态分类（sitting / standing / lying / leaving） |\n| 3 | 沙发与电视 ROI 定义（sofa_region / tv_region） |\n| 4 | 面部朝向电视判定 |\n| 5 | 电视画面亮起估计（可选） |\n| 6 | 连续坐姿观看计时与重置规则（短暂取物不算离开沙发） |\n| 7 | 当日累计观看时长 + 起身次数 + 最长连续观看时长统计 |\n| 8 | 提醒类型分类（continuous_watch_too_long / daily_total_watch_too_long / normal） |\n| 9 | 语音/APP 提醒文本生成 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供客厅沙发+电视区域视频 URL 或文件需要分析时，默认触发本技能进行电视观看时长与久坐关联分析 |\n| 🔎 明确分析意图 | 当用户明确提及老人久坐、看电视太久、深静脉血栓预防、起身活动提醒、伸展运动提醒、客厅久坐、智能音箱提醒、居家养老健康等关键词，并且上传了视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看老人电视观看历史报告、久坐提醒报告清单、电视观看时长报告清单、查询历史久坐记录、显示所有老人观看电视报告、显示养老健康诊断报告，查询久坐提醒清单 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_elderly_tv_sedentary_reminder_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_elderly_tv_sedentary_reminder_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地客厅沙发+电视区域视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络客厅沙发+电视区域视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 类别标识，老年人健康生活方式场景默认 `other` | 按需填写 |\n| `--list` | 显示老年人电视观看与久坐历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_elderly_tv_sedentary_reminder_analysis.py`](scripts/smyx_elderly_tv_sedentary_reminder_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 输入要求：支持 mp4/avi/mov 视频，最大 10MB；**关键**：画面必须同时覆盖沙发区域和电视方向 |\n| 🔎 使用提醒 | \"看电视\"基于\"沙发坐姿 + 面部朝向 tv_region\"组合判断，老人短暂看手机/低头吃东西也可能误判为离开观看；建议结合姿态与时长综合判定 |\n| 🔎 使用提醒 | 多人同时坐在沙发、宠物上沙发、客人来访等情形可能影响判定，可按需切换主目标识别策略 |\n| 🔎 使用提醒 | 智能音箱提醒文本应使用温和、亲切语气，避免造成老人焦虑或反感 |\n| 🔏 隐私合规 | 隐私合规：家庭/养老机构客厅视频涉及个人隐私，使用前需取得老人/监护人明确知情同意，妥善加密保管；建议优先采用人体轮廓模式 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地客厅沙发+电视区域视频\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --input /path/to/livingroom.mp4\n\n# 分析网络客厅沙发+电视区域视频\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --url https://example.com/livingroom.mp4\n\n# 显示历史老年人电视观看与久坐报告（自动触发关键词：查看老人电视观看历史报告、久坐提醒报告清单等）\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --input lr.mp4 --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --input lr.mp4 --output result.json\n```\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-elderly-tv-sedentary-reminder-analysis\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1782441268122\n}\n\nFile v1.0.1:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放老年人电视观看时长与久坐关联 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动老年人电视观看时长与久坐关联分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取观看时长与久坐结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史观看记录\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_ELDERLY_TV_SEDENTARY_REMINDER_ANALYSIS` - 老年人电视观看时长与久坐关联\n\n## 输入约束\n\n- 摄像头：客厅固定摄像头，**画面应同时覆盖沙发区域与电视方向**（侧前方/对角线视角）\n- 帧率 ≥ 5 FPS；分辨率 ≥ 480p；光照稳定\n- 初次部署可在画面中**框选两个 ROI**：\n  - `sofa_region` - 沙发坐姿区域\n  - `tv_region` - 电视屏幕区域（用于判断面部朝向）\n- 视频时段建议覆盖白天/晚间观看时段\n- 隐私敏感场景可启用人体轮廓模式\n\n## 关键观测信号\n\n- `subject_in_sofa` - 老人是否处于沙发坐姿区域\n- `posture` - 姿态分类（sitting / standing / lying / leaving）\n- `face_orientation_to_tv` - 面部是否朝向 tv_region（true / false / unknown）\n- `tv_on_estimate` - 电视画面是否处于\"亮\"状态（基于 tv_region 亮度变化推断，可选）\n- `continuous_tv_watch_duration_min` - 当次连续坐着看电视时长（分钟）\n- `stand_up_events_today` - 当日起身次数（离开沙发）\n- `total_tv_watch_duration_today_min` - 当日累计电视观看时长（分钟）\n- `longest_continuous_session_min` - 当日最长一次连续观看时长\n\n## 默认阈值（可由调用方覆盖）\n\n- 连续观看时长阈值：**120 分钟**（continuous_tv_watch_threshold_min）→ 触发久坐活动提醒\n- 起身判定阈值：离开沙发 ≥ 60 秒 → 重置连续观看计时\n- 当日累计观看过长阈值：> 360 分钟（6 小时） → 触发\"观看总时长偏长\"提醒\n- 短暂头部转动/取物不算\"离开沙发\"，需结合姿态变化\n\n## 提醒类型\n\n- `continuous_watch_too_long` - 连续观看时长超阈值（核心久坐提醒）\n- `daily_total_watch_too_long` - 当日累计观看时长偏长\n- `normal` - 正常\n\n## 输出字段（参考）\n\n- `subject_detected` - 是否检测到老人\n- `sofa_region_defined` / `tv_region_defined` - 两个 ROI 是否已定义\n- `current_session` - 当次会话指标（continuous_tv_watch_duration_min / posture / face_orientation_to_tv）\n- `daily_metrics` - 当日指标（total_tv_watch_duration_today_min / stand_up_events_today / longest_continuous_session_min）\n- `alert_type` - 提醒类型\n- `alert_level` - 提醒级别（notice / warning）\n- `alert_message` - 推送/语音播报文本（如\"张爷爷，您已经看了 2 小时电视，起来活动一下吧\"）\n- `recommend_action` - 建议动作（voice_play_reminder / push_app_notice / suggest_stretch / observe_only）\n\n> 仅输出基于视觉的观看与坐姿行为统计与友好提醒，不提供深静脉血栓 / 腰背疼痛 / 代谢紊乱等医学诊断或处方；如老人有明显腿肿、胸闷等不适请就医。\n\nFile v1.0.1:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.1:scripts/config.yaml\n\n{}\n\nFile v1.0.1:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.1:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.1:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.1:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.1:skill-card.md\n\n## Description: <br>\nAnalyzes living-room camera images or video to estimate whether an older adult is seated on a sofa and watching TV, then returns behavior statistics, sedentary reminders, and report links. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal caregivers, elder-care operators, and developers use this skill to analyze sofa-and-TV-area video or image inputs for prolonged seated TV watching and activity reminders. The skill is intended to provide visual behavior statistics and friendly reminders, not medical diagnosis or treatment advice. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Private home or elder-care video may be uploaded to cloud services for analysis. <br>\nMitigation: Use only with informed consent from the monitored person or guardian, confirm retention and access policies, and avoid uploading footage that is not needed for the sedentary-watching use case. <br>\nRisk: The skill silently creates or reuses local identities and stores tokens for report retrieval. <br>\nMitigation: Review local identity and token storage before installation, restrict filesystem access, and rotate or remove stored tokens when the skill is no longer needed. <br>\nRisk: Arbitrary third-party video URLs can expose private media or untrusted remote content to the cloud analysis service. <br>\nMitigation: Accept URLs only from trusted sources and prefer controlled local files or approved storage locations. <br>\nRisk: Visual classification can misidentify TV watching when posture, face direction, multiple people, visitors, or camera framing are ambiguous. <br>\nMitigation: Validate camera placement, sofa and TV regions, lighting, and reminder thresholds before relying on alerts in care workflows. <br>\nRisk: Sedentary alerts could be mistaken for medical advice. <br>\nMitigation: Present outputs as behavior statistics and friendly reminders only, and direct health concerns to qualified medical professionals. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-elderly-tv-sedentary-reminder-analysis) <br>\n- [Publisher profile](https://clawhub.ai/user/smyx-sunjinhui) <br>\n- [API documentation](artifact/references/api_doc.md) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, json, files, guidance] <br>\n**Output Format:** [Plain text, Markdown tables, JSON-like structured reports, report links, and optional saved output files] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May return current analysis results, historical cloud report listings, alert type, alert level, reminder text, recommended action, and report links.] <br>\n\n## Skill Version(s): <br>\n1.0.1 (source: server release metadata; artifact frontmatter says 1.0.3) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.1:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.1:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.0: 32 files, 38140 bytes\n\nFiles: references/api_doc.md (3359b), scripts/__init__.py (57b), scripts/api_service.py (1704b), scripts/config.py (700b), scripts/config.yaml (3b), scripts/skill.py (591b), scripts/smyx_elderly_tv_sedentary_reminder_analysis.py (3668b), skill-card.md (2786b), SKILL.md (15741b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (2094b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1857b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3706b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (45b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2518b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (22771b), skills/smyx_common/scripts/config.yaml (463b), skills/smyx_common/scripts/dao.py (11119b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (17963b), _meta.json (162b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: \"smyx-elderly-tv-sedentary-reminder-analysis\"\ndescription: \"Using a fixed camera in the living room (aimed at the sofa and TV area), the system analyzes the elderly person's continuous sitting time while watching TV, detecting whether the body remains in a seated posture and the face is oriented toward the TV area (watching). When continuous TV-watching exceeds a preset threshold (default 2 hours) without standing up, the system outputs a 'time-to-move reminder', suggesting the elderly stand up, walk, and do stretching exercises. The skill helps prevent health issues caused by prolonged sitting, such as muscle atrophy, lower-limb thrombosis, and metabolic disorders. Application scenarios: home-based elderly care, nursing-home activity rooms, community daycare centers. Real-time monitoring; when prolonged sitting is detected, the system pushes via smart speaker or mobile app (e.g., 'Grandpa Zhang, you've been watching TV for 2 hours, please get up and move around'). Skill features: long sedentary TV-watching is a common lifestyle pattern among the elderly and can induce deep-vein thrombosis, lumbar/back pain, etc. AI automatic monitoring and gentle reminders help the elderly form a habit of regular activity and improve their health. Can be integrated into home security cameras or elderly-care service platforms as a practical proactive health-management feature. | 通过客厅固定摄像头（对准沙发和电视区域），分析老年人连续观看电视的坐姿时长，检测人体是否持续处于坐姿且面部朝向电视区域（注视电视）。当连续坐姿观看电视超过预设阈值（默认2小时）且期间未起身活动时，输出'久坐活动提醒'，建议老年人起身走动、做伸展运动。该技能有助于预防因长时间静坐导致的肌肉萎缩、下肢血栓、代谢紊乱等健康问题。应用场景：居家养老、养老院活动室、社区日间照料中心。系统实时监测，当久坐超时时通过智能音箱语音提醒或手机APP推送'张爷爷，您已经看了2小时电视，起来活动一下吧'。技能特点：老年人长时间久坐看电视是常见生活方式，易诱发深静脉血栓、腰背疼痛等问题。通过AI自动监测并温馨提醒，可帮助老人养成定时活动习惯，改善健康。该技能可集成到居家安防摄像头或养老服务平台中，成为主动健康管理的实用功能。\"\nversion: \"1.0.0\"\n---\n\n# Elderly TV Watching & Sedentary Reminder | 老年人电视观看时长与久坐关联\n\nUsing a fixed camera in the living room (aimed at the sofa and TV area), the system analyzes the elderly person's continuous sitting time while watching TV, detecting whether the body remains in a seated posture and the face is oriented toward the TV area (watching). When continuous TV-watching exceeds a preset threshold (default 2 hours) without standing up, the system outputs a 'time-to-move reminder', suggesting the elderly stand up, walk, and do stretching exercises. The skill helps prevent health issues caused by prolonged sitting, such as muscle atrophy, lower-limb thrombosis, and metabolic disorders. Application scenarios: home-based elderly care, nursing-home activity rooms, community daycare centers. Real-time monitoring; when prolonged sitting is detected, the system pushes via smart speaker or mobile app (e.g., 'Grandpa Zhang, you've been watching TV for 2 hours, please get up and move around'). Skill features: long sedentary TV-watching is a common lifestyle pattern among the elderly and can induce deep-vein thrombosis, lumbar/back pain, etc. AI automatic monitoring and gentle reminders help the elderly form a habit of regular activity and improve their health. Can be integrated into home security cameras or elderly-care service platforms as a practical proactive health-management feature.\n\n通过客厅固定摄像头（对准沙发和电视区域），分析老年人连续观看电视的坐姿时长，检测人体是否持续处于坐姿且面部朝向电视区域（注视电视）。当连续坐姿观看电视超过预设阈值（默认2小时）且期间未起身活动时，输出'久坐活动提醒'，建议老年人起身走动、做伸展运动。该技能有助于预防因长时间静坐导致的肌肉萎缩、下肢血栓、代谢紊乱等健康问题。应用场景：居家养老、养老院活动室、社区日间照料中心。系统实时监测，当久坐超时时通过智能音箱语音提醒或手机APP推送'张爷爷，您已经看了2小时电视，起来活动一下吧'。技能特点：老年人长时间久坐看电视是常见生活方式，易诱发深静脉血栓、腰背疼痛等问题。通过AI自动监测并温馨提醒，可帮助老人养成定时活动习惯，改善健康。该技能可集成到居家安防摄像头或养老服务平台中，成为主动健康管理的实用功能。\n\n## 🎯 AI 角色\n\n**假设你是一个专业的老年人健康生活方式 AI。你的任务是分析客厅固定摄像头的实时视频，检测老年人是否坐姿在沙发区域，并判断其是否在观看电视（头部朝向电视屏幕）。记录连续坐姿观看的时长，当超过预设阈值（默认 120 分钟）且期间无站立活动时，输出活动提醒。不要提供医疗建议或医学诊断，仅输出基于视觉的行为统计与友好提醒。**\n\n## 任务目标\n\n- 本 Skill 用于：基于客厅固定摄像头视频，识别\"在沙发坐姿 + 面部朝向电视\"的观看状态 → 统计连续/当日累计观看时长 → 超阈值时输出久坐活动提醒\n- 能力包含：人体检测、姿态分类（sitting / standing / lying / leaving）、沙发与电视 ROI 定义（sofa_region / tv_region）、面部朝向电视判定、电视画面亮起估计（可选）、连续坐姿观看计时与重置规则（短暂取物不算离开沙发）、当日累计观看时长 + 起身次数 + 最长连续观看时长统计、提醒类型分类（continuous_watch_too_long / daily_total_watch_too_long / normal）、语音/APP 提醒文本生成\n- 触发条件:\n    1. **默认触发**：当用户提供客厅沙发+电视区域视频 URL 或文件需要分析时，默认触发本技能进行电视观看时长与久坐关联分析\n    2. 当用户明确提及老人久坐、看电视太久、深静脉血栓预防、起身活动提醒、伸展运动提醒、客厅久坐、智能音箱提醒、居家养老健康等关键词，并且上传了视频文件\n    3. 当用户提及以下关键词时，**自动触发历史报告查询功能**\n       ：查看老人电视观看历史报告、久坐提醒报告清单、电视观看时长报告清单、查询历史久坐记录、显示所有老人观看电视报告、显示养老健康诊断报告，查询久坐提醒清单\n- 自动行为：\n    1. 如果用户上传了附件或者视频文件，则自动保存为本地文件\n    2. **⚠️ 强制数据获取规则（次高优先级）**：如果用户触发任何历史报告查询关键词（如\"查看所有老人电视观看报告\"、\"\n       显示所有久坐提醒报告\"、\"\n       查看历史报告\"等），**必须**：\n        - 直接使用 `python -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --list --open-id` 参数调用 API\n          查询云端的历史报告数据\n        - **严格禁止**：从本地 memory 目录读取历史会话信息、严格禁止手动汇总本地记录中的报告、严格禁止从长期记忆中提取报告\n        - **必须统一**从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果\n\n## 前置准备\n\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 操作步骤\n\n### 🔒 open-id 获取流程控制（强制执行，防止遗漏）\n\n**在执行老年人电视观看时长与久坐关联分析前，必须按以下优先级顺序获取 open-id：**\n\n```\n第 1 步：【最高优先级】检查技能所在目录的配置文件（优先）\n        路径：skills/smyx_common/scripts/config.yaml（相对于技能根目录）\n        完整路径示例：${OPENCLAW_WORKSPACE}/skills/{当前技能目录}/skills/smyx_common/scripts/config.yaml\n        → 如果文件存在且配置了 api-key 字段，则读取 api-key 作为 open-id\n        ↓ (未找到/未配置/api-key 为空)\n第 2 步：检查 workspace 公共目录的配置文件\n        路径：${OPENCLAW_WORKSPACE}/skills/smyx_common/scripts/config.yaml\n        → 如果文件存在且配置了 api-key 字段，则读取 api-key 作为 open-id\n        ↓ (未找到/未配置)\n第 3 步：检查用户是否在消息中明确提供了 open-id\n        ↓ (未提供)\n第 4 步：❗ 必须暂停执行，明确提示用户提供用户名或手机号作为 open-id\n```\n\n**⚠️ 关键约束：**\n\n- **禁止**自行假设,自行推导,自行生成 open-id 值（如 openclaw-control-ui、default、userC113、user123 等）\n- **禁止**跳过 open-id 验证直接调用 API\n- **必须**在获取到有效 open-id 后才能继续执行分析\n- 如果用户拒绝提供 open-id，说明用途（用于保存和查询历史报告记录），并询问是否继续\n\n---\n\n- 标准流程:\n    1. **准备客厅沙发+电视区域视频输入**\n        - 提供本地视频路径或网络 URL，建议覆盖白天/晚间观看时段\n        - 摄像头建议：客厅固定摄像头，**画面应同时覆盖沙发区域与电视方向**（侧前方/对角线视角）；帧率 ≥ 5 FPS、光照稳定\n        - 初次部署可在画面中**框选两个 ROI**：`sofa_region`（沙发坐姿区域）和 `tv_region`（电视屏幕区域，用于判断面部朝向）\n        - 隐私敏感场景可启用人体轮廓模式\n        - 可选附带：老人姓名、阈值覆盖（continuous_tv_watch_threshold_min / daily_total_watch_threshold_min）、智能音箱播报模板\n    2. **获取 open-id（强制执行）**\n        - 按上述流程控制获取 open-id\n        - 如无法获取，必须提示用户提供用户名或手机号\n    3. **执行老年人电视观看时长与久坐关联分析**\n        - 调用 `-m scripts.smyx_elderly_tv_sedentary_reminder_analysis` 处理输入（**必须在技能根目录下运行脚本**）\n        - 参数说明:\n            - `--input`: 本地客厅沙发+电视区域视频文件路径\n            - `--url`: 网络客厅沙发+电视区域视频 URL 地址（API 服务自动下载）\n            - `--pet-type`: 类别标识，老年人健康生活方式场景默认 `other`\n            - `--open-id`: 当前用户的 open-id（必填，按上述流程获取）\n            - `--list`: 显示老年人电视观看与久坐历史分析报告列表清单（可以输入起始日期参数过滤数据范围）\n            - `--api-key`: API 访问密钥（可选）\n            - `--api-url`: API 服务地址（可选，使用默认值）\n            - `--detail`: 输出详细程度（basic/standard/json，默认 json）\n            - `--output`: 结果输出文件路径（可选）\n    4. **查看分析结果**\n        - 接收结构化的老年人电视观看时长与久坐关联分析报告\n        - 包含：是否检测到老人（subject_detected）、两个 ROI 是否已定义（sofa_region_defined / tv_region_defined）、当次会话指标（current_session：continuous_tv_watch_duration_min / posture / face_orientation_to_tv）、当日指标（daily_metrics：total_tv_watch_duration_today_min / stand_up_events_today / longest_continuous_session_min）、提醒类型（alert_type：continuous_watch_too_long / daily_total_watch_too_long / normal）、提醒级别（alert_level：notice / warning）、推送/语音播报文本（如\"张爷爷，您已经看了 2 小时电视，起来活动一下吧\"）、建议动作（recommend_action：voice_play_reminder / push_app_notice / suggest_stretch / observe_only）\n        - **重要提示**：仅输出基于视觉的观看与坐姿行为统计与友好提醒，不提供深静脉血栓 / 腰背疼痛 / 代谢紊乱等医学诊断或处方；如老人有明显腿肿、胸闷等不适请就医\n\n## 资源索引\n\n- 必要脚本：见 [scripts/smyx_elderly_tv_sedentary_reminder_analysis.py](scripts/smyx_elderly_tv_sedentary_reminder_analysis.py)(\n  用途：调用 API 进行老年人电视观看时长与久坐关联分析，本地文件上传，网络 URL 由 API 服务自动下载)\n- 配置文件：见 [scripts/config.py](scripts/config.py)(用途：配置 API 地址、默认参数和场景码)\n- 领域参考：见 [references/api_doc.md](references/api_doc.md)(何时读取：需要了解 API 接口规范、久坐/观看阈值/提醒类型定义和错误码时)\n\n## 注意事项\n\n- 仅在需要时读取参考文档，保持上下文简洁\n- 输入要求：支持 mp4/avi/mov 视频，最大 10MB；**关键**：画面必须同时覆盖沙发区域和电视方向\n- API 密钥可选，如果通过参数传入则必须确保调用鉴权成功，否则忽略鉴权\n- \"看电视\"基于\"沙发坐姿 + 面部朝向 tv_region\"组合判断，老人短暂看手机/低头吃东西也可能误判为离开观看；建议结合姿态与时长综合判定\n- 多人同时坐在沙发、宠物上沙发、客人来访等情形可能影响判定，可按需切换主目标识别策略\n- 智能音箱提醒文本应使用温和、亲切语气，避免造成老人焦虑或反感\n- 隐私合规：家庭/养老机构客厅视频涉及个人隐私，使用前需取得老人/监护人明确知情同意，妥善加密保管；建议优先采用人体轮廓模式\n- 禁止临时生成脚本，只能用技能本身的脚本\n- 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载\n- 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段 reportImageUrl 作为超链接地址，且自动转化为如下 Markdown\n  表格格式输出，包含\"\n  报告名称\"、\"连续/累计观看时长\"、\"分析时间\"、\"点击查看\"四列，其中\"报告名称\"列使用`老年人电视久坐提醒报告-{记录id}`形式拼接, \"点击查看\"\n  列使用\n  `[🔗 查看报告](reportImageUrl)`\n  格式的超链接，用户点击即可直接跳转到对应的完整报告页面。\n- 表格输出示例：\n  | 报告名称 | 连续/累计观看时长 | 分析时间 | 点击查看 |\n  |----------|----------|----------|----------|\n  | 老年人电视久坐提醒报告-20260312172200001 | 连续 125 min / 当日累计 320 min（warning） | 2026-03-12 17:22:00 | [🔗 查看报告](https://example.com/report?id=xxx) |\n\n## 使用示例\n\n```bash\n# 分析本地客厅沙发+电视区域视频（以下只是示例，禁止直接使用openclaw-control-ui 作为 open-id）\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --input /path/to/livingroom.mp4 --open-id your-open-id\n\n# 分析网络客厅沙发+电视区域视频（以下只是示例，禁止直接使用openclaw-control-ui 作为 open-id）\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --url https://example.com/livingroom.mp4 --open-id your-open-id\n\n# 显示历史老年人电视观看与久坐报告（自动触发关键词：查看老人电视观看历史报告、久坐提醒报告清单等）\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --list --open-id your-open-id\n\n# 输出精简报告\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --input lr.mp4 --open-id your-open-id --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --input lr.mp4 --open-id your-open-id --output result.json\n```\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-elderly-tv-sedentary-reminder-analysis\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1779789393032\n}\n\nFile v1.0.0:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放老年人电视观看时长与久坐关联 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动老年人电视观看时长与久坐关联分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取观看时长与久坐结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史观看记录\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_ELDERLY_TV_SEDENTARY_REMINDER_ANALYSIS` - 老年人电视观看时长与久坐关联\n\n## 输入约束\n\n- 摄像头：客厅固定摄像头，**画面应同时覆盖沙发区域与电视方向**（侧前方/对角线视角）\n- 帧率 ≥ 5 FPS；分辨率 ≥ 480p；光照稳定\n- 初次部署可在画面中**框选两个 ROI**：\n  - `sofa_region` - 沙发坐姿区域\n  - `tv_region` - 电视屏幕区域（用于判断面部朝向）\n- 视频时段建议覆盖白天/晚间观看时段\n- 隐私敏感场景可启用人体轮廓模式\n\n## 关键观测信号\n\n- `subject_in_sofa` - 老人是否处于沙发坐姿区域\n- `posture` - 姿态分类（sitting / standing / lying / leaving）\n- `face_orientation_to_tv` - 面部是否朝向 tv_region（true / false / unknown）\n- `tv_on_estimate` - 电视画面是否处于\"亮\"状态（基于 tv_region 亮度变化推断，可选）\n- `continuous_tv_watch_duration_min` - 当次连续坐着看电视时长（分钟）\n- `stand_up_events_today` - 当日起身次数（离开沙发）\n- `total_tv_watch_duration_today_min` - 当日累计电视观看时长（分钟）\n- `longest_continuous_session_min` - 当日最长一次连续观看时长\n\n## 默认阈值（可由调用方覆盖）\n\n- 连续观看时长阈值：**120 分钟**（continuous_tv_watch_threshold_min）→ 触发久坐活动提醒\n- 起身判定阈值：离开沙发 ≥ 60 秒 → 重置连续观看计时\n- 当日累计观看过长阈值：> 360 分钟（6 小时） → 触发\"观看总时长偏长\"提醒\n- 短暂头部转动/取物不算\"离开沙发\"，需结合姿态变化\n\n## 提醒类型\n\n- `continuous_watch_too_long` - 连续观看时长超阈值（核心久坐提醒）\n- `daily_total_watch_too_long` - 当日累计观看时长偏长\n- `normal` - 正常\n\n## 输出字段（参考）\n\n- `subject_detected` - 是否检测到老人\n- `sofa_region_defined` / `tv_region_defined` - 两个 ROI 是否已定义\n- `current_session` - 当次会话指标（continuous_tv_watch_duration_min / posture / face_orientation_to_tv）\n- `daily_metrics` - 当日指标（total_tv_watch_duration_today_min / stand_up_events_today / longest_continuous_session_min）\n- `alert_type` - 提醒类型\n- `alert_level` - 提醒级别（notice / warning）\n- `alert_message` - 推送/语音播报文本（如\"张爷爷，您已经看了 2 小时电视，起来活动一下吧\"）\n- `recommend_action` - 建议动作（voice_play_reminder / push_app_notice / suggest_stretch / observe_only）\n\n> 仅输出基于视觉的观看与坐姿行为统计与友好提醒，不提供深静脉血栓 / 腰背疼痛 / 代谢紊乱等医学诊断或处方；如老人有明显腿肿、胸闷等不适请就医。\n\nFile v1.0.0:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口地址\n\n`POST https://your-api-server.com/api/v1/common-analysis`\n\n## 请求头\n\n| 字段           | 必选 | 说明                            |\n|--------------|----|-------------------------------|\n| X-API-Key    | 是  | API访问密钥                       |\n| Content-Type | 是  | 文件上传或 application/json（URL模式） |\n\n## 请求参数\n\n### 1. 文件上传模式\n\n| 字段           | 类型     | 必选 | 说明                                    |\n|--------------|--------|----|---------------------------------------|\n| video        | file   | 是  | MP4视频文件                               |\n| detail_level | string | 否  | 输出详细程度：basic/standard/full，默认standard |\n\n### 2. URL模式\n\n| 字段           | 类型     | 必选 | 说明                                    |\n|--------------|--------|----|---------------------------------------|\n| video_url    | string | 是  | 可公开访问的视频URL                           |\n| detail_level | string | 否  | 输出详细程度：basic/standard/full，默认standard |\n\n## 响应格式\n\n```json\n{\n  \"code\": 200,\n  \"message\": \"success\",\n  \"data\": {\n    \"analysis_time\": \"2026-03-10 15:30:00\",\n    \"face_detection\": {\n      \"status\": \"success\",\n      \"face_count\": 1,\n      \"quality_score\": 95\n    },\n    \"diagnosis\": {\n      \"overall_constitution\": \"平和质\",\n      \"organ_condition\": {\n        \"liver\": \"正常\",\n        \"heart\": \"轻微火旺\",\n        \"spleen\": \"略虚\",\n        \"lung\": \"正常\",\n        \"kidney\": \"正常\"\n      },\n      \"color_analysis\": {\n        \"complexion\": \"微黄\",\n        \"correspondence\": \"脾胃功能略弱\"\n      }\n    },\n    \"health_warnings\": [\n      \"注意休息，避免熬夜\"\n    ],\n    \"suggestions\": [\n      \"饮食清淡，减少辛辣食物摄入\"\n    ]\n  }\n}\n```\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.0:scripts/config.yaml\n\n{}\n\nFile v1.0.0:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.0:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.0:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.0:skills/smyx_common/scripts/config.yaml\n\nenv: prod\n\nApiEnum:\n  api-key:\n  api-secret-key:\n  database-url:\n  base-url-open-api: \"https://open.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitor.lifeemergence.com\"\n  base-url-health: \"https://lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: false\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: \"XIAN_ZHAO_GAN_ZHI\"\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret:\n  default--skill-platform-name: ARK_CLAW\n\nFile v1.0.0:skill-card.md\n\n## Description: <br>\nAnalyzes living-room video to estimate whether an elderly person is seated on a sofa and watching TV, tracks continuous and daily viewing duration, and produces gentle activity reminders when configured sedentary thresholds are exceeded. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal developers and elderly-care integrators use this skill to call a remote analysis service for home, nursing-home, or community-care video that tracks sofa-based TV watching duration and returns behavior statistics plus reminder text. It is intended for visual activity monitoring and friendly reminders, not medical diagnosis or treatment advice. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Sensitive in-home video of an elderly person is sent to a remote health-analysis backend. <br>\nMitigation: Deploy only with informed consent from the monitored person or lawful guardian, and confirm the backend's storage, protection, deletion, and access-control practices before use. <br>\nRisk: Reports are stored and retrieved by open-id, which may expose report history if identifiers are weak or shared. <br>\nMitigation: Use a non-secret, user-specific identifier for open-id, avoid using real API keys as identifiers, and restrict report access to authorized caregivers or operators. <br>\nRisk: The skill produces health-adjacent behavior analysis that could be mistaken for medical advice. <br>\nMitigation: Present outputs as visual behavior statistics and friendly reminders only, and route medical concerns or symptoms to qualified healthcare professionals. <br>\n\n\n## Reference(s): <br>\n- [API interface documentation](references/api_doc.md) <br>\n- [ClawHub release page](https://clawhub.ai/smyx-sunjinhui/smyx-elderly-tv-sedentary-reminder-analysis) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [analysis, markdown, json, shell commands, guidance] <br>\n**Output Format:** [Markdown tables or JSON reports with reminder text and status fields] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May include continuous viewing duration, daily viewing totals, posture and face-orientation status, alert type, alert level, recommended action, and report links.] <br>\n\n## Skill Version(s): <br>\n1.0.0 (source: frontmatter and server evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.0:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.0:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3","readmeExcerpt":"Skill: Elderly TV Watching & Sedentary Reminder | 老年人电视观看时长与久坐关联 Owner: smyx-sunjinhui Summary: Using a fixed camera in the living room (aimed at the sofa and TV area), the system analyzes the elderly person's continuous sitting time while watching TV, detecting whether the body remains in a seated posture and the face is oriented toward the TV area (watching). | 通过客厅固定摄像头（对准沙发和电视区域），分析老年人连续观看电视的坐姿时长，检测人体是否持续处于坐姿且面部朝","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"python -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --list"},{"language":"text","snippet":"requests>=2.28.0"},{"language":"bash","snippet":"# 分析本地客厅沙发+电视区域视频\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --input /path/to/livingroom.mp4\n\n# 分析网络客厅沙发+电视区域视频\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --url https://example.com/livingroom.mp4\n\n# 显示历史老年人电视观看与久坐报告（自动触发关键词：查看老人电视观看历史报告、久坐提醒报告清单等）\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --input lr.mp4 --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --input lr.mp4 --output result.json"},{"language":"bash","snippet":"python -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --list"},{"language":"text","snippet":"requests>=2.28.0"},{"language":"bash","snippet":"# 分析本地客厅沙发+电视区域视频\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --input /path/to/livingroom.mp4\n\n# 分析网络客厅沙发+电视区域视频\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --url https://example.com/livingroom.mp4\n\n# 显示历史老年人电视观看与久坐报告（自动触发关键词：查看老人电视观看历史报告、久坐提醒报告清单等）\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --input lr.mp4 --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_elderly_tv_sedentary_reminder_analysis --input lr.mp4 --output result.json"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: \"smyx-elderly-tv-sedentary-reminder-analysis\"\ndescription: \"Using a fixed camera in the living room (aimed at the sofa and TV area), the system analyzes the elderly person's continuous sitting time while watching TV, detecting whether the body remains in a seated posture and the face is oriented toward the TV area (watching). | 通过客厅固定摄像头（对准沙发和电视区域），分析老年人连续观看电视的坐姿时长，检测人体是否持续处于坐姿且面部朝向电视区域（注视电视）。当连续坐姿观看电视超过预设阈值（默认2小时）且期间未起身活动时，输出'久坐活动提醒'，建议老年人起身走动、做伸展运动。\"\nversion: \"1.0.14\"\nlicense: \"MIT-0\"\n---\n\n# 📺 Elderly TV Watching & Sedentary Reminder | 老年人电视观看时长与久坐关联\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **老年人电视观看时长与久坐关联** |\n| 🎯 核心目标 | 通过客厅固定摄像头（对准沙发和电视区域），分析老年人连续观看电视的坐姿时长，检测人体是否持续处于坐姿且面部朝向电视区域（注视电视）。当连续坐姿观看电视超过预设阈值（默认2小时）且期间未起身活动时，输出'久坐活动提醒'，建议老年人起身走动、做伸展运动。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_ELDERLY_TV_SEDENTARY_REMINDER_ANALYSIS` |\n\nUsing a fixed camera in the living room (aimed at the sofa and TV area), the system analyzes the elderly person's continuous sitting time while watching TV, detecting whether the body remains in a seated posture and the face is oriented toward the TV area (watching). When continuous TV-watching exceeds a preset threshold (default 2 hours) without standing up, the system outputs a 'time-to-move reminder', suggesting the elderly stand up, walk, and do stretching exercises. The skill helps prevent health issues caused by prolonged sitting, such as muscle atrophy, lower-limb thrombosis, and metabolic disorders. Application scenarios: home-based elderly care, nursing-home activity rooms, community daycare centers. Real-time monitoring; when prolonged sitting is detected, the system pushes via smart speaker or mobile app (e.g., 'Grandpa Zhang, you've been watching TV for 2 hours, please get up and move around'). Skill features: long sedentary TV-watching is a common lifestyle pattern among the elderly and can induce deep-vein thrombosis, lumbar/back pain, etc. AI automatic monitoring and gentle reminders help the elderly form a habit of regular activity and improve their health. Can be integrated into home security cameras or elderly-care service platforms as a practical proactive health-management feature.\n\n通过客厅固定摄像头（对准沙发和电视区域），分析老年人连续观看电视的坐姿时长，检测人体是否持续处于坐姿且面部朝向电视区域（注视电视）。当连续坐姿观看电视超过预设阈值（默认2小时）且期间未起身活动时，输出'久坐活动提醒'，建议老年人起身走动、做伸展运动。该技能有助于预防因长时间静坐导致的肌肉萎缩、下肢血栓、代谢紊乱等健康问题。应用场景：居家养老、养老院活动室、社区日间照料中心。系统实时监测，当久坐超时时通过智能音箱语音提醒或手机APP推送'张爷爷，您已经看了2小时电视，起来活动一下吧'。技能特点：老年人长时间久坐看电视是常见生活方式，易诱发深静脉血栓、腰背疼痛等问题。通过AI自动监测并温馨提醒，可帮助老人养成定时活动习惯，改善健康。该技能可集成到居家安防摄像头或养老服务平台中，成为主动健康管理的实用功能。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的老年人健康生活方式 AI。你的任务是分析客厅固定摄像头的实时视频，检测老年人是否坐姿在沙发区域，并判断其是否在观看电视（头部朝向电视屏幕）。记录连续坐姿观看的时长，当超过预设阈值（默认 120 分钟）且期间无站立活动时，输出活动提醒。不要提供医疗建议或医学诊断，仅输出基于视觉的行为统计与友好提醒。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n基于客厅固定摄"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-elderly-tv-sedentary-reminder-analysis\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1788453452801\n}"},{"path":"references/api_doc.md","content":"# API 接口文档\n\n此处用于存放老年人电视观看时长与久坐关联 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动老年人电视观看时长与久坐关联分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取观看时长与久坐结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史观看记录\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_ELDERLY_TV_SEDENTARY_REMINDER_ANALYSIS` - 老年人电视观看时长与久坐关联\n\n## 输入约束\n\n- 摄像头：客厅固定摄像头，**画面应同时覆盖沙发区域与电视方向**（侧前方/对角线视角）\n- 帧率 ≥ 5 FPS；分辨率 ≥ 480p；光照稳定\n- 初次部署可在画面中**框选两个 ROI**：\n  - `sofa_region` - 沙发坐姿区域\n  - `tv_region` - 电视屏幕区域（用于判断面部朝向）\n- 视频时段建议覆盖白天/晚间观看时段\n- 隐私敏感场景可启用人体轮廓模式\n\n## 关键观测信号\n\n- `subject_in_sofa` - 老人是否处于沙发坐姿区域\n- `posture` - 姿态分类（sitting / standing / lying / leaving）\n- `face_orientation_to_tv` - 面部是否朝向 tv_region（true / false / unknown）\n- `tv_on_estimate` - 电视画面是否处于\"亮\"状态（基于 tv_region 亮度变化推断，可选）\n- `continuous_tv_watch_duration_min` - 当次连续坐着看电视时长（分钟）\n- `stand_up_events_today` - 当日起身次数（离开沙发）\n- `total_tv_watch_duration_today_min` - 当日累计电视观看时长（分钟）\n- `longest_continuous_session_min` - 当日最长一次连续观看时长\n\n## 默认阈值（可由调用方覆盖）\n\n- 连续观看时长阈值：**120 分钟**（continuous_tv_watch_threshold_min）→ 触发久坐活动提醒\n- 起身判定阈值：离开沙发 ≥ 60 秒 → 重置连续观看计时\n- 当日累计观看过长阈值：> 360 分钟（6 小时） → 触发\"观看总时长偏长\"提醒\n- 短暂头部转动/取物不算\"离开沙发\"，需结合姿态变化\n\n## 提醒类型\n\n- `continuous_watch_too_long` - 连续观看时长超阈值（核心久坐提醒）\n- `daily_total_watch_too_long` - 当日累计观看时长偏长\n- `normal` - 正常\n\n## 输出字段（参考）\n\n- `subject_detected` - 是否检测到老人\n- `sofa_region_defined` / `tv_region_defined` - 两个 ROI 是否已定义\n- `current_session` - 当次会话指标（continuous_tv_watch_duration_min / posture / face_orientation_to_tv）\n- `daily_metrics` - 当日指标（total_tv_watch_duration_today_min / stand_up_events_today / longest_continuous_session_min）\n- `alert_type` - 提醒类型\n- `alert_level` - 提醒级别（notice / warning）\n- `alert_message` - 推送/语音播报文本（如\"张爷爷，您已经看了 2 小时电视，起来活动一下吧\"）\n- `recommend_action` - 建议动作（voice_play_reminder / push_app_notice / suggest_stretch / observe_only）\n\n> 仅输出基于视觉的观看与坐姿行为统计与友好提醒，不提供深静脉血栓 / 腰背疼痛 / 代谢紊乱等医学诊断或处方；如老人有明显腿肿、胸闷等不适请就医。"},{"path":"skills/smyx_analysis/references/api_doc.md","content":"# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |"},{"path":"scripts/config.yaml","content":"{}"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Using a fixed camera in the living room (aimed at the sofa and TV area), the system analyzes the elderly person's continuous sitting time while watching TV, detecting whether the body remains in a seated posture and the face is oriented toward the TV area (watching). | 通过客厅固定摄像头（对准沙发和电视区域），分析老年人连续观看电视的坐姿时长，检测人体是否持续处于坐姿且面部朝向电视区域（注视电视）。当连续坐姿观看电视超过预设阈值（默认2小时）且期间未起身活动时，输出'久坐活动提醒'，建议老年人起身走动、做伸展运动。 Skill: Elderly TV Watching & Sedentary Reminder | 老年人电视观看时长与久坐关联 Owner: smyx-sunjinhui Summary: Using a fixed camera in the living room (aimed at the sofa and TV area), the system analyzes the elderly person's continuous sitting time while watching TV, detecting whether the body remains in a seated posture and the face is oriented toward the TV area (watching). | 通过客厅固定摄像头（对准沙发和电视区域），分析老年人连续观看电视的坐姿时长，检测人体是否持续处于坐姿且面部朝","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1170,"uniquenessScore":48,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-12T02:13:35.383Z","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-12T02:13:35.383Z","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-14T19:54:10.882Z","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"}]}}}