{"id":"40efa939-1529-4ba7-95da-842187b7eb4f","entityType":"agent","slug":"clawhub-smyx-sunjinhui-smyx-pet-body-condition-score-3d-analysi","name":"Pet Body Condition Score 3D Analysis | 宠物体态3D评分（BCS）","canonicalUrl":"https://www.xpersona.co/agent/clawhub-smyx-sunjinhui-smyx-pet-body-condition-score-3d-analysi","canonicalPath":"/agent/clawhub-smyx-sunjinhui-smyx-pet-body-condition-score-3d-analysi","generatedAt":"2026-10-10T07:12:48.972Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T23:53:30.600Z","emptyReason":null},"description":"Triggers when a user provides multi-angle pet videos (standing/side/top-down view) URL or files for analysis; supports local video uploads or network URLs to call server-side APIs for 3D body shape reconstruction and Body Condition Score (BCS, 1-9) evaluation, classifying body type as underweight, ideal, or overweight/obese, outputting standardized observation data (without diagnosing diseases or prescribing treatment). Application scenarios: smart feeders, pet cameras, pet health management platforms. Development reason: early warning for obesity-related diseases, scientific weight management. | 当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.9K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s17cfv2h26b7hq5w47tgfy23xx83z9x6:smyx-pet-body-condition-score-3d-analysis","sourceUrl":"https://clawhub.ai/smyx-sunjinhui/smyx-pet-body-condition-score-3d-analysis","homepage":"https://clawhub.ai/smyx-sunjinhui/skills/smyx-pet-body-condition-score-3d-analysis","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/smyx-sunjinhui/smyx-pet-body-condition-score-3d-analysis","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/smyx-sunjinhui/skills/smyx-pet-body-condition-score-3d-analysis","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":65,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Pet Body Condition Score 3D Analysis | 宠物体态3D评分（BCS） 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-09T23:53:30.600Z","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-09T23:53:30.600Z","emptyReason":null},"stars":null,"forks":null,"downloads":1866,"packageName":null,"latestVersion":"1.0.11","tractionLabel":"1.9K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T23:53:30.571Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T23:53:30.600Z","lastCrawledAt":"2026-10-09T23:53:30.571Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T23:53:30.571Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.11","createdAt":"2026-09-30T09:04:25.435Z","changelog":"- Updated version number to 1.0.16 in SKILL.md. - Removed the skill-card.md file. - No changes to core functionality or usage instructions.","fileCount":31,"zipByteSize":38888},{"version":"1.0.10","createdAt":"2026-09-25T00:47:34.716Z","changelog":"- Version bump from 1.0.13 to 1.0.15. - Documentation update in SKILL.md, including version information. - Removal of redundant file: skill-card.md. - Minor config or documentation adjustments (no user-facing functional changes).","fileCount":31,"zipByteSize":39012},{"version":"1.0.9","createdAt":"2026-09-08T13:13:29.714Z","changelog":"- Updated version to 1.0.13 in SKILL.md. - Removed the file skill-card.md from the repository. - No changes to functionality or user workflows.","fileCount":31,"zipByteSize":39079},{"version":"1.0.8","createdAt":"2026-08-29T15:30:29.865Z","changelog":"- Version update: incremented from 1.0.11 to 1.0.12. - Documentation updated in SKILL.md; general content and description remain focused on pet 3D BCS analysis. - Removed skill-card.md file. - No feature, API, or workflow changes detected in this version. - Minor metadata and documentation housekeeping.","fileCount":31,"zipByteSize":39282},{"version":"1.0.7","createdAt":"2026-08-21T18:52:35.836Z","changelog":"- Version updated from 1.0.10 to 1.0.11. - Documentation update: SKILL.md revised, version number and minor descriptive details adjusted. - Removed file: skill-card.md has been deleted. - No changes to functionality or features; update is focused on documentation cleanup.","fileCount":31,"zipByteSize":39108},{"version":"1.0.6","createdAt":"2026-08-15T20:02:28.855Z","changelog":"- Updated SKILL.md with version increment and minor documentation refinements. - Removed redundant file: skill-card.md. - Made adjustments in skills/smyx_common/scripts/config.yaml. - No changes to skill functionality or APIs.","fileCount":31,"zipByteSize":39137},{"version":"1.0.5","createdAt":"2026-08-02T16:29:31.008Z","changelog":"- Removed the file: skill-card.md. - No other changes to functionality or documentation.","fileCount":31,"zipByteSize":39211},{"version":"1.0.4","createdAt":"2026-07-28T23:43:28.115Z","changelog":"- Version updated to 1.0.8 in SKILL.md. - Content and documentation in SKILL.md revised and extended. - skill-card.md file removed. - No changes to underlying functionality or code detected; update is documentation-focused.","fileCount":31,"zipByteSize":39130}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17cfv2h26b7hq5w47tgfy23xx83z9x6:smyx-pet-body-condition-score-3d-analysis","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s17cfv2h26b7hq5w47tgfy23xx83z9x6:smyx-pet-body-condition-score-3d-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/smyx-sunjinhui/smyx-pet-body-condition-score-3d-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-smyx-sunjinhui-smyx-pet-body-condition-score-3d-analysi/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-pet-body-condition-score-3d-analysi/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-pet-body-condition-score-3d-analysi/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-pet-body-condition-score-3d-analysi/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-pet-body-condition-score-3d-analysi/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-pet-body-condition-score-3d-analysi/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T07:12:48.969Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-pet-body-condition-score-3d-analysi/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-pet-body-condition-score-3d-analysi/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-pet-body-condition-score-3d-analysi/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-pet-body-condition-score-3d-analysi/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-09T23:53:30.600Z","emptyReason":null},"readme":"Skill: Pet Body Condition Score 3D Analysis | 宠物体态3D评分（BCS）\n\nOwner: smyx-sunjinhui\n\nSummary: Triggers when a user provides multi-angle pet videos (standing/side/top-down view) URL or files for analysis; supports local video uploads or network URLs to call server-side APIs for 3D body shape reconstruction and Body Condition Score (BCS, 1-9) evaluation, classifying body type as underweight, ideal, or overweight/obese, outputting standardized observation data (without diagnosing diseases or prescribing treatment). Application scenarios: smart feeders, pet cameras, pet health management platforms. Development reason: early warning for obesity-related diseases, scientific weight management. | 当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。\n\nTags: latest:1.0.11\n\nVersion history:\n\nv1.0.11 | 2026-09-30T09:04:25.435Z | auto\n\n- Updated version number to 1.0.16 in SKILL.md.\n- Removed the skill-card.md file.\n- No changes to core functionality or usage instructions.\n\nv1.0.10 | 2026-09-25T00:47:34.716Z | auto\n\n- Version bump from 1.0.13 to 1.0.15.\n- Documentation update in SKILL.md, including version information.\n- Removal of redundant file: skill-card.md.\n- Minor config or documentation adjustments (no user-facing functional changes).\n\nv1.0.9 | 2026-09-08T13:13:29.714Z | auto\n\n- Updated version to 1.0.13 in SKILL.md.\n- Removed the file skill-card.md from the repository.\n- No changes to functionality or user workflows.\n\nv1.0.8 | 2026-08-29T15:30:29.865Z | auto\n\n- Version update: incremented from 1.0.11 to 1.0.12.\n- Documentation updated in SKILL.md; general content and description remain focused on pet 3D BCS analysis.\n- Removed skill-card.md file.\n- No feature, API, or workflow changes detected in this version.\n- Minor metadata and documentation housekeeping.\n\nv1.0.7 | 2026-08-21T18:52:35.836Z | auto\n\n- Version updated from 1.0.10 to 1.0.11.\n- Documentation update: SKILL.md revised, version number and minor descriptive details adjusted.\n- Removed file: skill-card.md has been deleted.\n- No changes to functionality or features; update is focused on documentation cleanup.\n\nv1.0.6 | 2026-08-15T20:02:28.855Z | auto\n\n- Updated SKILL.md with version increment and minor documentation refinements.\n- Removed redundant file: skill-card.md.\n- Made adjustments in skills/smyx_common/scripts/config.yaml.\n- No changes to skill functionality or APIs.\n\nv1.0.5 | 2026-08-02T16:29:31.008Z | auto\n\n- Removed the file: skill-card.md.\n- No other changes to functionality or documentation.\n\nv1.0.4 | 2026-07-28T23:43:28.115Z | auto\n\n- Version updated to 1.0.8 in SKILL.md.\n- Content and documentation in SKILL.md revised and extended.\n- skill-card.md file removed.\n- No changes to underlying functionality or code detected; update is documentation-focused.\n\nv1.0.3 | 2026-07-13T05:18:29.988Z | auto\n\n- Updated skill version to 1.0.5.\n- SKILL.md revised with minor version, no functional or usage changes noted.\n- skill-card.md has been removed.\n- No impact to workflow or user instructions.\n\nv1.0.2 | 2026-07-10T10:58:30.321Z | auto\n\n- Updated internal scripts: made changes to skills/smyx_common/scripts/config.py and skills/smyx_common/scripts/util.py.\n- Removed the file: skill-card.md.\n- No changes to user-facing features or documentation.\n- Version update from 1.0.2 to 1.0.4; see source control for internal script modifications.\n\nv1.0.1 | 2026-07-01T13:58:27.535Z | auto\n\n- Changed user identity handling: all identity parameters (open-id/api-key) are now managed automatically by the system and are not shown or requested from users.\n- Updated documentation to reflect automatic, internal user association and removed all steps requiring manual identity input.\n- Refined instructions, usage examples, and workflow for streamlined user experience.\n- Enhanced skill overview, capabilities table, and note sections for clarity and completeness.\n- Removed references to manual open-id acquisition and made historical report queries require no user-supplied identification.\n\nv1.0.0 | 2026-05-22T06:53:57.383Z | auto\n\nInitial release: Analyze multi-angle pet videos to generate 3D body shape reconstruction and standardized Body Condition Score (BCS) (1–9) for cats, dogs, or other pets.\n\n- Accepts local or network video uploads (multiple angles recommended: standing, side, top-down).\n- Automatically evaluates pet BCS, classifies body type (underweight, ideal, overweight/obese), and outputs structured observation data.\n- Strict open-id validation and cloud-based historical report lookup; no local memory usage permitted.\n- Marked application scenarios: smart feeders, pet cameras, and pet health platforms.\n- Analysis results are descriptive only—no diagnosis or treatment suggestions provided.\n- Provides standardized Markdown tables with report links for historical data queries.\n\nArchive index:\n\nArchive v1.0.11: 31 files, 38888 bytes\n\nFiles: references/api_doc.md (630b), scripts/__init__.py (64b), scripts/config.py (678b), scripts/config.yaml (3b), scripts/skill.py (578b), scripts/smyx_pet_body_condition_score_3d_analysis.py (3598b), skill-card.md (2073b), SKILL.md (11587b), 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 (161b)\n\nFile v1.0.11:SKILL.md\n\n---\nname: \"smyx-pet-body-condition-score-3d-analysis\"\ndescription: \"Triggers when a user provides multi-angle pet videos (standing/side/top-down view) URL or files for analysis; supports local video uploads or network URLs to call server-side APIs for 3D body shape reconstruction and Body Condition Score (BCS, 1-9) evaluation, classifying body type as underweight, ideal, or overweight/obese, outputting standardized observation data (without diagnosing diseases or prescribing treatment). Application scenarios: smart feeders, pet cameras, pet health management platforms. Development reason: early warning for obesity-related diseases, scientific weight management. | 当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。\"\nversion: \"1.0.16\"\nlicense: \"MIT-0\"\n---\n\n# 🐕 Pet Body Condition Score 3D Analysis | 宠物体态3D评分（BCS）分析\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物体态3D评分（BCS）** |\n| 🎯 核心目标 | 当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_BODY_CONDITION_SCORE_3D_ANALYSIS` |\n\nTriggers when a user provides multi-angle pet videos (standing/side/top-down view) URL or files for analysis; supports\nlocal video uploads or network URLs to call server-side APIs for 3D body shape reconstruction and Body Condition Score (\nBCS, 1-9) evaluation, classifying body type as underweight, ideal, or overweight/obese, outputting standardized\nobservation data (without diagnosing diseases or prescribing treatment). Application scenarios: smart feeders, pet\ncameras, pet health management platforms. Development reason: early warning for obesity-related diseases, scientific\nweight management.\n\n当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| **绝对禁止读取任何本地记忆文件** | 包括但不限于 `memory/YYYY-MM-DD.md`、`MEMORY.md` 等本地文件 |\n| 要求 | **绝对禁止从 LanceDB 长期记忆中检索信息** |\n| 要求 | **所有历史报告查询必须从云端接口获取**，不得使用本地记忆中的历史数据 |\n| 要求 | 即使技能调用失败或接口异常，也不得回退到本地记忆汇总 |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过宠物多角度视频（站立、侧身、俯视）进行 3D 体型构建与体况评分，获取标准化的 BCS（Body Condition Score，1-9\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 多角度视频分析 |\n| 2 | 3D 体型重建 |\n| 3 | 腰线/腹部轮廓识别 |\n| 4 | 肋骨触感等价视觉判断 |\n| 5 | 脂肪覆盖度估算 |\n| 6 | BCS 1-9 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供宠物多角度视频 URL 或文件需要分析时，默认触发本技能进行体态 3D 评分 |\n| 🔎 明确分析意图 | 当用户明确需要进行体态/体重评估时，提及 BCS、体况评分、宠物体型、偏瘦、肥胖、体重管理、3D 体态、腰线评估等关键词，并且上传了视频文件或者图片文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史体态评分报告、历史 BCS 报告、体况评分报告清单、BCS 报告清单、查询历史体型分析报告、显示所有体态评分报告、显示宠物体重管理报告，查询肥胖风险提示报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_pet_body_condition_score_3d_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 | ⚙️ 执行体态3D评分分析 | 调用 `-m scripts.smyx_pet_body_condition_score_3d_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 cat | 按需填写 |\n| `--list` | 显示宠物体态3D评分历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_pet_body_condition_score_3d_analysis.py`](scripts/smyx_pet_body_condition_score_3d_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| 🔎 使用提醒 | **多角度建议**：理想输入应包含站立、侧身、俯视三个角度，单一角度可能影响 3D 重建精度与 BCS 准确度 |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供体重管理参考，不提供疾病诊断或治疗建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 🧑‍⚖️ 结果性质 | BCS 评分基于视觉特征估算，可能与触诊评分存在偏差，建议结合兽医实际触诊作为最终参考 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地宠物多角度视频\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input /path/to/pet_multi_angle_video.mp4 --pet-type cat\n\n# 分析网络宠物多角度视频\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --url https://example.com/pet_multi_angle_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史BCS报告（自动触发关键词：查看历史BCS报告、历史报告、体态评分报告清单等）\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.11:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-pet-body-condition-score-3d-analysis\",\n  \"version\": \"1.0.11\",\n  \"publishedAt\": 1790759065435\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/health-analysis/v2/start-health-analysis` - 启动健康分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_PET_HEALTH_ANALYSIS` - 开放平台宠物健康分析\n\nFile v1.0.11:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.11:scripts/config.yaml\n\n{}\n\nFile v1.0.11:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.11:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.11:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.11:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.11:skill-card.md\n\n## Description:\n\nAnalyzes multi-angle pet videos through a cloud service to estimate a 1–9 body condition score and provide structured observations without diagnosing disease.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nPet owners and developers use the skill to assess body condition from pet videos and retrieve historical analysis reports for weight-management monitoring.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Pet videos or video URLs are sent to a configured cloud service.\n\nMitigation: Confirm the service and obtain appropriate consent before sending pet footage or links.\n\nRisk: The skill silently creates or reuses an account identity, stores authentication tokens in workspace data, and uses that identity to access historical reports.\n\nMitigation: Review account creation and token storage before installation; restrict access to workspace data and historical reports.\n\nRisk: Visual body-condition estimates may differ from a hands-on assessment.\n\nMitigation: Treat scores as weight-management observations, not diagnoses, and consult a veterinarian for clinical assessment.\n\n## Reference(s):\n\n- [ClawHub skill release](https://clawhub.ai/smyx-sunjinhui/skills/smyx-pet-body-condition-score-3d-analysis)\n- [API documentation](references/api_doc.md)\n\n## Skill Output:\n\n**Output Type(s):** [Analysis, Text, Markdown]\n\n**Output Format:** [Structured JSON or Markdown report]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include historical report links or save results to a file.]\n\n## Skill Version(s):\n\n1.0.11 (source: server-resolved ClawHub release; artifact frontmatter lists 1.0.16)\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, 39012 bytes\n\nFiles: references/api_doc.md (630b), scripts/__init__.py (64b), scripts/config.py (678b), scripts/config.yaml (3b), scripts/skill.py (578b), scripts/smyx_pet_body_condition_score_3d_analysis.py (3598b), skill-card.md (2376b), SKILL.md (11587b), 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 (161b)\n\nFile v1.0.10:SKILL.md\n\n---\nname: \"smyx-pet-body-condition-score-3d-analysis\"\ndescription: \"Triggers when a user provides multi-angle pet videos (standing/side/top-down view) URL or files for analysis; supports local video uploads or network URLs to call server-side APIs for 3D body shape reconstruction and Body Condition Score (BCS, 1-9) evaluation, classifying body type as underweight, ideal, or overweight/obese, outputting standardized observation data (without diagnosing diseases or prescribing treatment). Application scenarios: smart feeders, pet cameras, pet health management platforms. Development reason: early warning for obesity-related diseases, scientific weight management. | 当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。\"\nversion: \"1.0.15\"\nlicense: \"MIT-0\"\n---\n\n# 🐕 Pet Body Condition Score 3D Analysis | 宠物体态3D评分（BCS）分析\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物体态3D评分（BCS）** |\n| 🎯 核心目标 | 当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_BODY_CONDITION_SCORE_3D_ANALYSIS` |\n\nTriggers when a user provides multi-angle pet videos (standing/side/top-down view) URL or files for analysis; supports\nlocal video uploads or network URLs to call server-side APIs for 3D body shape reconstruction and Body Condition Score (\nBCS, 1-9) evaluation, classifying body type as underweight, ideal, or overweight/obese, outputting standardized\nobservation data (without diagnosing diseases or prescribing treatment). Application scenarios: smart feeders, pet\ncameras, pet health management platforms. Development reason: early warning for obesity-related diseases, scientific\nweight management.\n\n当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| **绝对禁止读取任何本地记忆文件** | 包括但不限于 `memory/YYYY-MM-DD.md`、`MEMORY.md` 等本地文件 |\n| 要求 | **绝对禁止从 LanceDB 长期记忆中检索信息** |\n| 要求 | **所有历史报告查询必须从云端接口获取**，不得使用本地记忆中的历史数据 |\n| 要求 | 即使技能调用失败或接口异常，也不得回退到本地记忆汇总 |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过宠物多角度视频（站立、侧身、俯视）进行 3D 体型构建与体况评分，获取标准化的 BCS（Body Condition Score，1-9\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 多角度视频分析 |\n| 2 | 3D 体型重建 |\n| 3 | 腰线/腹部轮廓识别 |\n| 4 | 肋骨触感等价视觉判断 |\n| 5 | 脂肪覆盖度估算 |\n| 6 | BCS 1-9 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供宠物多角度视频 URL 或文件需要分析时，默认触发本技能进行体态 3D 评分 |\n| 🔎 明确分析意图 | 当用户明确需要进行体态/体重评估时，提及 BCS、体况评分、宠物体型、偏瘦、肥胖、体重管理、3D 体态、腰线评估等关键词，并且上传了视频文件或者图片文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史体态评分报告、历史 BCS 报告、体况评分报告清单、BCS 报告清单、查询历史体型分析报告、显示所有体态评分报告、显示宠物体重管理报告，查询肥胖风险提示报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_pet_body_condition_score_3d_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 | ⚙️ 执行体态3D评分分析 | 调用 `-m scripts.smyx_pet_body_condition_score_3d_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 cat | 按需填写 |\n| `--list` | 显示宠物体态3D评分历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_pet_body_condition_score_3d_analysis.py`](scripts/smyx_pet_body_condition_score_3d_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| 🔎 使用提醒 | **多角度建议**：理想输入应包含站立、侧身、俯视三个角度，单一角度可能影响 3D 重建精度与 BCS 准确度 |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供体重管理参考，不提供疾病诊断或治疗建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 🧑‍⚖️ 结果性质 | BCS 评分基于视觉特征估算，可能与触诊评分存在偏差，建议结合兽医实际触诊作为最终参考 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地宠物多角度视频\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input /path/to/pet_multi_angle_video.mp4 --pet-type cat\n\n# 分析网络宠物多角度视频\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --url https://example.com/pet_multi_angle_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史BCS报告（自动触发关键词：查看历史BCS报告、历史报告、体态评分报告清单等）\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.10:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-pet-body-condition-score-3d-analysis\",\n  \"version\": \"1.0.10\",\n  \"publishedAt\": 1790297254716\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/health-analysis/v2/start-health-analysis` - 启动健康分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_PET_HEALTH_ANALYSIS` - 开放平台宠物健康分析\n\nFile v1.0.10:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.10:scripts/config.yaml\n\n{}\n\nFile v1.0.10:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.10:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.10:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.10:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.10:skill-card.md\n\n## Description:\n\nAnalyzes pet videos through a cloud service to estimate a 1–9 body condition score and provide a structured report or account-linked report history.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nPet owners, caregivers, and developers use this skill to assess body condition from pet videos and review past reports for weight-management planning; its estimates are not veterinary diagnoses.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Pet media or supplied URLs are sent to lifeemergence.com services.\n\nMitigation: Obtain permission before submitting pet media and review the external service's data-handling terms.\n\nRisk: The skill may silently create or reuse an identity and store service tokens in a local workspace database.\n\nMitigation: Review before installation, restrict workspace access, and avoid shared or multi-user environments unless identity and token isolation are verified.\n\nRisk: Cloud history queries may retrieve reports linked to the current identity.\n\nMitigation: Check which identity is active and authorize access before requesting historical reports.\n\nRisk: Visual body condition estimates may differ from a hands-on veterinary assessment.\n\nMitigation: Use results for weight-management reference only and consult a veterinarian for clinical assessment.\n\n## Reference(s):\n\n- [ClawHub skill listing](https://clawhub.ai/smyx-sunjinhui/skills/smyx-pet-body-condition-score-3d-analysis)\n- [Pet analysis API documentation](references/api_doc.md)\n- [Skill demonstration](https://lifeemergence.com/sample.html)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, JSON]\n\n**Output Format:** [Structured analysis results and report links; Markdown tables for report history]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Results can be saved to a file; historical reports are retrieved from the cloud.]\n\n## Skill Version(s):\n\n1.0.10 (source: server-resolved ClawHub release)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.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, 39079 bytes\n\nFiles: references/api_doc.md (630b), scripts/__init__.py (64b), scripts/config.py (678b), scripts/config.yaml (3b), scripts/skill.py (578b), scripts/smyx_pet_body_condition_score_3d_analysis.py (3598b), skill-card.md (2575b), SKILL.md (11587b), 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.9:SKILL.md\n\n---\nname: \"smyx-pet-body-condition-score-3d-analysis\"\ndescription: \"Triggers when a user provides multi-angle pet videos (standing/side/top-down view) URL or files for analysis; supports local video uploads or network URLs to call server-side APIs for 3D body shape reconstruction and Body Condition Score (BCS, 1-9) evaluation, classifying body type as underweight, ideal, or overweight/obese, outputting standardized observation data (without diagnosing diseases or prescribing treatment). Application scenarios: smart feeders, pet cameras, pet health management platforms. Development reason: early warning for obesity-related diseases, scientific weight management. | 当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。\"\nversion: \"1.0.13\"\nlicense: \"MIT-0\"\n---\n\n# 🐕 Pet Body Condition Score 3D Analysis | 宠物体态3D评分（BCS）分析\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物体态3D评分（BCS）** |\n| 🎯 核心目标 | 当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_BODY_CONDITION_SCORE_3D_ANALYSIS` |\n\nTriggers when a user provides multi-angle pet videos (standing/side/top-down view) URL or files for analysis; supports\nlocal video uploads or network URLs to call server-side APIs for 3D body shape reconstruction and Body Condition Score (\nBCS, 1-9) evaluation, classifying body type as underweight, ideal, or overweight/obese, outputting standardized\nobservation data (without diagnosing diseases or prescribing treatment). Application scenarios: smart feeders, pet\ncameras, pet health management platforms. Development reason: early warning for obesity-related diseases, scientific\nweight management.\n\n当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| **绝对禁止读取任何本地记忆文件** | 包括但不限于 `memory/YYYY-MM-DD.md`、`MEMORY.md` 等本地文件 |\n| 要求 | **绝对禁止从 LanceDB 长期记忆中检索信息** |\n| 要求 | **所有历史报告查询必须从云端接口获取**，不得使用本地记忆中的历史数据 |\n| 要求 | 即使技能调用失败或接口异常，也不得回退到本地记忆汇总 |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过宠物多角度视频（站立、侧身、俯视）进行 3D 体型构建与体况评分，获取标准化的 BCS（Body Condition Score，1-9\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 多角度视频分析 |\n| 2 | 3D 体型重建 |\n| 3 | 腰线/腹部轮廓识别 |\n| 4 | 肋骨触感等价视觉判断 |\n| 5 | 脂肪覆盖度估算 |\n| 6 | BCS 1-9 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供宠物多角度视频 URL 或文件需要分析时，默认触发本技能进行体态 3D 评分 |\n| 🔎 明确分析意图 | 当用户明确需要进行体态/体重评估时，提及 BCS、体况评分、宠物体型、偏瘦、肥胖、体重管理、3D 体态、腰线评估等关键词，并且上传了视频文件或者图片文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史体态评分报告、历史 BCS 报告、体况评分报告清单、BCS 报告清单、查询历史体型分析报告、显示所有体态评分报告、显示宠物体重管理报告，查询肥胖风险提示报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_pet_body_condition_score_3d_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 | ⚙️ 执行体态3D评分分析 | 调用 `-m scripts.smyx_pet_body_condition_score_3d_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 cat | 按需填写 |\n| `--list` | 显示宠物体态3D评分历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_pet_body_condition_score_3d_analysis.py`](scripts/smyx_pet_body_condition_score_3d_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| 🔎 使用提醒 | **多角度建议**：理想输入应包含站立、侧身、俯视三个角度，单一角度可能影响 3D 重建精度与 BCS 准确度 |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供体重管理参考，不提供疾病诊断或治疗建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 🧑‍⚖️ 结果性质 | BCS 评分基于视觉特征估算，可能与触诊评分存在偏差，建议结合兽医实际触诊作为最终参考 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地宠物多角度视频\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input /path/to/pet_multi_angle_video.mp4 --pet-type cat\n\n# 分析网络宠物多角度视频\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --url https://example.com/pet_multi_angle_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史BCS报告（自动触发关键词：查看历史BCS报告、历史报告、体态评分报告清单等）\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.9:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-pet-body-condition-score-3d-analysis\",\n  \"version\": \"1.0.9\",\n  \"publishedAt\": 1788873209714\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/health-analysis/v2/start-health-analysis` - 启动健康分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_PET_HEALTH_ANALYSIS` - 开放平台宠物健康分析\n\nFile v1.0.9:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.9:scripts/config.yaml\n\n{}\n\nFile v1.0.9:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.9:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.9:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.9:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: dev\n\nFile v1.0.9:skill-card.md\n\n## Description:\n\nAnalyzes pet image or video inputs through provider APIs to produce a 3D body-shape assessment, BCS 1-9 score, weight-category classification, structured observation report, history list, and report link without veterinary diagnosis or treatment advice.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to submit multi-angle pet videos, video URLs, or images for body condition scoring and weight-management observation workflows. The skill can also retrieve cloud-hosted historical analysis reports associated with the current identity.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Private pet videos, images, or media URLs may be sent to the provider's server for analysis.\n\nMitigation: Use only with approved media or URLs and confirm the provider endpoint and privacy expectations before submitting analysis requests.\n\nRisk: The skill can silently link and persist local identity tokens or records.\n\nMitigation: Review identity and token storage, retention, and access controls before deployment.\n\nRisk: Default configuration may include plaintext development API endpoints.\n\nMitigation: Confirm production HTTPS API configuration before installation or execution.\n\nRisk: Cloud history retrieval may expose reports associated with the current identity.\n\nMitigation: Require explicit confirmation before retrieving historical reports.\n\n## Reference(s):\n\n- [ClawHub Skill Release Page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-pet-body-condition-score-3d-analysis)\n- [Skill Demo](https://lifeemergence.com/sample.html)\n- [Pet Health Analysis API Reference](artifact/references/api_doc.md)\n- [SMYX Analysis API Reference](artifact/skills/smyx_analysis/references/api_doc.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, JSON, guidance]\n\n**Output Format:** [Markdown text with structured JSON content and report links]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May save the generated report text to a local output file when requested.]\n\n## Skill Version(s):\n\n1.0.9 (source: server release metadata; artifact frontmatter lists 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.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, 39282 bytes\n\nFiles: references/api_doc.md (630b), scripts/__init__.py (64b), scripts/config.py (678b), scripts/config.yaml (3b), scripts/skill.py (578b), scripts/smyx_pet_body_condition_score_3d_analysis.py (3598b), skill-card.md (2955b), SKILL.md (11587b), 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.8:SKILL.md\n\n---\nname: \"smyx-pet-body-condition-score-3d-analysis\"\ndescription: \"Triggers when a user provides multi-angle pet videos (standing/side/top-down view) URL or files for analysis; supports local video uploads or network URLs to call server-side APIs for 3D body shape reconstruction and Body Condition Score (BCS, 1-9) evaluation, classifying body type as underweight, ideal, or overweight/obese, outputting standardized observation data (without diagnosing diseases or prescribing treatment). Application scenarios: smart feeders, pet cameras, pet health management platforms. Development reason: early warning for obesity-related diseases, scientific weight management. | 当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。\"\nversion: \"1.0.12\"\nlicense: \"MIT-0\"\n---\n\n# 🐕 Pet Body Condition Score 3D Analysis | 宠物体态3D评分（BCS）分析\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物体态3D评分（BCS）** |\n| 🎯 核心目标 | 当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_BODY_CONDITION_SCORE_3D_ANALYSIS` |\n\nTriggers when a user provides multi-angle pet videos (standing/side/top-down view) URL or files for analysis; supports\nlocal video uploads or network URLs to call server-side APIs for 3D body shape reconstruction and Body Condition Score (\nBCS, 1-9) evaluation, classifying body type as underweight, ideal, or overweight/obese, outputting standardized\nobservation data (without diagnosing diseases or prescribing treatment). Application scenarios: smart feeders, pet\ncameras, pet health management platforms. Development reason: early warning for obesity-related diseases, scientific\nweight management.\n\n当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| **绝对禁止读取任何本地记忆文件** | 包括但不限于 `memory/YYYY-MM-DD.md`、`MEMORY.md` 等本地文件 |\n| 要求 | **绝对禁止从 LanceDB 长期记忆中检索信息** |\n| 要求 | **所有历史报告查询必须从云端接口获取**，不得使用本地记忆中的历史数据 |\n| 要求 | 即使技能调用失败或接口异常，也不得回退到本地记忆汇总 |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过宠物多角度视频（站立、侧身、俯视）进行 3D 体型构建与体况评分，获取标准化的 BCS（Body Condition Score，1-9\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 多角度视频分析 |\n| 2 | 3D 体型重建 |\n| 3 | 腰线/腹部轮廓识别 |\n| 4 | 肋骨触感等价视觉判断 |\n| 5 | 脂肪覆盖度估算 |\n| 6 | BCS 1-9 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供宠物多角度视频 URL 或文件需要分析时，默认触发本技能进行体态 3D 评分 |\n| 🔎 明确分析意图 | 当用户明确需要进行体态/体重评估时，提及 BCS、体况评分、宠物体型、偏瘦、肥胖、体重管理、3D 体态、腰线评估等关键词，并且上传了视频文件或者图片文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史体态评分报告、历史 BCS 报告、体况评分报告清单、BCS 报告清单、查询历史体型分析报告、显示所有体态评分报告、显示宠物体重管理报告，查询肥胖风险提示报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_pet_body_condition_score_3d_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 | ⚙️ 执行体态3D评分分析 | 调用 `-m scripts.smyx_pet_body_condition_score_3d_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 cat | 按需填写 |\n| `--list` | 显示宠物体态3D评分历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_pet_body_condition_score_3d_analysis.py`](scripts/smyx_pet_body_condition_score_3d_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| 🔎 使用提醒 | **多角度建议**：理想输入应包含站立、侧身、俯视三个角度，单一角度可能影响 3D 重建精度与 BCS 准确度 |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供体重管理参考，不提供疾病诊断或治疗建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 🧑‍⚖️ 结果性质 | BCS 评分基于视觉特征估算，可能与触诊评分存在偏差，建议结合兽医实际触诊作为最终参考 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地宠物多角度视频\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input /path/to/pet_multi_angle_video.mp4 --pet-type cat\n\n# 分析网络宠物多角度视频\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --url https://example.com/pet_multi_angle_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史BCS报告（自动触发关键词：查看历史BCS报告、历史报告、体态评分报告清单等）\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.8:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-pet-body-condition-score-3d-analysis\",\n  \"version\": \"1.0.8\",\n  \"publishedAt\": 1788017429865\n}\n\nFile v1.0.8:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物健康分析 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动健康分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_PET_HEALTH_ANALYSIS` - 开放平台宠物健康分析\n\nFile v1.0.8:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.8:scripts/config.yaml\n\n{}\n\nFile v1.0.8:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.8:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.8:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.8:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: dev\n\nFile v1.0.8:skill-card.md\n\n## Description:\n\nAnalyzes pet images, videos, or URLs through remote services to produce 3D body-shape observations and a Body Condition Score (BCS 1-9) for weight-management reference, without diagnosing disease or prescribing treatment.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill in pet health management, smart feeder, and pet camera workflows to evaluate body condition from multi-angle pet media and retrieve prior analysis reports. Results are intended as weight-management observations and should be reviewed alongside veterinary judgment.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Pet media, supplied URLs, and identity data are sent to lifeemergence.com services for analysis and history retrieval.\n\nMitigation: Use only with media that the user is authorized to share, and review the remote service's retention, account, and privacy controls before deployment.\n\nRisk: The skill can silently create or reuse an internal account identity and query cloud history tied to that identity.\n\nMitigation: Run in a controlled workspace with explicit operator awareness of account linkage, and avoid using shared workspaces for unrelated users.\n\nRisk: Reusable authentication tokens may be stored in a local workspace database.\n\nMitigation: Protect workspace storage, restrict filesystem access, and rotate or clear stored credentials when decommissioning or transferring the workspace.\n\nRisk: BCS output is a visual estimate and is not a veterinary diagnosis or treatment plan.\n\nMitigation: Present results as weight-management reference information and recommend veterinary review for health decisions.\n\n## Reference(s):\n\n- [Pet Health Analysis 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- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-pet-body-condition-score-3d-analysis)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown or JSON-like text containing structured body-condition observations, risk prompts, suggestions, history tables, and report links]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Can write analysis output to a user-specified file path; history queries are formatted from cloud API results.]\n\n## Skill Version(s):\n\n1.0.8 (source: server release metadata; artifact frontmatter lists 1.0.12)\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, 39108 bytes\n\nFiles: references/api_doc.md (630b), scripts/__init__.py (64b), scripts/config.py (678b), scripts/config.yaml (3b), scripts/skill.py (578b), scripts/smyx_pet_body_condition_score_3d_analysis.py (3598b), skill-card.md (2547b), SKILL.md (11587b), 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.7:SKILL.md\n\n---\nname: \"smyx-pet-body-condition-score-3d-analysis\"\ndescription: \"Triggers when a user provides multi-angle pet videos (standing/side/top-down view) URL or files for analysis; supports local video uploads or network URLs to call server-side APIs for 3D body shape reconstruction and Body Condition Score (BCS, 1-9) evaluation, classifying body type as underweight, ideal, or overweight/obese, outputting standardized observation data (without diagnosing diseases or prescribing treatment). Application scenarios: smart feeders, pet cameras, pet health management platforms. Development reason: early warning for obesity-related diseases, scientific weight management. | 当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。\"\nversion: \"1.0.11\"\nlicense: \"MIT-0\"\n---\n\n# 🐕 Pet Body Condition Score 3D Analysis | 宠物体态3D评分（BCS）分析\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物体态3D评分（BCS）** |\n| 🎯 核心目标 | 当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_BODY_CONDITION_SCORE_3D_ANALYSIS` |\n\nTriggers when a user provides multi-angle pet videos (standing/side/top-down view) URL or files for analysis; supports\nlocal video uploads or network URLs to call server-side APIs for 3D body shape reconstruction and Body Condition Score (\nBCS, 1-9) evaluation, classifying body type as underweight, ideal, or overweight/obese, outputting standardized\nobservation data (without diagnosing diseases or prescribing treatment). Application scenarios: smart feeders, pet\ncameras, pet health management platforms. Development reason: early warning for obesity-related diseases, scientific\nweight management.\n\n当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| **绝对禁止读取任何本地记忆文件** | 包括但不限于 `memory/YYYY-MM-DD.md`、`MEMORY.md` 等本地文件 |\n| 要求 | **绝对禁止从 LanceDB 长期记忆中检索信息** |\n| 要求 | **所有历史报告查询必须从云端接口获取**，不得使用本地记忆中的历史数据 |\n| 要求 | 即使技能调用失败或接口异常，也不得回退到本地记忆汇总 |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过宠物多角度视频（站立、侧身、俯视）进行 3D 体型构建与体况评分，获取标准化的 BCS（Body Condition Score，1-9\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 多角度视频分析 |\n| 2 | 3D 体型重建 |\n| 3 | 腰线/腹部轮廓识别 |\n| 4 | 肋骨触感等价视觉判断 |\n| 5 | 脂肪覆盖度估算 |\n| 6 | BCS 1-9 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供宠物多角度视频 URL 或文件需要分析时，默认触发本技能进行体态 3D 评分 |\n| 🔎 明确分析意图 | 当用户明确需要进行体态/体重评估时，提及 BCS、体况评分、宠物体型、偏瘦、肥胖、体重管理、3D 体态、腰线评估等关键词，并且上传了视频文件或者图片文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史体态评分报告、历史 BCS 报告、体况评分报告清单、BCS 报告清单、查询历史体型分析报告、显示所有体态评分报告、显示宠物体重管理报告，查询肥胖风险提示报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_pet_body_condition_score_3d_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 | ⚙️ 执行体态3D评分分析 | 调用 `-m scripts.smyx_pet_body_condition_score_3d_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 cat | 按需填写 |\n| `--list` | 显示宠物体态3D评分历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_pet_body_condition_score_3d_analysis.py`](scripts/smyx_pet_body_condition_score_3d_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| 🔎 使用提醒 | **多角度建议**：理想输入应包含站立、侧身、俯视三个角度，单一角度可能影响 3D 重建精度与 BCS 准确度 |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供体重管理参考，不提供疾病诊断或治疗建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 🧑‍⚖️ 结果性质 | BCS 评分基于视觉特征估算，可能与触诊评分存在偏差，建议结合兽医实际触诊作为最终参考 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地宠物多角度视频\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input /path/to/pet_multi_angle_video.mp4 --pet-type cat\n\n# 分析网络宠物多角度视频\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --url https://example.com/pet_multi_angle_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史BCS报告（自动触发关键词：查看历史BCS报告、历史报告、体态评分报告清单等）\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.7:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-pet-body-condition-score-3d-analysis\",\n  \"version\": \"1.0.7\",\n  \"publishedAt\": 1787338355836\n}\n\nFile v1.0.7:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物健康分析 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动健康分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_PET_HEALTH_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: dev\n\nFile v1.0.7:skill-card.md\n\n## Description:\n\nAnalyzes pet images or multi-angle videos through external health-analysis APIs to estimate a visual 3D Body Condition Score (BCS 1-9), classify body condition, and return structured reports without disease diagnosis or treatment advice.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal ClawHub users and developers use this skill to submit pet media or URLs for BCS analysis, retrieve structured analysis results, and query cloud-hosted historical reports for pet weight-management workflows.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Uploaded pet media or media URLs may be sent to external services for analysis.\n\nMitigation: Use the skill only with explicit consent for media submission, documented retention expectations, and endpoint configuration scoped to approved production services.\n\nRisk: The skill can silently create or reuse an internal account identity and store auth tokens locally.\n\nMitigation: Review identity handling before deployment, protect the workspace data directory, rotate tokens as needed, and disclose account creation or reuse behavior to users or administrators.\n\nRisk: Cloud history reports can be fetched automatically from trigger phrases with limited user control.\n\nMitigation: Require a clear confirmation or policy gate before historical report retrieval and scope report access to the intended user identity.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-pet-body-condition-score-3d-analysis)\n- [Publisher profile](https://clawhub.ai/user/smyx-sunjinhui)\n- [API documentation](references/api_doc.md)\n- [Skill demo](https://lifeemergence.com/sample.html)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [JSON or Markdown text with structured report content and report links]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May return BCS classifications, cloud history report records, and report export links.]\n\n## Skill Version(s):\n\n1.0.7 (source: server release metadata; artifact frontmatter reports 1.0.11)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.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, 39137 bytes\n\nFiles: references/api_doc.md (630b), scripts/__init__.py (64b), scripts/config.py (678b), scripts/config.yaml (3b), scripts/skill.py (578b), scripts/smyx_pet_body_condition_score_3d_analysis.py (3598b), skill-card.md (2696b), SKILL.md (11587b), 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.6:SKILL.md\n\n---\nname: \"smyx-pet-body-condition-score-3d-analysis\"\ndescription: \"Triggers when a user provides multi-angle pet videos (standing/side/top-down view) URL or files for analysis; supports local video uploads or network URLs to call server-side APIs for 3D body shape reconstruction and Body Condition Score (BCS, 1-9) evaluation, classifying body type as underweight, ideal, or overweight/obese, outputting standardized observation data (without diagnosing diseases or prescribing treatment). Application scenarios: smart feeders, pet cameras, pet health management platforms. Development reason: early warning for obesity-related diseases, scientific weight management. | 当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。\"\nversion: \"1.0.10\"\nlicense: \"MIT-0\"\n---\n\n# 🐕 Pet Body Condition Score 3D Analysis | 宠物体态3D评分（BCS）分析\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物体态3D评分（BCS）** |\n| 🎯 核心目标 | 当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_BODY_CONDITION_SCORE_3D_ANALYSIS` |\n\nTriggers when a user provides multi-angle pet videos (standing/side/top-down view) URL or files for analysis; supports\nlocal video uploads or network URLs to call server-side APIs for 3D body shape reconstruction and Body Condition Score (\nBCS, 1-9) evaluation, classifying body type as underweight, ideal, or overweight/obese, outputting standardized\nobservation data (without diagnosing diseases or prescribing treatment). Application scenarios: smart feeders, pet\ncameras, pet health management platforms. Development reason: early warning for obesity-related diseases, scientific\nweight management.\n\n当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| **绝对禁止读取任何本地记忆文件** | 包括但不限于 `memory/YYYY-MM-DD.md`、`MEMORY.md` 等本地文件 |\n| 要求 | **绝对禁止从 LanceDB 长期记忆中检索信息** |\n| 要求 | **所有历史报告查询必须从云端接口获取**，不得使用本地记忆中的历史数据 |\n| 要求 | 即使技能调用失败或接口异常，也不得回退到本地记忆汇总 |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过宠物多角度视频（站立、侧身、俯视）进行 3D 体型构建与体况评分，获取标准化的 BCS（Body Condition Score，1-9\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 多角度视频分析 |\n| 2 | 3D 体型重建 |\n| 3 | 腰线/腹部轮廓识别 |\n| 4 | 肋骨触感等价视觉判断 |\n| 5 | 脂肪覆盖度估算 |\n| 6 | BCS 1-9 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供宠物多角度视频 URL 或文件需要分析时，默认触发本技能进行体态 3D 评分 |\n| 🔎 明确分析意图 | 当用户明确需要进行体态/体重评估时，提及 BCS、体况评分、宠物体型、偏瘦、肥胖、体重管理、3D 体态、腰线评估等关键词，并且上传了视频文件或者图片文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史体态评分报告、历史 BCS 报告、体况评分报告清单、BCS 报告清单、查询历史体型分析报告、显示所有体态评分报告、显示宠物体重管理报告，查询肥胖风险提示报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_pet_body_condition_score_3d_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 | ⚙️ 执行体态3D评分分析 | 调用 `-m scripts.smyx_pet_body_condition_score_3d_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 cat | 按需填写 |\n| `--list` | 显示宠物体态3D评分历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_pet_body_condition_score_3d_analysis.py`](scripts/smyx_pet_body_condition_score_3d_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| 🔎 使用提醒 | **多角度建议**：理想输入应包含站立、侧身、俯视三个角度，单一角度可能影响 3D 重建精度与 BCS 准确度 |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供体重管理参考，不提供疾病诊断或治疗建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 🧑‍⚖️ 结果性质 | BCS 评分基于视觉特征估算，可能与触诊评分存在偏差，建议结合兽医实际触诊作为最终参考 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地宠物多角度视频\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input /path/to/pet_multi_angle_video.mp4 --pet-type cat\n\n# 分析网络宠物多角度视频\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --url https://example.com/pet_multi_angle_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史BCS报告（自动触发关键词：查看历史BCS报告、历史报告、体态评分报告清单等）\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-pet-body-condition-score-3d-analysis\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1786824148855\n}\n\nFile v1.0.6:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物健康分析 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动健康分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_PET_HEALTH_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: dev\n\nFile v1.0.6:skill-card.md\n\n## Description:\n\nAnalyzes multi-angle pet videos or URLs through a remote service to reconstruct body shape, estimate a 1-9 Body Condition Score, classify body type, and return structured body-condition observations without disease diagnosis or treatment advice.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, developers, and pet health platform operators use this skill to submit pet media for BCS-oriented body-shape analysis and to retrieve structured analysis reports for weight-management workflows. Results are for body-condition observation and should not be treated as veterinary diagnosis or treatment guidance.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Pet media, URLs, and historical report requests may be sent to remote backend services.\n\nMitigation: Confirm backend endpoints, account model, retention rules, and user consent before deployment.\n\nRisk: The skill may silently create or reuse a local identity, store tokens, and query historical reports under that identity.\n\nMitigation: Use per-user workspace isolation, avoid shared workspaces unless isolation is guaranteed, and review credential storage and report-access controls before installation.\n\nRisk: BCS results are visual estimates and may be misleading if treated as medical conclusions.\n\nMitigation: Present results as body-condition observations for weight-management support and direct users to veterinary review for diagnosis or treatment decisions.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-pet-body-condition-score-3d-analysis)\n- [Skill Demo](https://lifeemergence.com/sample.html)\n- [API Documentation](references/api_doc.md)\n- [SMYX Analysis API Documentation](skills/smyx_analysis/references/api_doc.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown and JSON-oriented structured reports with report links]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include BCS score, body-type classification, observations, risk prompts, suggestions, and historical report links returned by the remote service.]\n\n## Skill Version(s):\n\n1.0.6 (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.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, 39211 bytes\n\nFiles: references/api_doc.md (630b), scripts/__init__.py (64b), scripts/config.py (678b), scripts/config.yaml (3b), scripts/skill.py (578b), scripts/smyx_pet_body_condition_score_3d_analysis.py (3598b), skill-card.md (2907b), SKILL.md (11586b), 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.5:SKILL.md\n\n---\nname: \"smyx-pet-body-condition-score-3d-analysis\"\ndescription: \"Triggers when a user provides multi-angle pet videos (standing/side/top-down view) URL or files for analysis; supports local video uploads or network URLs to call server-side APIs for 3D body shape reconstruction and Body Condition Score (BCS, 1-9) evaluation, classifying body type as underweight, ideal, or overweight/obese, outputting standardized observation data (without diagnosing diseases or prescribing treatment). Application scenarios: smart feeders, pet cameras, pet health management platforms. Development reason: early warning for obesity-related diseases, scientific weight management. | 当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。\"\nversion: \"1.0.8\"\nlicense: \"MIT-0\"\n---\n\n# 🐕 Pet Body Condition Score 3D Analysis | 宠物体态3D评分（BCS）分析\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物体态3D评分（BCS）** |\n| 🎯 核心目标 | 当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_BODY_CONDITION_SCORE_3D_ANALYSIS` |\n\nTriggers when a user provides multi-angle pet videos (standing/side/top-down view) URL or files for analysis; supports\nlocal video uploads or network URLs to call server-side APIs for 3D body shape reconstruction and Body Condition Score (\nBCS, 1-9) evaluation, classifying body type as underweight, ideal, or overweight/obese, outputting standardized\nobservation data (without diagnosing diseases or prescribing treatment). Application scenarios: smart feeders, pet\ncameras, pet health management platforms. Development reason: early warning for obesity-related diseases, scientific\nweight management.\n\n当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| **绝对禁止读取任何本地记忆文件** | 包括但不限于 `memory/YYYY-MM-DD.md`、`MEMORY.md` 等本地文件 |\n| 要求 | **绝对禁止从 LanceDB 长期记忆中检索信息** |\n| 要求 | **所有历史报告查询必须从云端接口获取**，不得使用本地记忆中的历史数据 |\n| 要求 | 即使技能调用失败或接口异常，也不得回退到本地记忆汇总 |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过宠物多角度视频（站立、侧身、俯视）进行 3D 体型构建与体况评分，获取标准化的 BCS（Body Condition Score，1-9\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 多角度视频分析 |\n| 2 | 3D 体型重建 |\n| 3 | 腰线/腹部轮廓识别 |\n| 4 | 肋骨触感等价视觉判断 |\n| 5 | 脂肪覆盖度估算 |\n| 6 | BCS 1-9 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供宠物多角度视频 URL 或文件需要分析时，默认触发本技能进行体态 3D 评分 |\n| 🔎 明确分析意图 | 当用户明确需要进行体态/体重评估时，提及 BCS、体况评分、宠物体型、偏瘦、肥胖、体重管理、3D 体态、腰线评估等关键词，并且上传了视频文件或者图片文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史体态评分报告、历史 BCS 报告、体况评分报告清单、BCS 报告清单、查询历史体型分析报告、显示所有体态评分报告、显示宠物体重管理报告，查询肥胖风险提示报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_pet_body_condition_score_3d_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 | ⚙️ 执行体态3D评分分析 | 调用 `-m scripts.smyx_pet_body_condition_score_3d_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 cat | 按需填写 |\n| `--list` | 显示宠物体态3D评分历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_pet_body_condition_score_3d_analysis.py`](scripts/smyx_pet_body_condition_score_3d_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| 🔎 使用提醒 | **多角度建议**：理想输入应包含站立、侧身、俯视三个角度，单一角度可能影响 3D 重建精度与 BCS 准确度 |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供体重管理参考，不提供疾病诊断或治疗建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 🧑‍⚖️ 结果性质 | BCS 评分基于视觉特征估算，可能与触诊评分存在偏差，建议结合兽医实际触诊作为最终参考 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地宠物多角度视频\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input /path/to/pet_multi_angle_video.mp4 --pet-type cat\n\n# 分析网络宠物多角度视频\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --url https://example.com/pet_multi_angle_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史BCS报告（自动触发关键词：查看历史BCS报告、历史报告、体态评分报告清单等）\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-pet-body-condition-score-3d-analysis\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1785688171008\n}\n\nFile v1.0.5:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物健康分析 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动健康分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_PET_HEALTH_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 user-provided multi-angle pet video files or URLs through server-side APIs to reconstruct 3D body shape, estimate BCS on a 1-9 scale, classify body condition, and return standardized observations without diagnosis or treatment advice. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal developers and pet-health platform operators use this skill to analyze pet body-condition videos for weight-management workflows in smart feeders, pet cameras, and pet health management platforms. It can also query cloud-hosted historical BCS reports for the automatically associated user identity. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Pet media or supplied media URLs may be sent to lifeemergence.com and open.lifeemergence.com services. <br>\nMitigation: Install only with user consent for that data flow, and avoid private, internal, or sensitive household media URLs unless the publisher provides clearer consent and retention controls. <br>\nRisk: The skill can silently create or reuse an automatically managed identity and store service tokens in a local workspace SQLite database. <br>\nMitigation: Review local credential storage, account lifecycle controls, and workspace access before deployment. <br>\nRisk: Cloud history queries can retrieve reports linked to the managed identity. <br>\nMitigation: Limit use to contexts where cloud-linked report history is expected, and disclose that history retrieval comes from the publisher's service rather than local memory. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill release page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-pet-body-condition-score-3d-analysis) <br>\n- [API interface documentation](references/api_doc.md) <br>\n- [Shared analysis API documentation](skills/smyx_analysis/references/api_doc.md) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, json, shell commands, files] <br>\n**Output Format:** [Markdown or JSON analysis report with structured BCS observations, report links, and optional saved output files.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [History-report queries are formatted from cloud API responses; analysis results are not veterinary diagnosis or treatment advice.] <br>\n\n## Skill Version(s): <br>\n1.0.5 (source: server release metadata; artifact frontmatter reports 1.0.8) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.5:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.5:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.4: 31 files, 39130 bytes\n\nFiles: references/api_doc.md (630b), scripts/__init__.py (64b), scripts/config.py (678b), scripts/config.yaml (3b), scripts/skill.py (578b), scripts/smyx_pet_body_condition_score_3d_analysis.py (3598b), skill-card.md (2719b), SKILL.md (11586b), 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.4:SKILL.md\n\n---\nname: \"smyx-pet-body-condition-score-3d-analysis\"\ndescription: \"Triggers when a user provides multi-angle pet videos (standing/side/top-down view) URL or files for analysis; supports local video uploads or network URLs to call server-side APIs for 3D body shape reconstruction and Body Condition Score (BCS, 1-9) evaluation, classifying body type as underweight, ideal, or overweight/obese, outputting standardized observation data (without diagnosing diseases or prescribing treatment). Application scenarios: smart feeders, pet cameras, pet health management platforms. Development reason: early warning for obesity-related diseases, scientific weight management. | 当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。\"\nversion: \"1.0.8\"\nlicense: \"MIT-0\"\n---\n\n# 🐕 Pet Body Condition Score 3D Analysis | 宠物体态3D评分（BCS）分析\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物体态3D评分（BCS）** |\n| 🎯 核心目标 | 当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_BODY_CONDITION_SCORE_3D_ANALYSIS` |\n\nTriggers when a user provides multi-angle pet videos (standing/side/top-down view) URL or files for analysis; supports\nlocal video uploads or network URLs to call server-side APIs for 3D body shape reconstruction and Body Condition Score (\nBCS, 1-9) evaluation, classifying body type as underweight, ideal, or overweight/obese, outputting standardized\nobservation data (without diagnosing diseases or prescribing treatment). Application scenarios: smart feeders, pet\ncameras, pet health management platforms. Development reason: early warning for obesity-related diseases, scientific\nweight management.\n\n当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| **绝对禁止读取任何本地记忆文件** | 包括但不限于 `memory/YYYY-MM-DD.md`、`MEMORY.md` 等本地文件 |\n| 要求 | **绝对禁止从 LanceDB 长期记忆中检索信息** |\n| 要求 | **所有历史报告查询必须从云端接口获取**，不得使用本地记忆中的历史数据 |\n| 要求 | 即使技能调用失败或接口异常，也不得回退到本地记忆汇总 |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过宠物多角度视频（站立、侧身、俯视）进行 3D 体型构建与体况评分，获取标准化的 BCS（Body Condition Score，1-9\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 多角度视频分析 |\n| 2 | 3D 体型重建 |\n| 3 | 腰线/腹部轮廓识别 |\n| 4 | 肋骨触感等价视觉判断 |\n| 5 | 脂肪覆盖度估算 |\n| 6 | BCS 1-9 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供宠物多角度视频 URL 或文件需要分析时，默认触发本技能进行体态 3D 评分 |\n| 🔎 明确分析意图 | 当用户明确需要进行体态/体重评估时，提及 BCS、体况评分、宠物体型、偏瘦、肥胖、体重管理、3D 体态、腰线评估等关键词，并且上传了视频文件或者图片文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史体态评分报告、历史 BCS 报告、体况评分报告清单、BCS 报告清单、查询历史体型分析报告、显示所有体态评分报告、显示宠物体重管理报告，查询肥胖风险提示报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_pet_body_condition_score_3d_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 | ⚙️ 执行体态3D评分分析 | 调用 `-m scripts.smyx_pet_body_condition_score_3d_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 cat | 按需填写 |\n| `--list` | 显示宠物体态3D评分历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_pet_body_condition_score_3d_analysis.py`](scripts/smyx_pet_body_condition_score_3d_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| 🔎 使用提醒 | **多角度建议**：理想输入应包含站立、侧身、俯视三个角度，单一角度可能影响 3D 重建精度与 BCS 准确度 |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供体重管理参考，不提供疾病诊断或治疗建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 🧑‍⚖️ 结果性质 | BCS 评分基于视觉特征估算，可能与触诊评分存在偏差，建议结合兽医实际触诊作为最终参考 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地宠物多角度视频\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input /path/to/pet_multi_angle_video.mp4 --pet-type cat\n\n# 分析网络宠物多角度视频\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --url https://example.com/pet_multi_angle_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史BCS报告（自动触发关键词：查看历史BCS报告、历史报告、体态评分报告清单等）\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-pet-body-condition-score-3d-analysis\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1785282208115\n}\n\nFile v1.0.4:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物健康分析 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动健康分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_PET_HEALTH_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 pet multi-angle videos or URLs through publisher cloud APIs to reconstruct 3D body shape and estimate Body Condition Score (BCS 1-9), classifying underweight, ideal, or overweight/obese without diagnosing disease or prescribing treatment. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers of pet health, feeder, camera, or health-management workflows use this skill to analyze pet body condition from video inputs and retrieve structured BCS observations and report links for weight-management support. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Pet videos or URLs and report-history requests are sent to publisher cloud services. <br>\nMitigation: Install only if cloud processing is acceptable; confirm publisher retention, deletion, and account-handling practices for sensitive media. <br>\nRisk: The skill silently creates or reuses cloud identity context and stores authentication tokens locally. <br>\nMitigation: Review token storage and local workspace data before installation, and ask the publisher how to remove local SQLite or token data. <br>\nRisk: BCS results are visual estimates and may differ from veterinary tactile assessment. <br>\nMitigation: Use outputs for weight-management reference and confirm health decisions with a veterinarian. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-pet-body-condition-score-3d-analysis) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n- [API documentation](references/api_doc.md) <br>\n- [Analysis API documentation](skills/smyx_analysis/references/api_doc.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, JSON, shell commands, guidance] <br>\n**Output Format:** [Markdown or JSON structured analysis reports with report links and command examples] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May call publisher cloud services with pet videos or URLs and internally generated user identity; outputs are weight-management observations, not medical diagnosis or treatment advice.] <br>\n\n## Skill Version(s): <br>\n1.0.4 (source: server release metadata; artifact frontmatter states 1.0.8) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.4:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.4:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.3: 31 files, 39304 bytes\n\nFiles: references/api_doc.md (630b), scripts/__init__.py (64b), scripts/config.py (678b), scripts/config.yaml (3b), scripts/skill.py (578b), scripts/smyx_pet_body_condition_score_3d_analysis.py (3598b), skill-card.md (3218b), SKILL.md (11586b), 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.3:SKILL.md\n\n---\nname: \"smyx-pet-body-condition-score-3d-analysis\"\ndescription: \"Triggers when a user provides multi-angle pet videos (standing/side/top-down view) URL or files for analysis; supports local video uploads or network URLs to call server-side APIs for 3D body shape reconstruction and Body Condition Score (BCS, 1-9) evaluation, classifying body type as underweight, ideal, or overweight/obese, outputting standardized observation data (without diagnosing diseases or prescribing treatment). Application scenarios: smart feeders, pet cameras, pet health management platforms. Development reason: early warning for obesity-related diseases, scientific weight management. | 当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。\"\nversion: \"1.0.5\"\nlicense: \"MIT-0\"\n---\n\n# 🐕 Pet Body Condition Score 3D Analysis | 宠物体态3D评分（BCS）分析\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物体态3D评分（BCS）** |\n| 🎯 核心目标 | 当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_BODY_CONDITION_SCORE_3D_ANALYSIS` |\n\nTriggers when a user provides multi-angle pet videos (standing/side/top-down view) URL or files for analysis; supports\nlocal video uploads or network URLs to call server-side APIs for 3D body shape reconstruction and Body Condition Score (\nBCS, 1-9) evaluation, classifying body type as underweight, ideal, or overweight/obese, outputting standardized\nobservation data (without diagnosing diseases or prescribing treatment). Application scenarios: smart feeders, pet\ncameras, pet health management platforms. Development reason: early warning for obesity-related diseases, scientific\nweight management.\n\n当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| **绝对禁止读取任何本地记忆文件** | 包括但不限于 `memory/YYYY-MM-DD.md`、`MEMORY.md` 等本地文件 |\n| 要求 | **绝对禁止从 LanceDB 长期记忆中检索信息** |\n| 要求 | **所有历史报告查询必须从云端接口获取**，不得使用本地记忆中的历史数据 |\n| 要求 | 即使技能调用失败或接口异常，也不得回退到本地记忆汇总 |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过宠物多角度视频（站立、侧身、俯视）进行 3D 体型构建与体况评分，获取标准化的 BCS（Body Condition Score，1-9\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 多角度视频分析 |\n| 2 | 3D 体型重建 |\n| 3 | 腰线/腹部轮廓识别 |\n| 4 | 肋骨触感等价视觉判断 |\n| 5 | 脂肪覆盖度估算 |\n| 6 | BCS 1-9 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供宠物多角度视频 URL 或文件需要分析时，默认触发本技能进行体态 3D 评分 |\n| 🔎 明确分析意图 | 当用户明确需要进行体态/体重评估时，提及 BCS、体况评分、宠物体型、偏瘦、肥胖、体重管理、3D 体态、腰线评估等关键词，并且上传了视频文件或者图片文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史体态评分报告、历史 BCS 报告、体况评分报告清单、BCS 报告清单、查询历史体型分析报告、显示所有体态评分报告、显示宠物体重管理报告，查询肥胖风险提示报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_pet_body_condition_score_3d_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 | ⚙️ 执行体态3D评分分析 | 调用 `-m scripts.smyx_pet_body_condition_score_3d_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 cat | 按需填写 |\n| `--list` | 显示宠物体态3D评分历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_pet_body_condition_score_3d_analysis.py`](scripts/smyx_pet_body_condition_score_3d_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| 🔎 使用提醒 | **多角度建议**：理想输入应包含站立、侧身、俯视三个角度，单一角度可能影响 3D 重建精度与 BCS 准确度 |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供体重管理参考，不提供疾病诊断或治疗建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 🧑‍⚖️ 结果性质 | BCS 评分基于视觉特征估算，可能与触诊评分存在偏差，建议结合兽医实际触诊作为最终参考 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地宠物多角度视频\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input /path/to/pet_multi_angle_video.mp4 --pet-type cat\n\n# 分析网络宠物多角度视频\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --url https://example.com/pet_multi_angle_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史BCS报告（自动触发关键词：查看历史BCS报告、历史报告、体态评分报告清单等）\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-pet-body-condition-score-3d-analysis\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1783919909988\n}\n\nFile v1.0.3:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物健康分析 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动健康分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_PET_HEALTH_ANALYSIS` - 开放平台宠物健康分析\n\nFile v1.0.3:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.3:scripts/config.yaml\n\n{}\n\nFile v1.0.3:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.3:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.3:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.3:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.3:skill-card.md\n\n## Description: <br>\nAnalyzes pet videos or media URLs with the Life Emergence remote service to reconstruct body shape, estimate Body Condition Score from 1 to 9, classify underweight, ideal, or overweight status, and return structured observation results without diagnosing disease or prescribing treatment. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to submit cat, dog, or other pet video inputs for BCS-oriented body shape assessment, structured reporting, and cloud history lookup. It is intended for pet weight-management workflows in smart feeders, pet cameras, and pet health platforms, not for veterinary diagnosis or treatment. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Pet videos, images, or media URLs are sent to the Life Emergence remote service for analysis. <br>\nMitigation: Use only media approved for external processing, avoid private or internal URLs, and confirm retention and cleanup expectations with the publisher before deployment. <br>\nRisk: The skill can create or reuse a local identity, read a workspace smyx-api-key file, and store account tokens locally. <br>\nMitigation: Review local identity and token storage before installation, restrict workspace access, and remove stored credentials or local account data when no longer needed. <br>\nRisk: History report lookup retrieves cloud report records linked to the resolved identity. <br>\nMitigation: Confirm the active identity before history queries and verify that cloud report access controls match the intended user or workspace. <br>\nRisk: BCS scoring is visually estimated and may differ from hands-on veterinary assessment. <br>\nMitigation: Present results as weight-management observations only and route health decisions to a veterinarian. <br>\n\n\n## Reference(s): <br>\n- [Pet health analysis API reference](artifact/references/api_doc.md) <br>\n- [SMYX analysis API reference](artifact/skills/smyx_analysis/references/api_doc.md) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-pet-body-condition-score-3d-analysis) <br>\n- [Publisher profile](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, JSON, Files] <br>\n**Output Format:** [Markdown status text with structured JSON analysis results, report links, or an optional saved output file] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [History queries return cloud report lists; analysis results are reference observations and not medical advice.] <br>\n\n## Skill Version(s): <br>\n1.0.3 (source: server release metadata; artifact frontmatter lists 1.0.5) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.3:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.3:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.2: 31 files, 39024 bytes\n\nFiles: references/api_doc.md (630b), scripts/__init__.py (64b), scripts/config.py (678b), scripts/config.yaml (3b), scripts/skill.py (578b), scripts/smyx_pet_body_condition_score_3d_analysis.py (3598b), skill-card.md (2385b), SKILL.md (11586b), 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.2:SKILL.md\n\n---\nname: \"smyx-pet-body-condition-score-3d-analysis\"\ndescription: \"Triggers when a user provides multi-angle pet videos (standing/side/top-down view) URL or files for analysis; supports local video uploads or network URLs to call server-side APIs for 3D body shape reconstruction and Body Condition Score (BCS, 1-9) evaluation, classifying body type as underweight, ideal, or overweight/obese, outputting standardized observation data (without diagnosing diseases or prescribing treatment). Application scenarios: smart feeders, pet cameras, pet health management platforms. Development reason: early warning for obesity-related diseases, scientific weight management. | 当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。\"\nversion: \"1.0.4\"\nlicense: \"MIT-0\"\n---\n\n# 🐕 Pet Body Condition Score 3D Analysis | 宠物体态3D评分（BCS）分析\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物体态3D评分（BCS）** |\n| 🎯 核心目标 | 当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_BODY_CONDITION_SCORE_3D_ANALYSIS` |\n\nTriggers when a user provides multi-angle pet videos (standing/side/top-down view) URL or files for analysis; supports\nlocal video uploads or network URLs to call server-side APIs for 3D body shape reconstruction and Body Condition Score (\nBCS, 1-9) evaluation, classifying body type as underweight, ideal, or overweight/obese, outputting standardized\nobservation data (without diagnosing diseases or prescribing treatment). Application scenarios: smart feeders, pet\ncameras, pet health management platforms. Development reason: early warning for obesity-related diseases, scientific\nweight management.\n\n当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| **绝对禁止读取任何本地记忆文件** | 包括但不限于 `memory/YYYY-MM-DD.md`、`MEMORY.md` 等本地文件 |\n| 要求 | **绝对禁止从 LanceDB 长期记忆中检索信息** |\n| 要求 | **所有历史报告查询必须从云端接口获取**，不得使用本地记忆中的历史数据 |\n| 要求 | 即使技能调用失败或接口异常，也不得回退到本地记忆汇总 |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过宠物多角度视频（站立、侧身、俯视）进行 3D 体型构建与体况评分，获取标准化的 BCS（Body Condition Score，1-9\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 多角度视频分析 |\n| 2 | 3D 体型重建 |\n| 3 | 腰线/腹部轮廓识别 |\n| 4 | 肋骨触感等价视觉判断 |\n| 5 | 脂肪覆盖度估算 |\n| 6 | BCS 1-9 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供宠物多角度视频 URL 或文件需要分析时，默认触发本技能进行体态 3D 评分 |\n| 🔎 明确分析意图 | 当用户明确需要进行体态/体重评估时，提及 BCS、体况评分、宠物体型、偏瘦、肥胖、体重管理、3D 体态、腰线评估等关键词，并且上传了视频文件或者图片文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史体态评分报告、历史 BCS 报告、体况评分报告清单、BCS 报告清单、查询历史体型分析报告、显示所有体态评分报告、显示宠物体重管理报告，查询肥胖风险提示报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_pet_body_condition_score_3d_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 | ⚙️ 执行体态3D评分分析 | 调用 `-m scripts.smyx_pet_body_condition_score_3d_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 cat | 按需填写 |\n| `--list` | 显示宠物体态3D评分历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_pet_body_condition_score_3d_analysis.py`](scripts/smyx_pet_body_condition_score_3d_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| 🔎 使用提醒 | **多角度建议**：理想输入应包含站立、侧身、俯视三个角度，单一角度可能影响 3D 重建精度与 BCS 准确度 |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供体重管理参考，不提供疾病诊断或治疗建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 🧑‍⚖️ 结果性质 | BCS 评分基于视觉特征估算，可能与触诊评分存在偏差，建议结合兽医实际触诊作为最终参考 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地宠物多角度视频\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input /path/to/pet_multi_angle_video.mp4 --pet-type cat\n\n# 分析网络宠物多角度视频\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --url https://example.com/pet_multi_angle_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史BCS报告（自动触发关键词：查看历史BCS报告、历史报告、体态评分报告清单等）\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-pet-body-condition-score-3d-analysis\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1783681110321\n}\n\nFile v1.0.2:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物健康分析 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动健康分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_PET_HEALTH_ANALYSIS` - 开放平台宠物健康分析\n\nFile v1.0.2:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.2:scripts/config.yaml\n\n{}\n\nFile v1.0.2:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.2:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.2:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.2:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.2:skill-card.md\n\n## Description: <br>\nAnalyzes multi-angle pet videos or URLs through a remote API to reconstruct body shape, estimate a 1-9 Body Condition Score, classify body condition, and return structured observation results without veterinary diagnosis or treatment advice. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and operators of pet health, smart feeder, camera, or weight-management workflows use this skill to submit pet media for BCS analysis and retrieve current or historical structured reports. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill sends pet media or URLs to the Life Emergence service for analysis. <br>\nMitigation: Use only with media the user is permitted to share, and confirm remote processing is acceptable before deployment. <br>\nRisk: The skill silently creates or reuses an account-like identity and stores tokens locally. <br>\nMitigation: Deploy only where automatic identity creation and local token storage are disclosed, approved, and isolated per workspace. <br>\nRisk: The skill can retrieve cloud report history under the resolved identity. <br>\nMitigation: Limit use to contexts where cloud history access is intended and validate the identity context before history-list requests. <br>\n\n\n## Reference(s): <br>\n- [Pet Health Analysis API Reference](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, guidance] <br>\n**Output Format:** [Structured report text or JSON, with Markdown tables for history listings and optional file output.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May include report links; result quality depends on clear multi-angle pet media and remote API availability.] <br>\n\n## Skill Version(s): <br>\n1.0.2 (source: server release metadata; artifact frontmatter states 1.0.4) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.2:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.2:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3","readmeExcerpt":"Skill: Pet Body Condition Score 3D Analysis | 宠物体态3D评分（BCS） Owner: smyx-sunjinhui Summary: Triggers when a user provides multi-angle pet videos (standing/side/top-down view) URL or files for analysis; supports local video uploads or network URLs to call server-side APIs for 3D body shape reconstruction and Body Condition Score (BCS, 1-9) evaluation, classifying body type as underweight, ideal, or overweight/obese, ou","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"python -m scripts.smyx_pet_body_condition_score_3d_analysis --list"},{"language":"text","snippet":"requests>=2.28.0"},{"language":"bash","snippet":"# 分析本地宠物多角度视频\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input /path/to/pet_multi_angle_video.mp4 --pet-type cat\n\n# 分析网络宠物多角度视频\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --url https://example.com/pet_multi_angle_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史BCS报告（自动触发关键词：查看历史BCS报告、历史报告、体态评分报告清单等）\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input video.mp4 --pet-type cat --output result.json"},{"language":"bash","snippet":"python -m scripts.smyx_pet_body_condition_score_3d_analysis --list"},{"language":"text","snippet":"requests>=2.28.0"},{"language":"bash","snippet":"# 分析本地宠物多角度视频\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input /path/to/pet_multi_angle_video.mp4 --pet-type cat\n\n# 分析网络宠物多角度视频\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --url https://example.com/pet_multi_angle_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史BCS报告（自动触发关键词：查看历史BCS报告、历史报告、体态评分报告清单等）\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_body_condition_score_3d_analysis --input video.mp4 --pet-type cat --output result.json"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: \"smyx-pet-body-condition-score-3d-analysis\"\ndescription: \"Triggers when a user provides multi-angle pet videos (standing/side/top-down view) URL or files for analysis; supports local video uploads or network URLs to call server-side APIs for 3D body shape reconstruction and Body Condition Score (BCS, 1-9) evaluation, classifying body type as underweight, ideal, or overweight/obese, outputting standardized observation data (without diagnosing diseases or prescribing treatment). Application scenarios: smart feeders, pet cameras, pet health management platforms. Development reason: early warning for obesity-related diseases, scientific weight management. | 当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。\"\nversion: \"1.0.16\"\nlicense: \"MIT-0\"\n---\n\n# 🐕 Pet Body Condition Score 3D Analysis | 宠物体态3D评分（BCS）分析\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物体态3D评分（BCS）** |\n| 🎯 核心目标 | 当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_BODY_CONDITION_SCORE_3D_ANALYSIS` |\n\nTriggers when a user provides multi-angle pet videos (standing/side/top-down view) URL or files for analysis; supports\nlocal video uploads or network URLs to call server-side APIs for 3D body shape reconstruction and Body Condition Score (\nBCS, 1-9) evaluation, classifying body type as underweight, ideal, or overweight/obese, outputting standardized\nobservation data (without diagnosing diseases or prescribing treatment). Application scenarios: smart feeders, pet\ncameras, pet health management platforms. Development reason: early warning for obesity-related diseases, scientific\nweight management.\n\n当用户提供宠物多角度视频（站立、侧身、俯视）的URL或文件时，触发本技能进行3D体型构建与BCS体况评分；支持通过上传本地视频或网络视频URL，调用服务端API进行体态分析，自动评估体况评分（1-9分），判断偏瘦、正常或肥胖，输出标准化体态观察结果（不诊断疾病、不提供治疗建议）。应用场景：智能喂食器、宠物摄像头、宠物健康管理平台。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| **绝对禁止读取任何本地记忆文件** | 包括但不限于 `memory/YYYY-MM-DD.md`、`MEMORY.md` 等本地文件 |\n| 要求 | **绝对禁止从 LanceDB 长期记忆中检索信息** |\n| 要求 | **所有历史报告查询必须从云端接口获取**，不得使用本地记忆中的历史数据 |\n| 要求 | 即使技能调用失败或接口异常，也不得回退到本地记忆汇总 |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过宠物多角度视频（站立、侧身、俯视）进行 3D 体型构建与体况评分，获取标准化的 BCS（Body Condition Score，1-9\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 多角度视频分析 |\n| 2 | 3D 体型重建 |\n| 3 | 腰线/腹部轮廓识别 |\n| 4 | 肋骨触感等价视觉判断 |\n| 5 | 脂肪覆盖度估算 |\n| 6 | BCS 1-9 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供宠物多角度视频 URL 或文件需要分析时，默认触发本技能进行体态 3D 评分 |\n| 🔎 明确分析意图 | 当用户明确需要进行体态/体重评估时，提及 BCS、体况评分、宠物体型、偏瘦、肥胖、体重管理、3D 体态、腰线评估等关键词，并且上传了视频文件或者图片文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史体态评分报告、历史 BCS 报告、体况评分报告清单"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-pet-body-condition-score-3d-analysis\",\n  \"version\": \"1.0.11\",\n  \"publishedAt\": 1790759065435\n}"},{"path":"references/api_doc.md","content":"# API 接口文档\n\n此处用于存放宠物健康分析 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动健康分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_PET_HEALTH_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":1065,"uniquenessScore":38,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T23:53:30.600Z","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-09T23:53:30.600Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T07:12:48.972Z","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"}]}}}