{"id":"66fca87c-d93c-4293-8df1-136312832a64","entityType":"agent","slug":"clawhub-18072937735-smyx-pet-climbing-frame-heatmap-analysis","name":"Pet Climbing Frame / Cat Tree Activity Heatmap | 宠物爬架/猫树活动热力图","canonicalUrl":"https://www.xpersona.co/agent/clawhub-18072937735-smyx-pet-climbing-frame-heatmap-analysis","canonicalPath":"/agent/clawhub-18072937735-smyx-pet-climbing-frame-heatmap-analysis","generatedAt":"2026-10-10T04:26:12.854Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T21:06:14.887Z","emptyReason":null},"description":"Triggers when a user provides a cat climbing frame / cat tree area video URL or file for analysis; supports local video uploads or network URLs to call server-side APIs for multi-region activity recognition, analyzing dwell time on each layer, jump/transition counts, and generating a 2D activity heatmap to evaluate exercise volume and mental wellbeing (without diagnosing diseases). Application scenarios: cat climbing frame + camera, pet behavior monitoring, cat health management. Development reason: quantify cat activity distribution and enrichment usage. | 当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 2K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s17f8q65zg3y98t86jdg1177g583whq8:smyx-pet-climbing-frame-heatmap-analysis","sourceUrl":"https://clawhub.ai/18072937735/smyx-pet-climbing-frame-heatmap-analysis","homepage":"https://clawhub.ai/18072937735/skills/smyx-pet-climbing-frame-heatmap-analysis","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/18072937735/smyx-pet-climbing-frame-heatmap-analysis","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/18072937735/skills/smyx-pet-climbing-frame-heatmap-analysis","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":66,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Pet Climbing Frame / Cat Tree Activity Heatmap | 宠物爬架/猫树活动热力图 technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T21:06:14.887Z","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-09T21:06:14.887Z","emptyReason":null},"stars":null,"forks":null,"downloads":1996,"packageName":null,"latestVersion":"1.0.13","tractionLabel":"2K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T21:06:14.887Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T21:06:14.887Z","lastCrawledAt":"2026-10-09T21:06:14.887Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T21:06:14.887Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.13","createdAt":"2026-09-29T17:18:34.039Z","changelog":"- Removed the file: skill-card.md. - No other functional or documentation changes.","fileCount":31,"zipByteSize":38747},{"version":"1.0.12","createdAt":"2026-09-23T19:38:36.501Z","changelog":"- Updated version to 1.0.15 in SKILL.md. - Revised documentation and instructions in SKILL.md. - Removed skill-card.md file. - Minor configuration adjustments in scripts/smyx_common/scripts/config.yaml.","fileCount":31,"zipByteSize":38834},{"version":"1.0.11","createdAt":"2026-09-14T20:52:33.950Z","changelog":"- Version updated from 1.0.11 to 1.0.13. - Documentation updated in SKILL.md to reflect the new version. - Obsolete skill-card.md file removed.","fileCount":31,"zipByteSize":38989},{"version":"1.0.10","createdAt":"2026-08-25T14:05:33.794Z","changelog":"- Updated version to 1.0.11. - Removed the skill-card.md file. - No changes to logic or features; documentation (SKILL.md) shows only version update. - All usage, workflow, and instructions remain unchanged.","fileCount":31,"zipByteSize":38941},{"version":"1.0.9","createdAt":"2026-08-22T06:40:40.657Z","changelog":"- Updated version to 1.0.10. - Minor documentation updates in SKILL.md. - Removed obsolete skill-card.md file.","fileCount":31,"zipByteSize":38955},{"version":"1.0.8","createdAt":"2026-08-12T10:32:37.016Z","changelog":"- Removed the file skill-card.md. - No changes to core features or skill logic. - Documentation and main functionality remain unchanged.","fileCount":31,"zipByteSize":38909},{"version":"1.0.7","createdAt":"2026-08-08T10:47:38.011Z","changelog":"- Updated version number to 1.0.8. - Removed the redundant skill-card.md file to streamline documentation. - SKILL.md updated to reflect latest version and improvements.","fileCount":31,"zipByteSize":38790},{"version":"1.0.6","createdAt":"2026-07-30T11:44:29.251Z","changelog":"- Version updated to 1.0.6. - Improved documentation in SKILL.md; removed the skill-card.md file. - No feature changes to the skill logic or interface.","fileCount":31,"zipByteSize":38898}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17f8q65zg3y98t86jdg1177g583whq8:smyx-pet-climbing-frame-heatmap-analysis","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s17f8q65zg3y98t86jdg1177g583whq8:smyx-pet-climbing-frame-heatmap-analysis` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/18072937735/smyx-pet-climbing-frame-heatmap-analysis before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-pet-climbing-frame-heatmap-analysis/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-pet-climbing-frame-heatmap-analysis/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-pet-climbing-frame-heatmap-analysis/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-pet-climbing-frame-heatmap-analysis/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-pet-climbing-frame-heatmap-analysis/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-pet-climbing-frame-heatmap-analysis/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T04:26:12.850Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-pet-climbing-frame-heatmap-analysis/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-pet-climbing-frame-heatmap-analysis/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-pet-climbing-frame-heatmap-analysis/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-pet-climbing-frame-heatmap-analysis/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T21:06:14.887Z","emptyReason":null},"readme":"Skill: Pet Climbing Frame / Cat Tree Activity Heatmap | 宠物爬架/猫树活动热力图\n\nOwner: 18072937735\n\nSummary: Triggers when a user provides a cat climbing frame / cat tree area video URL or file for analysis; supports local video uploads or network URLs to call server-side APIs for multi-region activity recognition, analyzing dwell time on each layer, jump/transition counts, and generating a 2D activity heatmap to evaluate exercise volume and mental wellbeing (without diagnosing diseases). Application scenarios: cat climbing frame + camera, pet behavior monitoring, cat health management. Development reason: quantify cat activity distribution and enrichment usage. | 当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。\n\nTags: latest:1.0.13\n\nVersion history:\n\nv1.0.13 | 2026-09-29T17:18:34.039Z | auto\n\n- Removed the file: skill-card.md.\n- No other functional or documentation changes.\n\nv1.0.12 | 2026-09-23T19:38:36.501Z | auto\n\n- Updated version to 1.0.15 in SKILL.md.\n- Revised documentation and instructions in SKILL.md.\n- Removed skill-card.md file.\n- Minor configuration adjustments in scripts/smyx_common/scripts/config.yaml.\n\nv1.0.11 | 2026-09-14T20:52:33.950Z | auto\n\n- Version updated from 1.0.11 to 1.0.13.\n- Documentation updated in SKILL.md to reflect the new version.\n- Obsolete skill-card.md file removed.\n\nv1.0.10 | 2026-08-25T14:05:33.794Z | auto\n\n- Updated version to 1.0.11.\n- Removed the skill-card.md file.\n- No changes to logic or features; documentation (SKILL.md) shows only version update.\n- All usage, workflow, and instructions remain unchanged.\n\nv1.0.9 | 2026-08-22T06:40:40.657Z | auto\n\n- Updated version to 1.0.10.\n- Minor documentation updates in SKILL.md.\n- Removed obsolete skill-card.md file.\n\nv1.0.8 | 2026-08-12T10:32:37.016Z | auto\n\n- Removed the file skill-card.md.\n- No changes to core features or skill logic.\n- Documentation and main functionality remain unchanged.\n\nv1.0.7 | 2026-08-08T10:47:38.011Z | auto\n\n- Updated version number to 1.0.8.\n- Removed the redundant skill-card.md file to streamline documentation.\n- SKILL.md updated to reflect latest version and improvements.\n\nv1.0.6 | 2026-07-30T11:44:29.251Z | auto\n\n- Version updated to 1.0.6.\n- Improved documentation in SKILL.md; removed the skill-card.md file.\n- No feature changes to the skill logic or interface.\n\nv1.0.5 | 2026-07-15T11:07:29.468Z | auto\n\nsmyx-pet-climbing-frame-heatmap-analysis 1.0.5\n\n- Updated SKILL.md content and metadata (e.g., version).\n- Removed legacy file: skill-card.md.\n- Made adjustments in skills/smyx_common/scripts/util.py (details not shown).\n- Cleaned up documentation and removed obsolete files.\n\nv1.0.4 | 2026-07-08T11:05:28.322Z | auto\n\n- Internal configuration script updated: minor adjustment in skills/smyx_common/scripts/config.py.\n- Documentation cleaned up: removed skill-card.md file.\n- No changes to user-facing features or workflows.\n\nv1.0.3 | 2026-07-01T10:38:28.750Z | auto\n\n- Revamped and expanded documentation for improved clarity and usability in SKILL.md, including structured tables, stepwise workflows, and clear parameter guides.\n- Enhanced multi-language descriptions and added usage demo links.\n- Removed redundant documentation file (skill-card.md).\n- No code or functional logic changes; update is documentation-focused.\n\nv1.0.2 | 2026-06-24T12:03:27.392Z | auto\n\n**Major update: User identity handling is now fully automatic and invisible to users.**\n\n- User identity (open-id) is now managed internally; scripts handle identity silently without requiring or prompting users for any input.\n- All references and prompts for users to provide open-id or any identity parameter have been removed from documentation and usage.\n- Simplified skill usage—users now only need to provide video files or URLs; identity is never mentioned or required.\n- Scripts and documentation updated to ensure compliance with new privacy and UX requirements.\n- Removed files and parameters related to explicit identity handling; user-facing outputs and commands simplified.\n\nv1.0.1 | 2026-06-18T11:30:49.516Z | auto\n\n- Improved configuration file lookup for open-id: now first checks scripts/config.yaml in the skill directory before falling back to the shared config.\n- Updated SKILL.md to reflect new open-id configuration resolution process and clarify expected config file locations.\n- License field added in SKILL.md (MIT-0).\n- Removed redundant or misleading instructions regarding open-id fallback in documentation.\n- skill-card.md file removed.\n\nv1.0.0 | 2026-05-21T19:17:35.122Z | auto\n\nsmyx-pet-climbing-frame-heatmap-analysis v1.0.0\n\n- Initial release.\n- Supports analysis of cat climbing frame/cat tree videos (local files or URLs), providing multi-region activity recognition, dwell time statistics, jump/transition counts, and 2D activity heatmap generation.\n- Requires open-id for all analysis/report queries, with strict stepwise validation and user prompting if not found.\n- Automatically triggers video analysis or historical report queries based on detected keywords.\n- Outputs historical report lists in a standardized Markdown table, including direct report links.\n- Designed for objective quantification of cat activity distribution and enrichment usage, not for disease diagnosis.\n\nArchive index:\n\nArchive v1.0.13: 31 files, 38747 bytes\n\nFiles: references/api_doc.md (669b), scripts/__init__.py (65b), scripts/config.py (687b), scripts/config.yaml (3b), scripts/skill.py (580b), scripts/smyx_pet_climbing_frame_heatmap_analysis.py (3572b), skill-card.md (2131b), SKILL.md (11152b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (160b)\n\nFile v1.0.13:SKILL.md\n\n---\nname: \"smyx-pet-climbing-frame-heatmap-analysis\"\ndescription: \"Triggers when a user provides a cat climbing frame / cat tree area video URL or file for analysis; supports local video uploads or network URLs to call server-side APIs for multi-region activity recognition, analyzing dwell time on each layer, jump/transition counts, and generating a 2D activity heatmap to evaluate exercise volume and mental wellbeing (without diagnosing diseases). Application scenarios: cat climbing frame + camera, pet behavior monitoring, cat health management. Development reason: quantify cat activity distribution and enrichment usage. | 当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。\"\nversion: \"1.0.15\"\nlicense: \"MIT-0\"\n---\n\n# 🗺️ Pet Climbing Frame / Cat Tree Activity Heatmap | 宠物爬架/猫树活动热力图\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物爬架/猫树活动热力图** |\n| 🎯 核心目标 | 当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_CLIMBING_FRAME_HEATMAP_ANALYSIS` |\n\nTriggers when a user provides a cat climbing frame / cat tree area video URL or file for analysis; supports local video\nuploads or network URLs to call server-side APIs for multi-region activity recognition, analyzing dwell time on each\nlayer, jump/transition counts, and generating a 2D activity heatmap to evaluate exercise volume and mental wellbeing (\nwithout diagnosing diseases). Application scenarios: cat climbing frame + camera, pet behavior monitoring, cat health\nmanagement. Development reason: quantify cat activity distribution and enrichment usage.\n\n当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的宠物行为分析AI。你的任务是基于猫爬架（猫树）多区域的连续视频，检测猫咪在不同层级和位置的停留时长、跳跃或转移次数，生成标准化的活动热力图数据。不要提供健康诊断，仅客观描述活动分布指标。 ** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过猫爬架/猫树区域视频生成猫咪 2D 活动热力图，获取标准化的运动量与活动分布观察结果\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 视频分析 |\n| 2 | 各层停留时长统计 |\n| 3 | 跳跃/转移次数计数 |\n| 4 | 活动密度分布 |\n| 5 | 2D 热力图生成 |\n| 6 | 运动量与心理健康趋势提示 |\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_pet_climbing_frame_heatmap_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_pet_climbing_frame_heatmap_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_pet_climbing_frame_heatmap_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 cat | 按需填写 |\n| `--list` | 显示猫爬架/猫树活动热力图视频历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_pet_climbing_frame_heatmap_analysis.py`](scripts/smyx_pet_climbing_frame_heatmap_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 视频要求：支持 mp4/avi/mov 格式，最大 10MB |\n| 🔎 使用提醒 | 建议使用固定机位、能覆盖整座爬架/猫树全部层级的视角，连续记录时长不少于若干分钟，便于生成有意义的热力分布 |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供运动量与丰富度参考，不提供疾病诊断或治疗建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地猫爬架视频\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input /path/to/cat_tree_video.mp4 --pet-type cat\n\n# 分析网络猫爬架视频\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --url https://example.com/cat_tree_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史活动热力图报告（自动触发关键词：查看历史活动热力图报告、历史报告、猫爬架报告清单等）\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.13:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-pet-climbing-frame-heatmap-analysis\",\n  \"version\": \"1.0.13\",\n  \"publishedAt\": 1790702314039\n}\n\nFile v1.0.13:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物爬架/猫树活动热力图 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动活动热力图分析任务\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_PET_CLIMBING_FRAME_HEATMAP_ANALYSIS` - 宠物爬架/猫树活动热力图\n\nFile v1.0.13:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.13:scripts/config.yaml\n\n{}\n\nFile v1.0.13:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.13:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.13:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.13:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.13:skill-card.md\n\n## Description:\n\nAnalyzes cat-tree videos supplied as local files or URLs to report activity by region, dwell times, transitions, and a 2D activity heatmap without providing a medical diagnosis.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[18072937735](https://clawhub.ai/user/18072937735)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nPet owners and pet-care teams use video of a cat tree to review cats' activity distribution, time spent at different levels, and movement between regions. They can also retrieve past analysis reports from the cloud service.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Pet or home footage, including submitted video URLs, is sent to an external cloud service.\n\nMitigation: Use only footage you are comfortable sharing; avoid sensitive home video and ask the publisher about retention and deletion before broad use.\n\nRisk: The skill silently creates or reuses cloud identities and caches identity tokens in a local workspace database.\n\nMitigation: Run it in a separate workspace and ask the publisher to document authentication and token handling.\n\nRisk: Network access is not tightly scoped to a single endpoint.\n\nMitigation: Review and restrict outbound access to approved service endpoints before deployment.\n\n## Reference(s):\n\n- [Activity heatmap API documentation](references/api_doc.md)\n- [Analysis API documentation](skills/smyx_analysis/references/api_doc.md)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, JSON]\n\n**Output Format:** [Structured activity analysis or historical report list in text, Markdown, or JSON]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Can include report links and be saved to a local file.]\n\n## Skill Version(s):\n\n1.0.13 (source: ClawHub release metadata; bundled frontmatter lists 1.0.15)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.13:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.13:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.12: 31 files, 38834 bytes\n\nFiles: references/api_doc.md (669b), scripts/__init__.py (65b), scripts/config.py (687b), scripts/config.yaml (3b), scripts/skill.py (580b), scripts/smyx_pet_climbing_frame_heatmap_analysis.py (3572b), skill-card.md (2326b), SKILL.md (11152b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (160b)\n\nFile v1.0.12:SKILL.md\n\n---\nname: \"smyx-pet-climbing-frame-heatmap-analysis\"\ndescription: \"Triggers when a user provides a cat climbing frame / cat tree area video URL or file for analysis; supports local video uploads or network URLs to call server-side APIs for multi-region activity recognition, analyzing dwell time on each layer, jump/transition counts, and generating a 2D activity heatmap to evaluate exercise volume and mental wellbeing (without diagnosing diseases). Application scenarios: cat climbing frame + camera, pet behavior monitoring, cat health management. Development reason: quantify cat activity distribution and enrichment usage. | 当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。\"\nversion: \"1.0.15\"\nlicense: \"MIT-0\"\n---\n\n# 🗺️ Pet Climbing Frame / Cat Tree Activity Heatmap | 宠物爬架/猫树活动热力图\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物爬架/猫树活动热力图** |\n| 🎯 核心目标 | 当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_CLIMBING_FRAME_HEATMAP_ANALYSIS` |\n\nTriggers when a user provides a cat climbing frame / cat tree area video URL or file for analysis; supports local video\nuploads or network URLs to call server-side APIs for multi-region activity recognition, analyzing dwell time on each\nlayer, jump/transition counts, and generating a 2D activity heatmap to evaluate exercise volume and mental wellbeing (\nwithout diagnosing diseases). Application scenarios: cat climbing frame + camera, pet behavior monitoring, cat health\nmanagement. Development reason: quantify cat activity distribution and enrichment usage.\n\n当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的宠物行为分析AI。你的任务是基于猫爬架（猫树）多区域的连续视频，检测猫咪在不同层级和位置的停留时长、跳跃或转移次数，生成标准化的活动热力图数据。不要提供健康诊断，仅客观描述活动分布指标。 ** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过猫爬架/猫树区域视频生成猫咪 2D 活动热力图，获取标准化的运动量与活动分布观察结果\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 视频分析 |\n| 2 | 各层停留时长统计 |\n| 3 | 跳跃/转移次数计数 |\n| 4 | 活动密度分布 |\n| 5 | 2D 热力图生成 |\n| 6 | 运动量与心理健康趋势提示 |\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_pet_climbing_frame_heatmap_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_pet_climbing_frame_heatmap_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_pet_climbing_frame_heatmap_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 cat | 按需填写 |\n| `--list` | 显示猫爬架/猫树活动热力图视频历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_pet_climbing_frame_heatmap_analysis.py`](scripts/smyx_pet_climbing_frame_heatmap_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 视频要求：支持 mp4/avi/mov 格式，最大 10MB |\n| 🔎 使用提醒 | 建议使用固定机位、能覆盖整座爬架/猫树全部层级的视角，连续记录时长不少于若干分钟，便于生成有意义的热力分布 |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供运动量与丰富度参考，不提供疾病诊断或治疗建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地猫爬架视频\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input /path/to/cat_tree_video.mp4 --pet-type cat\n\n# 分析网络猫爬架视频\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --url https://example.com/cat_tree_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史活动热力图报告（自动触发关键词：查看历史活动热力图报告、历史报告、猫爬架报告清单等）\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.12:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-pet-climbing-frame-heatmap-analysis\",\n  \"version\": \"1.0.12\",\n  \"publishedAt\": 1790192316501\n}\n\nFile v1.0.12:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物爬架/猫树活动热力图 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动活动热力图分析任务\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_PET_CLIMBING_FRAME_HEATMAP_ANALYSIS` - 宠物爬架/猫树活动热力图\n\nFile v1.0.12:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.12:scripts/config.yaml\n\n{}\n\nFile v1.0.12:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.12:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.12:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.12:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.12:skill-card.md\n\n## Description:\n\nAnalyzes cat tree video files or video URLs through a cloud API to report layer dwell time, jumps or transitions, activity density, and a 2D activity heatmap without providing medical diagnosis.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[18072937735](https://clawhub.ai/user/18072937735)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to evaluate cat activity distribution on a climbing frame or cat tree from uploaded or URL-based video. It is intended for enrichment and activity monitoring workflows, not veterinary diagnosis or treatment advice.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill sends pet or household video files and supplied video URLs to the lifeemergence cloud service for analysis.\n\nMitigation: Use only footage and URLs whose cloud processing is acceptable, and avoid sensitive household footage or private/internal URLs unless that data flow has been approved.\n\nRisk: The skill can create or reuse an internal identity, store local tokens, and retrieve cloud report history with limited user control.\n\nMitigation: Deploy it only in environments where token storage, identity reuse, and report-history access are acceptable and can be governed.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/18072937735/skills/smyx-pet-climbing-frame-heatmap-analysis)\n- [API documentation](references/api_doc.md)\n- [Analysis API documentation](skills/smyx_analysis/references/api_doc.md)\n- [Skill demo](https://lifeemergence.com/sample.html)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, json, shell commands, guidance]\n\n**Output Format:** [Markdown and JSON analysis reports with report links]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May save report output to a file when requested; history queries are rendered as a Markdown table from cloud results.]\n\n## Skill Version(s):\n\n1.0.12 (source: server release metadata; artifact frontmatter reports 1.0.15)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.12:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.12:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.11: 31 files, 38989 bytes\n\nFiles: references/api_doc.md (669b), scripts/__init__.py (65b), scripts/config.py (687b), scripts/config.yaml (3b), scripts/skill.py (580b), scripts/smyx_pet_climbing_frame_heatmap_analysis.py (3572b), skill-card.md (2697b), SKILL.md (11152b), 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 (160b)\n\nFile v1.0.11:SKILL.md\n\n---\nname: \"smyx-pet-climbing-frame-heatmap-analysis\"\ndescription: \"Triggers when a user provides a cat climbing frame / cat tree area video URL or file for analysis; supports local video uploads or network URLs to call server-side APIs for multi-region activity recognition, analyzing dwell time on each layer, jump/transition counts, and generating a 2D activity heatmap to evaluate exercise volume and mental wellbeing (without diagnosing diseases). Application scenarios: cat climbing frame + camera, pet behavior monitoring, cat health management. Development reason: quantify cat activity distribution and enrichment usage. | 当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。\"\nversion: \"1.0.13\"\nlicense: \"MIT-0\"\n---\n\n# 🗺️ Pet Climbing Frame / Cat Tree Activity Heatmap | 宠物爬架/猫树活动热力图\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物爬架/猫树活动热力图** |\n| 🎯 核心目标 | 当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_CLIMBING_FRAME_HEATMAP_ANALYSIS` |\n\nTriggers when a user provides a cat climbing frame / cat tree area video URL or file for analysis; supports local video\nuploads or network URLs to call server-side APIs for multi-region activity recognition, analyzing dwell time on each\nlayer, jump/transition counts, and generating a 2D activity heatmap to evaluate exercise volume and mental wellbeing (\nwithout diagnosing diseases). Application scenarios: cat climbing frame + camera, pet behavior monitoring, cat health\nmanagement. Development reason: quantify cat activity distribution and enrichment usage.\n\n当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的宠物行为分析AI。你的任务是基于猫爬架（猫树）多区域的连续视频，检测猫咪在不同层级和位置的停留时长、跳跃或转移次数，生成标准化的活动热力图数据。不要提供健康诊断，仅客观描述活动分布指标。 ** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过猫爬架/猫树区域视频生成猫咪 2D 活动热力图，获取标准化的运动量与活动分布观察结果\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 视频分析 |\n| 2 | 各层停留时长统计 |\n| 3 | 跳跃/转移次数计数 |\n| 4 | 活动密度分布 |\n| 5 | 2D 热力图生成 |\n| 6 | 运动量与心理健康趋势提示 |\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_pet_climbing_frame_heatmap_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_pet_climbing_frame_heatmap_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_pet_climbing_frame_heatmap_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 cat | 按需填写 |\n| `--list` | 显示猫爬架/猫树活动热力图视频历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_pet_climbing_frame_heatmap_analysis.py`](scripts/smyx_pet_climbing_frame_heatmap_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 视频要求：支持 mp4/avi/mov 格式，最大 10MB |\n| 🔎 使用提醒 | 建议使用固定机位、能覆盖整座爬架/猫树全部层级的视角，连续记录时长不少于若干分钟，便于生成有意义的热力分布 |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供运动量与丰富度参考，不提供疾病诊断或治疗建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地猫爬架视频\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input /path/to/cat_tree_video.mp4 --pet-type cat\n\n# 分析网络猫爬架视频\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --url https://example.com/cat_tree_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史活动热力图报告（自动触发关键词：查看历史活动热力图报告、历史报告、猫爬架报告清单等）\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.11:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-pet-climbing-frame-heatmap-analysis\",\n  \"version\": \"1.0.11\",\n  \"publishedAt\": 1789419153950\n}\n\nFile v1.0.11:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物爬架/猫树活动热力图 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动活动热力图分析任务\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_PET_CLIMBING_FRAME_HEATMAP_ANALYSIS` - 宠物爬架/猫树活动热力图\n\nFile v1.0.11:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.11:scripts/config.yaml\n\n{}\n\nFile v1.0.11:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.11:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.11:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.11:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: dev\n\nFile v1.0.11:skill-card.md\n\n## Description:\n\nAnalyzes cat tree video from a file or URL to report layer dwell time, jump and transition counts, activity density, and a 2D activity heatmap without making medical diagnoses.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[18072937735](https://clawhub.ai/user/18072937735)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to submit fixed-camera cat tree videos and receive structured activity distribution observations, including dwell time, jump and transition counts, heatmap data, and report links. It is for activity and enrichment reference, not disease diagnosis.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Pet videos can be sent to the publisher's cloud service for analysis.\n\nMitigation: Use only with consent to upload the video content, and avoid submitting sensitive household footage unless the publisher's handling practices are acceptable.\n\nRisk: The skill can create or reuse a persistent cloud-linked identity automatically.\n\nMitigation: Review identity behavior before installation and prefer a release that requires explicit consent for account or identity registration.\n\nRisk: Authentication tokens may be stored locally in a shared workspace database.\n\nMitigation: Run in an isolated workspace, restrict access to workspace data, and prefer a release that avoids plaintext bearer-token storage.\n\nRisk: Development HTTP endpoints are present in bundled configuration.\n\nMitigation: Confirm the active configuration uses production HTTPS endpoints before running the skill.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/18072937735/skills/smyx-pet-climbing-frame-heatmap-analysis)\n- [API Interface Documentation](artifact/references/api_doc.md)\n- [Shared Analysis API Documentation](artifact/skills/smyx_analysis/references/api_doc.md)\n- [Skill Demo](https://lifeemergence.com/sample.html)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, JSON, shell commands, guidance]\n\n**Output Format:** [Markdown and JSON text, with shell command examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May upload local video files or submit video URLs to publisher cloud APIs; supports optional output-file writing and cloud history-list retrieval.]\n\n## Skill Version(s):\n\n1.0.11 (source: server release metadata; artifact frontmatter says 1.0.13)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.11:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.11:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.10: 31 files, 38941 bytes\n\nFiles: references/api_doc.md (669b), scripts/__init__.py (65b), scripts/config.py (687b), scripts/config.yaml (3b), scripts/skill.py (580b), scripts/smyx_pet_climbing_frame_heatmap_analysis.py (3572b), skill-card.md (2651b), SKILL.md (11152b), 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 (160b)\n\nFile v1.0.10:SKILL.md\n\n---\nname: \"smyx-pet-climbing-frame-heatmap-analysis\"\ndescription: \"Triggers when a user provides a cat climbing frame / cat tree area video URL or file for analysis; supports local video uploads or network URLs to call server-side APIs for multi-region activity recognition, analyzing dwell time on each layer, jump/transition counts, and generating a 2D activity heatmap to evaluate exercise volume and mental wellbeing (without diagnosing diseases). Application scenarios: cat climbing frame + camera, pet behavior monitoring, cat health management. Development reason: quantify cat activity distribution and enrichment usage. | 当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。\"\nversion: \"1.0.11\"\nlicense: \"MIT-0\"\n---\n\n# 🗺️ Pet Climbing Frame / Cat Tree Activity Heatmap | 宠物爬架/猫树活动热力图\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物爬架/猫树活动热力图** |\n| 🎯 核心目标 | 当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_CLIMBING_FRAME_HEATMAP_ANALYSIS` |\n\nTriggers when a user provides a cat climbing frame / cat tree area video URL or file for analysis; supports local video\nuploads or network URLs to call server-side APIs for multi-region activity recognition, analyzing dwell time on each\nlayer, jump/transition counts, and generating a 2D activity heatmap to evaluate exercise volume and mental wellbeing (\nwithout diagnosing diseases). Application scenarios: cat climbing frame + camera, pet behavior monitoring, cat health\nmanagement. Development reason: quantify cat activity distribution and enrichment usage.\n\n当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的宠物行为分析AI。你的任务是基于猫爬架（猫树）多区域的连续视频，检测猫咪在不同层级和位置的停留时长、跳跃或转移次数，生成标准化的活动热力图数据。不要提供健康诊断，仅客观描述活动分布指标。 ** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过猫爬架/猫树区域视频生成猫咪 2D 活动热力图，获取标准化的运动量与活动分布观察结果\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 视频分析 |\n| 2 | 各层停留时长统计 |\n| 3 | 跳跃/转移次数计数 |\n| 4 | 活动密度分布 |\n| 5 | 2D 热力图生成 |\n| 6 | 运动量与心理健康趋势提示 |\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_pet_climbing_frame_heatmap_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_pet_climbing_frame_heatmap_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_pet_climbing_frame_heatmap_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 cat | 按需填写 |\n| `--list` | 显示猫爬架/猫树活动热力图视频历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_pet_climbing_frame_heatmap_analysis.py`](scripts/smyx_pet_climbing_frame_heatmap_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 视频要求：支持 mp4/avi/mov 格式，最大 10MB |\n| 🔎 使用提醒 | 建议使用固定机位、能覆盖整座爬架/猫树全部层级的视角，连续记录时长不少于若干分钟，便于生成有意义的热力分布 |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供运动量与丰富度参考，不提供疾病诊断或治疗建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地猫爬架视频\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input /path/to/cat_tree_video.mp4 --pet-type cat\n\n# 分析网络猫爬架视频\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --url https://example.com/cat_tree_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史活动热力图报告（自动触发关键词：查看历史活动热力图报告、历史报告、猫爬架报告清单等）\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.10:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-pet-climbing-frame-heatmap-analysis\",\n  \"version\": \"1.0.10\",\n  \"publishedAt\": 1787666733794\n}\n\nFile v1.0.10:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物爬架/猫树活动热力图 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动活动热力图分析任务\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_PET_CLIMBING_FRAME_HEATMAP_ANALYSIS` - 宠物爬架/猫树活动热力图\n\nFile v1.0.10:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.10:scripts/config.yaml\n\n{}\n\nFile v1.0.10:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.10:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.10:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.10:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: dev\n\nFile v1.0.10:skill-card.md\n\n## Description:\n\nAnalyzes cat climbing frame or cat tree videos from local files or URLs to generate structured activity reports with dwell time by area, jump or transition counts, activity-density observations, and 2D heatmap results without providing medical diagnosis.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[18072937735](https://clawhub.ai/user/18072937735)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nPet behavior monitors, caregivers, and developers use this skill to turn fixed-camera cat tree footage into structured activity summaries and heatmap-style observations for enrichment and exercise review. It is intended for observational analysis, not disease diagnosis or treatment advice.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Pet videos or video URLs are sent to the service backend for analysis.\n\nMitigation: Avoid private camera feeds, household-sensitive recordings, or internal network URLs unless the publisher clarifies endpoint handling, retention, and deletion behavior.\n\nRisk: The skill silently creates or reuses an internal user identity and sends identity data to the backend.\n\nMitigation: Run only in environments where this account association behavior is acceptable and review account creation and cleanup expectations before deployment.\n\nRisk: Service tokens may be stored in a local workspace database.\n\nMitigation: Protect the workspace, avoid sharing generated local data stores, and remove local state after use when the environment requires tighter data handling.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/18072937735/skills/smyx-pet-climbing-frame-heatmap-analysis)\n- [Pet climbing frame API documentation](references/api_doc.md)\n- [Shared analysis API documentation](skills/smyx_analysis/references/api_doc.md)\n- [Skill demo](https://lifeemergence.com/sample.html)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, JSON, shell commands, guidance]\n\n**Output Format:** [Markdown or JSON structured analysis report with report links when returned by the service]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include dwell-time summaries, transition counts, activity-density observations, heatmap results, recommendations, and historical report tables.]\n\n## Skill Version(s):\n\n1.0.10 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.10:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.10:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.9: 31 files, 38955 bytes\n\nFiles: references/api_doc.md (669b), scripts/__init__.py (65b), scripts/config.py (687b), scripts/config.yaml (3b), scripts/skill.py (580b), scripts/smyx_pet_climbing_frame_heatmap_analysis.py (3572b), skill-card.md (2641b), SKILL.md (11152b), 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 (159b)\n\nFile v1.0.9:SKILL.md\n\n---\nname: \"smyx-pet-climbing-frame-heatmap-analysis\"\ndescription: \"Triggers when a user provides a cat climbing frame / cat tree area video URL or file for analysis; supports local video uploads or network URLs to call server-side APIs for multi-region activity recognition, analyzing dwell time on each layer, jump/transition counts, and generating a 2D activity heatmap to evaluate exercise volume and mental wellbeing (without diagnosing diseases). Application scenarios: cat climbing frame + camera, pet behavior monitoring, cat health management. Development reason: quantify cat activity distribution and enrichment usage. | 当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。\"\nversion: \"1.0.10\"\nlicense: \"MIT-0\"\n---\n\n# 🗺️ Pet Climbing Frame / Cat Tree Activity Heatmap | 宠物爬架/猫树活动热力图\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物爬架/猫树活动热力图** |\n| 🎯 核心目标 | 当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_CLIMBING_FRAME_HEATMAP_ANALYSIS` |\n\nTriggers when a user provides a cat climbing frame / cat tree area video URL or file for analysis; supports local video\nuploads or network URLs to call server-side APIs for multi-region activity recognition, analyzing dwell time on each\nlayer, jump/transition counts, and generating a 2D activity heatmap to evaluate exercise volume and mental wellbeing (\nwithout diagnosing diseases). Application scenarios: cat climbing frame + camera, pet behavior monitoring, cat health\nmanagement. Development reason: quantify cat activity distribution and enrichment usage.\n\n当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的宠物行为分析AI。你的任务是基于猫爬架（猫树）多区域的连续视频，检测猫咪在不同层级和位置的停留时长、跳跃或转移次数，生成标准化的活动热力图数据。不要提供健康诊断，仅客观描述活动分布指标。 ** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过猫爬架/猫树区域视频生成猫咪 2D 活动热力图，获取标准化的运动量与活动分布观察结果\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 视频分析 |\n| 2 | 各层停留时长统计 |\n| 3 | 跳跃/转移次数计数 |\n| 4 | 活动密度分布 |\n| 5 | 2D 热力图生成 |\n| 6 | 运动量与心理健康趋势提示 |\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_pet_climbing_frame_heatmap_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_pet_climbing_frame_heatmap_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_pet_climbing_frame_heatmap_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 cat | 按需填写 |\n| `--list` | 显示猫爬架/猫树活动热力图视频历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_pet_climbing_frame_heatmap_analysis.py`](scripts/smyx_pet_climbing_frame_heatmap_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 视频要求：支持 mp4/avi/mov 格式，最大 10MB |\n| 🔎 使用提醒 | 建议使用固定机位、能覆盖整座爬架/猫树全部层级的视角，连续记录时长不少于若干分钟，便于生成有意义的热力分布 |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供运动量与丰富度参考，不提供疾病诊断或治疗建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地猫爬架视频\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input /path/to/cat_tree_video.mp4 --pet-type cat\n\n# 分析网络猫爬架视频\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --url https://example.com/cat_tree_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史活动热力图报告（自动触发关键词：查看历史活动热力图报告、历史报告、猫爬架报告清单等）\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.9:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-pet-climbing-frame-heatmap-analysis\",\n  \"version\": \"1.0.9\",\n  \"publishedAt\": 1787380840657\n}\n\nFile v1.0.9:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物爬架/猫树活动热力图 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动活动热力图分析任务\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_PET_CLIMBING_FRAME_HEATMAP_ANALYSIS` - 宠物爬架/猫树活动热力图\n\nFile v1.0.9:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.9:scripts/config.yaml\n\n{}\n\nFile v1.0.9:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.9:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.9:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.9:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: dev\n\nFile v1.0.9:skill-card.md\n\n## Description:\n\nAnalyzes cat climbing frame or cat tree videos with remote APIs to produce activity metrics, dwell-time and jump or transition counts, and a 2D heatmap for exercise and enrichment review without disease diagnosis.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[18072937735](https://clawhub.ai/user/18072937735)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and agent operators use this skill to analyze cat tree video footage or video URLs, review layer-level activity distribution, and retrieve cloud report history for pet behavior monitoring. The generated results are for exercise and enrichment observation, not medical diagnosis.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can upload home pet videos or submit video URLs to a remote service.\n\nMitigation: Use only footage appropriate for remote processing and confirm the publisher's API destination, retention policy, and deletion process before installation.\n\nRisk: The skill can create or reuse an internal identity and store authentication tokens in a local workspace database.\n\nMitigation: Run it only in a workspace where local identity and token storage is acceptable, and review or clear stored credentials after use.\n\nRisk: The security guidance flags dev HTTP endpoints in a published package.\n\nMitigation: Do not use the package for production workflows until the publisher explains the endpoint configuration and provides appropriate production HTTPS endpoints.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/18072937735/skills/smyx-pet-climbing-frame-heatmap-analysis)\n- [API interface documentation](artifact/references/api_doc.md)\n- [Shared analysis API documentation](artifact/skills/smyx_analysis/references/api_doc.md)\n- [Skill usage demo](https://lifeemergence.com/sample.html)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, json, shell commands, files]\n\n**Output Format:** [Markdown text with structured JSON-style analysis, report links, and optional saved output files]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Local video inputs are documented as mp4, avi, or mov up to 10 MB; URL inputs are submitted to the remote analysis API.]\n\n## Skill Version(s):\n\n1.0.9 (source: server release metadata; artifact frontmatter reports 1.0.10)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.9:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.9:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.8: 31 files, 38909 bytes\n\nFiles: references/api_doc.md (669b), scripts/__init__.py (65b), scripts/config.py (687b), scripts/config.yaml (3b), scripts/skill.py (580b), scripts/smyx_pet_climbing_frame_heatmap_analysis.py (3572b), skill-card.md (2534b), SKILL.md (11151b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (159b)\n\nFile v1.0.8:SKILL.md\n\n---\nname: \"smyx-pet-climbing-frame-heatmap-analysis\"\ndescription: \"Triggers when a user provides a cat climbing frame / cat tree area video URL or file for analysis; supports local video uploads or network URLs to call server-side APIs for multi-region activity recognition, analyzing dwell time on each layer, jump/transition counts, and generating a 2D activity heatmap to evaluate exercise volume and mental wellbeing (without diagnosing diseases). Application scenarios: cat climbing frame + camera, pet behavior monitoring, cat health management. Development reason: quantify cat activity distribution and enrichment usage. | 当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。\"\nversion: \"1.0.8\"\nlicense: \"MIT-0\"\n---\n\n# 🗺️ Pet Climbing Frame / Cat Tree Activity Heatmap | 宠物爬架/猫树活动热力图\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物爬架/猫树活动热力图** |\n| 🎯 核心目标 | 当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_CLIMBING_FRAME_HEATMAP_ANALYSIS` |\n\nTriggers when a user provides a cat climbing frame / cat tree area video URL or file for analysis; supports local video\nuploads or network URLs to call server-side APIs for multi-region activity recognition, analyzing dwell time on each\nlayer, jump/transition counts, and generating a 2D activity heatmap to evaluate exercise volume and mental wellbeing (\nwithout diagnosing diseases). Application scenarios: cat climbing frame + camera, pet behavior monitoring, cat health\nmanagement. Development reason: quantify cat activity distribution and enrichment usage.\n\n当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的宠物行为分析AI。你的任务是基于猫爬架（猫树）多区域的连续视频，检测猫咪在不同层级和位置的停留时长、跳跃或转移次数，生成标准化的活动热力图数据。不要提供健康诊断，仅客观描述活动分布指标。 ** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过猫爬架/猫树区域视频生成猫咪 2D 活动热力图，获取标准化的运动量与活动分布观察结果\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 视频分析 |\n| 2 | 各层停留时长统计 |\n| 3 | 跳跃/转移次数计数 |\n| 4 | 活动密度分布 |\n| 5 | 2D 热力图生成 |\n| 6 | 运动量与心理健康趋势提示 |\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_pet_climbing_frame_heatmap_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_pet_climbing_frame_heatmap_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_pet_climbing_frame_heatmap_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 cat | 按需填写 |\n| `--list` | 显示猫爬架/猫树活动热力图视频历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_pet_climbing_frame_heatmap_analysis.py`](scripts/smyx_pet_climbing_frame_heatmap_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 视频要求：支持 mp4/avi/mov 格式，最大 10MB |\n| 🔎 使用提醒 | 建议使用固定机位、能覆盖整座爬架/猫树全部层级的视角，连续记录时长不少于若干分钟，便于生成有意义的热力分布 |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供运动量与丰富度参考，不提供疾病诊断或治疗建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地猫爬架视频\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input /path/to/cat_tree_video.mp4 --pet-type cat\n\n# 分析网络猫爬架视频\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --url https://example.com/cat_tree_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史活动热力图报告（自动触发关键词：查看历史活动热力图报告、历史报告、猫爬架报告清单等）\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.8:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-pet-climbing-frame-heatmap-analysis\",\n  \"version\": \"1.0.8\",\n  \"publishedAt\": 1786530757016\n}\n\nFile v1.0.8:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物爬架/猫树活动热力图 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动活动热力图分析任务\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_PET_CLIMBING_FRAME_HEATMAP_ANALYSIS` - 宠物爬架/猫树活动热力图\n\nFile v1.0.8:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.8:scripts/config.yaml\n\n{}\n\nFile v1.0.8:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.8:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.8:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.8:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.8:skill-card.md\n\n## Description:\n\nAnalyzes cat climbing-frame or cat-tree video input through a configured external service to produce dwell-time, transition-count, and 2D activity heatmap observations without providing disease diagnosis.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[18072937735](https://clawhub.ai/user/18072937735)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and agents use this skill to analyze cat-tree or climbing-frame videos, review structured activity observations, and retrieve prior analysis reports. It is intended for pet behavior monitoring and enrichment assessment, not veterinary diagnosis.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Pet videos, video URLs, and identity-linked request metadata may be sent to configured external services.\n\nMitigation: Review privacy disclosures and obtain appropriate user permission before submitting media or URLs for analysis.\n\nRisk: The skill may silently create or reuse an identity and store tokens in a local SQLite database.\n\nMitigation: Run only in trusted workspaces, review local data handling before installation, and clear or rotate stored tokens when they are no longer needed.\n\nRisk: Activity and wellbeing observations could be mistaken for medical advice.\n\nMitigation: Present results as behavior and enrichment observations only, and route veterinary diagnosis or treatment questions to qualified professionals.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/18072937735/skills/smyx-pet-climbing-frame-heatmap-analysis)\n- [Skill Demo](https://lifeemergence.com/sample.html)\n- [Pet Climbing Frame API Documentation](artifact/references/api_doc.md)\n- [Common Analysis API Documentation](artifact/skills/smyx_analysis/references/api_doc.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, JSON, files]\n\n**Output Format:** [Markdown-style status text with structured JSON analysis content, report links, and optional saved output files.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Outputs depend on the configured external analysis service and may include historical report listings.]\n\n## Skill Version(s):\n\n1.0.8 (source: frontmatter and server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.8:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.8:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.7: 31 files, 38790 bytes\n\nFiles: references/api_doc.md (669b), scripts/__init__.py (65b), scripts/config.py (687b), scripts/config.yaml (3b), scripts/skill.py (580b), scripts/smyx_pet_climbing_frame_heatmap_analysis.py (3572b), skill-card.md (2240b), SKILL.md (11151b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (159b)\n\nFile v1.0.7:SKILL.md\n\n---\nname: \"smyx-pet-climbing-frame-heatmap-analysis\"\ndescription: \"Triggers when a user provides a cat climbing frame / cat tree area video URL or file for analysis; supports local video uploads or network URLs to call server-side APIs for multi-region activity recognition, analyzing dwell time on each layer, jump/transition counts, and generating a 2D activity heatmap to evaluate exercise volume and mental wellbeing (without diagnosing diseases). Application scenarios: cat climbing frame + camera, pet behavior monitoring, cat health management. Development reason: quantify cat activity distribution and enrichment usage. | 当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。\"\nversion: \"1.0.8\"\nlicense: \"MIT-0\"\n---\n\n# 🗺️ Pet Climbing Frame / Cat Tree Activity Heatmap | 宠物爬架/猫树活动热力图\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物爬架/猫树活动热力图** |\n| 🎯 核心目标 | 当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_CLIMBING_FRAME_HEATMAP_ANALYSIS` |\n\nTriggers when a user provides a cat climbing frame / cat tree area video URL or file for analysis; supports local video\nuploads or network URLs to call server-side APIs for multi-region activity recognition, analyzing dwell time on each\nlayer, jump/transition counts, and generating a 2D activity heatmap to evaluate exercise volume and mental wellbeing (\nwithout diagnosing diseases). Application scenarios: cat climbing frame + camera, pet behavior monitoring, cat health\nmanagement. Development reason: quantify cat activity distribution and enrichment usage.\n\n当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的宠物行为分析AI。你的任务是基于猫爬架（猫树）多区域的连续视频，检测猫咪在不同层级和位置的停留时长、跳跃或转移次数，生成标准化的活动热力图数据。不要提供健康诊断，仅客观描述活动分布指标。 ** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过猫爬架/猫树区域视频生成猫咪 2D 活动热力图，获取标准化的运动量与活动分布观察结果\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 视频分析 |\n| 2 | 各层停留时长统计 |\n| 3 | 跳跃/转移次数计数 |\n| 4 | 活动密度分布 |\n| 5 | 2D 热力图生成 |\n| 6 | 运动量与心理健康趋势提示 |\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_pet_climbing_frame_heatmap_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_pet_climbing_frame_heatmap_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_pet_climbing_frame_heatmap_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 cat | 按需填写 |\n| `--list` | 显示猫爬架/猫树活动热力图视频历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_pet_climbing_frame_heatmap_analysis.py`](scripts/smyx_pet_climbing_frame_heatmap_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 视频要求：支持 mp4/avi/mov 格式，最大 10MB |\n| 🔎 使用提醒 | 建议使用固定机位、能覆盖整座爬架/猫树全部层级的视角，连续记录时长不少于若干分钟，便于生成有意义的热力分布 |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供运动量与丰富度参考，不提供疾病诊断或治疗建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地猫爬架视频\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input /path/to/cat_tree_video.mp4 --pet-type cat\n\n# 分析网络猫爬架视频\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --url https://example.com/cat_tree_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史活动热力图报告（自动触发关键词：查看历史活动热力图报告、历史报告、猫爬架报告清单等）\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.7:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-pet-climbing-frame-heatmap-analysis\",\n  \"version\": \"1.0.7\",\n  \"publishedAt\": 1786186058011\n}\n\nFile v1.0.7:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物爬架/猫树活动热力图 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动活动热力图分析任务\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_PET_CLIMBING_FRAME_HEATMAP_ANALYSIS` - 宠物爬架/猫树活动热力图\n\nFile v1.0.7:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.7:scripts/config.yaml\n\n{}\n\nFile v1.0.7:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.7:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.7:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.7:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.7:skill-card.md\n\n## Description:\n\nAnalyzes cat tree videos or URLs through server-side APIs to report layer dwell time, jumps or transitions, and a 2D activity heatmap for activity and enrichment observation, without diagnosing disease.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[18072937735](https://clawhub.ai/user/18072937735)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to analyze cat climbing frame or cat tree footage, quantify where a pet spends time, count jumps or transitions, and produce an activity heatmap report for enrichment and activity monitoring.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Pet videos or URLs are processed by external lifeemergence.com APIs.\n\nMitigation: Avoid private home camera footage unless the publisher provides clear retention and deletion terms, and review the API terms before deployment.\n\nRisk: The skill silently creates or reuses an internal identity, sends that identity to a login endpoint, and stores returned service tokens in a local shared SQLite database.\n\nMitigation: Run the skill in an isolated environment, review account-linking behavior, and restrict access to local token storage.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/18072937735/skills/smyx-pet-climbing-frame-heatmap-analysis)\n- [API documentation](references/api_doc.md)\n- [SMYX analysis API documentation](skills/smyx_analysis/references/api_doc.md)\n- [Skill demo](https://lifeemergence.com/sample.html)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown reports and JSON text returned by shell commands]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include report links and saved result files when --output is used.]\n\n## Skill Version(s):\n\n1.0.7 (source: server release metadata; artifact frontmatter reports 1.0.8)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.7:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.7:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.6: 31 files, 38898 bytes\n\nFiles: references/api_doc.md (669b), scripts/__init__.py (65b), scripts/config.py (687b), scripts/config.yaml (3b), scripts/skill.py (580b), scripts/smyx_pet_climbing_frame_heatmap_analysis.py (3572b), skill-card.md (2481b), SKILL.md (11151b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (159b)\n\nFile v1.0.6:SKILL.md\n\n---\nname: \"smyx-pet-climbing-frame-heatmap-analysis\"\ndescription: \"Triggers when a user provides a cat climbing frame / cat tree area video URL or file for analysis; supports local video uploads or network URLs to call server-side APIs for multi-region activity recognition, analyzing dwell time on each layer, jump/transition counts, and generating a 2D activity heatmap to evaluate exercise volume and mental wellbeing (without diagnosing diseases). Application scenarios: cat climbing frame + camera, pet behavior monitoring, cat health management. Development reason: quantify cat activity distribution and enrichment usage. | 当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。\"\nversion: \"1.0.6\"\nlicense: \"MIT-0\"\n---\n\n# 🗺️ Pet Climbing Frame / Cat Tree Activity Heatmap | 宠物爬架/猫树活动热力图\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物爬架/猫树活动热力图** |\n| 🎯 核心目标 | 当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_CLIMBING_FRAME_HEATMAP_ANALYSIS` |\n\nTriggers when a user provides a cat climbing frame / cat tree area video URL or file for analysis; supports local video\nuploads or network URLs to call server-side APIs for multi-region activity recognition, analyzing dwell time on each\nlayer, jump/transition counts, and generating a 2D activity heatmap to evaluate exercise volume and mental wellbeing (\nwithout diagnosing diseases). Application scenarios: cat climbing frame + camera, pet behavior monitoring, cat health\nmanagement. Development reason: quantify cat activity distribution and enrichment usage.\n\n当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的宠物行为分析AI。你的任务是基于猫爬架（猫树）多区域的连续视频，检测猫咪在不同层级和位置的停留时长、跳跃或转移次数，生成标准化的活动热力图数据。不要提供健康诊断，仅客观描述活动分布指标。 ** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过猫爬架/猫树区域视频生成猫咪 2D 活动热力图，获取标准化的运动量与活动分布观察结果\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 视频分析 |\n| 2 | 各层停留时长统计 |\n| 3 | 跳跃/转移次数计数 |\n| 4 | 活动密度分布 |\n| 5 | 2D 热力图生成 |\n| 6 | 运动量与心理健康趋势提示 |\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_pet_climbing_frame_heatmap_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_pet_climbing_frame_heatmap_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_pet_climbing_frame_heatmap_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 cat | 按需填写 |\n| `--list` | 显示猫爬架/猫树活动热力图视频历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_pet_climbing_frame_heatmap_analysis.py`](scripts/smyx_pet_climbing_frame_heatmap_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 视频要求：支持 mp4/avi/mov 格式，最大 10MB |\n| 🔎 使用提醒 | 建议使用固定机位、能覆盖整座爬架/猫树全部层级的视角，连续记录时长不少于若干分钟，便于生成有意义的热力分布 |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供运动量与丰富度参考，不提供疾病诊断或治疗建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地猫爬架视频\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input /path/to/cat_tree_video.mp4 --pet-type cat\n\n# 分析网络猫爬架视频\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --url https://example.com/cat_tree_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史活动热力图报告（自动触发关键词：查看历史活动热力图报告、历史报告、猫爬架报告清单等）\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-pet-climbing-frame-heatmap-analysis\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1785411869251\n}\n\nFile v1.0.6:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物爬架/猫树活动热力图 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动活动热力图分析任务\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_PET_CLIMBING_FRAME_HEATMAP_ANALYSIS` - 宠物爬架/猫树活动热力图\n\nFile v1.0.6:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.6:scripts/config.yaml\n\n{}\n\nFile v1.0.6:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.6:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.6:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.6:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.6:skill-card.md\n\n## Description: <br>\nAnalyzes cat climbing frame or cat tree videos from local files or URLs to summarize dwell time by region, jump or transition counts, activity density, and a 2D activity heatmap without providing disease diagnosis. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[18072937735](https://clawhub.ai/user/18072937735) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nPet care teams, developers, and external users can use this skill to process cat tree area videos and generate structured activity observations for enrichment and behavior monitoring. The skill is for activity distribution and exercise trend review, not veterinary diagnosis or treatment guidance. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Pet videos or video URLs are sent to a configured cloud service for analysis. <br>\nMitigation: Use non-sensitive videos, confirm the cloud endpoint is acceptable for the deployment, and avoid submitting media that includes private locations, people, or unrelated personal data. <br>\nRisk: The skill can silently create or reuse an identity, attach tokens to requests, and persist account state in the workspace data directory. <br>\nMitigation: Run in a separate workspace when possible, review persisted identity files after use, and remove data/smyx-api-key.txt or the local smyx-common-claw.db when persistent account state is not desired. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/18072937735/skills/smyx-pet-climbing-frame-heatmap-analysis) <br>\n- [API documentation](references/api_doc.md) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, json, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown report text with JSON-style structured analysis fields and report links] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May query historical cloud reports and may write an optional output file when requested.] <br>\n\n## Skill Version(s): <br>\n1.0.6 (source: frontmatter and server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.6:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.6:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.5: 31 files, 39026 bytes\n\nFiles: references/api_doc.md (669b), scripts/__init__.py (65b), scripts/config.py (687b), scripts/config.yaml (3b), scripts/skill.py (580b), scripts/smyx_pet_climbing_frame_heatmap_analysis.py (3572b), skill-card.md (2838b), SKILL.md (11151b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (159b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: \"smyx-pet-climbing-frame-heatmap-analysis\"\ndescription: \"Triggers when a user provides a cat climbing frame / cat tree area video URL or file for analysis; supports local video uploads or network URLs to call server-side APIs for multi-region activity recognition, analyzing dwell time on each layer, jump/transition counts, and generating a 2D activity heatmap to evaluate exercise volume and mental wellbeing (without diagnosing diseases). Application scenarios: cat climbing frame + camera, pet behavior monitoring, cat health management. Development reason: quantify cat activity distribution and enrichment usage. | 当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。\"\nversion: \"1.0.4\"\nlicense: \"MIT-0\"\n---\n\n# 🗺️ Pet Climbing Frame / Cat Tree Activity Heatmap | 宠物爬架/猫树活动热力图\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物爬架/猫树活动热力图** |\n| 🎯 核心目标 | 当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_CLIMBING_FRAME_HEATMAP_ANALYSIS` |\n\nTriggers when a user provides a cat climbing frame / cat tree area video URL or file for analysis; supports local video\nuploads or network URLs to call server-side APIs for multi-region activity recognition, analyzing dwell time on each\nlayer, jump/transition counts, and generating a 2D activity heatmap to evaluate exercise volume and mental wellbeing (\nwithout diagnosing diseases). Application scenarios: cat climbing frame + camera, pet behavior monitoring, cat health\nmanagement. Development reason: quantify cat activity distribution and enrichment usage.\n\n当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的宠物行为分析AI。你的任务是基于猫爬架（猫树）多区域的连续视频，检测猫咪在不同层级和位置的停留时长、跳跃或转移次数，生成标准化的活动热力图数据。不要提供健康诊断，仅客观描述活动分布指标。 ** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过猫爬架/猫树区域视频生成猫咪 2D 活动热力图，获取标准化的运动量与活动分布观察结果\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 视频分析 |\n| 2 | 各层停留时长统计 |\n| 3 | 跳跃/转移次数计数 |\n| 4 | 活动密度分布 |\n| 5 | 2D 热力图生成 |\n| 6 | 运动量与心理健康趋势提示 |\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_pet_climbing_frame_heatmap_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_pet_climbing_frame_heatmap_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_pet_climbing_frame_heatmap_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 cat | 按需填写 |\n| `--list` | 显示猫爬架/猫树活动热力图视频历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_pet_climbing_frame_heatmap_analysis.py`](scripts/smyx_pet_climbing_frame_heatmap_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 视频要求：支持 mp4/avi/mov 格式，最大 10MB |\n| 🔎 使用提醒 | 建议使用固定机位、能覆盖整座爬架/猫树全部层级的视角，连续记录时长不少于若干分钟，便于生成有意义的热力分布 |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供运动量与丰富度参考，不提供疾病诊断或治疗建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地猫爬架视频\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input /path/to/cat_tree_video.mp4 --pet-type cat\n\n# 分析网络猫爬架视频\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --url https://example.com/cat_tree_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史活动热力图报告（自动触发关键词：查看历史活动热力图报告、历史报告、猫爬架报告清单等）\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-pet-climbing-frame-heatmap-analysis\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1784113649468\n}\n\nFile v1.0.5:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物爬架/猫树活动热力图 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动活动热力图分析任务\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_PET_CLIMBING_FRAME_HEATMAP_ANALYSIS` - 宠物爬架/猫树活动热力图\n\nFile v1.0.5:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.5:scripts/config.yaml\n\n{}\n\nFile v1.0.5:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.5:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.5:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.5:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.5:skill-card.md\n\n## Description: <br>\nAnalyzes cat tree or pet climbing-frame videos and video URLs with server-side APIs to estimate layer dwell time, jumps or transitions, activity density, and a 2D activity heatmap without providing medical diagnosis. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[18072937735](https://clawhub.ai/user/18072937735) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and agent operators use this skill to submit cat tree area videos or URLs for structured activity heatmap analysis, history lookup, and report-link generation. Results are intended for activity observation and enrichment review, not health diagnosis or treatment guidance. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Cat-area videos, network video URLs, and analysis requests are sent to lifeemergence backend services. <br>\nMitigation: Avoid submitting videos or URLs that reveal people, private interiors, signed links, or other sensitive information unless the publisher provides acceptable privacy and retention terms. <br>\nRisk: The skill can silently create or reuse an account-linked identifier and store tokens in the workspace data directory. <br>\nMitigation: Run the skill in an isolated workspace, review the publisher's account-control terms, and clear local workspace credentials when the skill is no longer needed. <br>\nRisk: The output may describe activity and wellbeing trends but is not a veterinary diagnosis. <br>\nMitigation: Treat results as observational enrichment data and consult a qualified professional for medical or behavioral health decisions. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/18072937735/skills/smyx-pet-climbing-frame-heatmap-analysis) <br>\n- [API Documentation](references/api_doc.md) <br>\n- [SMYX Analysis API Documentation](skills/smyx_analysis/references/api_doc.md) <br>\n- [Skill Demo](https://lifeemergence.com/sample.html) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, JSON, Shell commands, Guidance] <br>\n**Output Format:** [Markdown text with structured JSON-style analysis results, report links, or history listings; optionally saved to a local output file.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Supports basic, standard, and json detail modes; input may be a local video file or a network video URL.] <br>\n\n## Skill Version(s): <br>\n1.0.5 (source: release evidence; artifact frontmatter says 1.0.4) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.5:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.5:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.4: 31 files, 38767 bytes\n\nFiles: references/api_doc.md (669b), scripts/__init__.py (65b), scripts/config.py (687b), scripts/config.yaml (3b), scripts/skill.py (580b), scripts/smyx_pet_climbing_frame_heatmap_analysis.py (3572b), skill-card.md (2434b), SKILL.md (11151b), 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 (159b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: \"smyx-pet-climbing-frame-heatmap-analysis\"\ndescription: \"Triggers when a user provides a cat climbing frame / cat tree area video URL or file for analysis; supports local video uploads or network URLs to call server-side APIs for multi-region activity recognition, analyzing dwell time on each layer, jump/transition counts, and generating a 2D activity heatmap to evaluate exercise volume and mental wellbeing (without diagnosing diseases). Application scenarios: cat climbing frame + camera, pet behavior monitoring, cat health management. Development reason: quantify cat activity distribution and enrichment usage. | 当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。\"\nversion: \"1.0.3\"\nlicense: \"MIT-0\"\n---\n\n# 🗺️ Pet Climbing Frame / Cat Tree Activity Heatmap | 宠物爬架/猫树活动热力图\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物爬架/猫树活动热力图** |\n| 🎯 核心目标 | 当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_CLIMBING_FRAME_HEATMAP_ANALYSIS` |\n\nTriggers when a user provides a cat climbing frame / cat tree area video URL or file for analysis; supports local video\nuploads or network URLs to call server-side APIs for multi-region activity recognition, analyzing dwell time on each\nlayer, jump/transition counts, and generating a 2D activity heatmap to evaluate exercise volume and mental wellbeing (\nwithout diagnosing diseases). Application scenarios: cat climbing frame + camera, pet behavior monitoring, cat health\nmanagement. Development reason: quantify cat activity distribution and enrichment usage.\n\n当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的宠物行为分析AI。你的任务是基于猫爬架（猫树）多区域的连续视频，检测猫咪在不同层级和位置的停留时长、跳跃或转移次数，生成标准化的活动热力图数据。不要提供健康诊断，仅客观描述活动分布指标。 ** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过猫爬架/猫树区域视频生成猫咪 2D 活动热力图，获取标准化的运动量与活动分布观察结果\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 视频分析 |\n| 2 | 各层停留时长统计 |\n| 3 | 跳跃/转移次数计数 |\n| 4 | 活动密度分布 |\n| 5 | 2D 热力图生成 |\n| 6 | 运动量与心理健康趋势提示 |\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_pet_climbing_frame_heatmap_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_pet_climbing_frame_heatmap_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_pet_climbing_frame_heatmap_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 cat | 按需填写 |\n| `--list` | 显示猫爬架/猫树活动热力图视频历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_pet_climbing_frame_heatmap_analysis.py`](scripts/smyx_pet_climbing_frame_heatmap_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 视频要求：支持 mp4/avi/mov 格式，最大 10MB |\n| 🔎 使用提醒 | 建议使用固定机位、能覆盖整座爬架/猫树全部层级的视角，连续记录时长不少于若干分钟，便于生成有意义的热力分布 |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供运动量与丰富度参考，不提供疾病诊断或治疗建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地猫爬架视频\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input /path/to/cat_tree_video.mp4 --pet-type cat\n\n# 分析网络猫爬架视频\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --url https://example.com/cat_tree_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史活动热力图报告（自动触发关键词：查看历史活动热力图报告、历史报告、猫爬架报告清单等）\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-pet-climbing-frame-heatmap-analysis\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1783508728322\n}\n\nFile v1.0.4:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物爬架/猫树活动热力图 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动活动热力图分析任务\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_PET_CLIMBING_FRAME_HEATMAP_ANALYSIS` - 宠物爬架/猫树活动热力图\n\nFile v1.0.4:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.4:scripts/config.yaml\n\n{}\n\nFile v1.0.4:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.4:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.4:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.4:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.4:skill-card.md\n\n## Description: <br>\nAnalyzes cat tree or pet climbing-frame videos through server-side APIs to report layer dwell time, jump and transition counts, activity density, 2D heatmaps, and report links without providing disease diagnosis. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[18072937735](https://clawhub.ai/user/18072937735) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to send local cat-tree videos or video URLs to a cloud analysis service, receive structured activity heatmap reports, and query prior reports tied to the resolved identity. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Pet videos or video URLs are sent to lifeemergence.com services for analysis. <br>\nMitigation: Use only footage appropriate for external processing, and avoid submitting sensitive household footage unless the publisher provides acceptable privacy and retention terms. <br>\nRisk: Analysis history may be tied to a local or external identity while the skill manages account/session handling and token storage silently. <br>\nMitigation: Review the skill before installation, confirm identity and token handling are acceptable, and clear local credentials or history where required by local policy. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/18072937735/skills/smyx-pet-climbing-frame-heatmap-analysis) <br>\n- [API interface documentation](references/api_doc.md) <br>\n- [Skill usage demo](https://lifeemergence.com/sample.html) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, JSON, Shell commands, Configuration, Guidance] <br>\n**Output Format:** [Markdown or JSON analysis reports with report links, history tables, and command examples.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Results depend on server API responses, selected detail level, and whether the user requests a new analysis or history query.] <br>\n\n## Skill Version(s): <br>\n1.0.4 (source: evidence.release.version; artifact frontmatter lists 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.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","readmeExcerpt":"Skill: Pet Climbing Frame / Cat Tree Activity Heatmap | 宠物爬架/猫树活动热力图 Owner: 18072937735 Summary: Triggers when a user provides a cat climbing frame / cat tree area video URL or file for analysis; supports local video uploads or network URLs to call server-side APIs for multi-region activity recognition, analyzing dwell time on each layer, jump/transition counts, and generating a 2D activity heatmap to evaluate exerci","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"python -m scripts.smyx_pet_climbing_frame_heatmap_analysis --list"},{"language":"text","snippet":"requests>=2.28.0"},{"language":"bash","snippet":"# 分析本地猫爬架视频\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input /path/to/cat_tree_video.mp4 --pet-type cat\n\n# 分析网络猫爬架视频\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --url https://example.com/cat_tree_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史活动热力图报告（自动触发关键词：查看历史活动热力图报告、历史报告、猫爬架报告清单等）\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input video.mp4 --pet-type cat --output result.json"},{"language":"bash","snippet":"python -m scripts.smyx_pet_climbing_frame_heatmap_analysis --list"},{"language":"text","snippet":"requests>=2.28.0"},{"language":"bash","snippet":"# 分析本地猫爬架视频\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input /path/to/cat_tree_video.mp4 --pet-type cat\n\n# 分析网络猫爬架视频\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --url https://example.com/cat_tree_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史活动热力图报告（自动触发关键词：查看历史活动热力图报告、历史报告、猫爬架报告清单等）\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_climbing_frame_heatmap_analysis --input video.mp4 --pet-type cat --output result.json"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: \"smyx-pet-climbing-frame-heatmap-analysis\"\ndescription: \"Triggers when a user provides a cat climbing frame / cat tree area video URL or file for analysis; supports local video uploads or network URLs to call server-side APIs for multi-region activity recognition, analyzing dwell time on each layer, jump/transition counts, and generating a 2D activity heatmap to evaluate exercise volume and mental wellbeing (without diagnosing diseases). Application scenarios: cat climbing frame + camera, pet behavior monitoring, cat health management. Development reason: quantify cat activity distribution and enrichment usage. | 当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。\"\nversion: \"1.0.15\"\nlicense: \"MIT-0\"\n---\n\n# 🗺️ Pet Climbing Frame / Cat Tree Activity Heatmap | 宠物爬架/猫树活动热力图\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物爬架/猫树活动热力图** |\n| 🎯 核心目标 | 当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_CLIMBING_FRAME_HEATMAP_ANALYSIS` |\n\nTriggers when a user provides a cat climbing frame / cat tree area video URL or file for analysis; supports local video\nuploads or network URLs to call server-side APIs for multi-region activity recognition, analyzing dwell time on each\nlayer, jump/transition counts, and generating a 2D activity heatmap to evaluate exercise volume and mental wellbeing (\nwithout diagnosing diseases). Application scenarios: cat climbing frame + camera, pet behavior monitoring, cat health\nmanagement. Development reason: quantify cat activity distribution and enrichment usage.\n\n当用户提供猫爬架/猫树区域的视频URL或文件时，触发本技能进行活动热力图分析；支持通过上传本地视频或网络视频URL，调用服务端API进行多区域活动识别，分析各层停留时长、跳跃/转移次数，生成2D活动热力图，用于评估运动量与心理健康（不诊断疾病）。应用场景：猫爬架+摄像头、宠物行为监测、猫咪健康管理。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的宠物行为分析AI。你的任务是基于猫爬架（猫树）多区域的连续视频，检测猫咪在不同层级和位置的停留时长、跳跃或转移次数，生成标准化的活动热力图数据。不要提供健康诊断，仅客观描述活动分布指标。 ** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过猫爬架/猫树区域视频生成猫咪 2D 活动热力图，获取标准化的运动量与活动分布观察结果\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 视频分析 |\n| 2 | 各层停留时长统计 |\n| 3 | 跳跃/转移次数计数 |\n| 4 | 活动密度分布 |\n| 5 | 2D 热力图生成 |\n| 6 | 运动量与心理健康趋势提示 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供猫爬架/猫树区域视频 URL 或文件需要分析时，默认触发本技能进行活动热力图分析 |\n| 🔎 明确分析意图 | 当用户明确需要进行猫咪活动监测时，提及猫爬架、猫树、活动热力图、停留时长、跳跃次数、运动量评估、猫咪心理健康、行为丰富度等关键词，并且上传了视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能**：查看历史活动热力图报告、历史猫爬架报告、活动热力图报告清单、查询活动热力图报告、显示所有猫爬架报告、显示猫咪运动量报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** "},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-pet-climbing-frame-heatmap-analysis\",\n  \"version\": \"1.0.13\",\n  \"publishedAt\": 1790702314039\n}"},{"path":"references/api_doc.md","content":"# API 接口文档\n\n此处用于存放宠物爬架/猫树活动热力图 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动活动热力图分析任务\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_PET_CLIMBING_FRAME_HEATMAP_ANALYSIS` - 宠物爬架/猫树活动热力图"},{"path":"skills/smyx_analysis/references/api_doc.md","content":"# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |"},{"path":"scripts/config.yaml","content":"{}"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":964,"uniquenessScore":39,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T21:06:14.887Z","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-09T21:06:14.887Z","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-10T04:26:12.854Z","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"}]}}}