{"id":"c1603253-2ebc-4323-8a3a-f7335db19b9a","entityType":"agent","slug":"clawhub-smyx-sunjinhui-smyx-vocal-emotion-classification-analys","name":"Pet Vocal Emotion Deep Classification | 宠物叫声情绪深度分类","canonicalUrl":"https://www.xpersona.co/agent/clawhub-smyx-sunjinhui-smyx-vocal-emotion-classification-analys","canonicalPath":"/agent/clawhub-smyx-sunjinhui-smyx-vocal-emotion-classification-analys","generatedAt":"2026-10-10T10:56:45.909Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T08:36:33.614Z","emptyReason":null},"description":"Triggers when a user provides a pet vocalization audio/video URL or file for analysis; extracts acoustic features such as frequency, duration, interval, and harmonic structure via AI audio analysis, and classifies the vocalization into 6+ emotion categories (howling, growling, excitement, loneliness, fear, whining/coaxing) with confidence scores. Helps owners understand pet emotional states, improve human-pet interaction, and detect potential stress or health issues early. Application: daily companionship (smart camera / collar), boarding center mood monitoring, vet clinic calming assessment, behavior training assistance. Does NOT provide medical or behavior-modification advice — only outputs audio-based emotion classification results with confidence. | 当用户提供宠物（犬/猫）叫声音频或视频URL/文件时，触发本技能进行叫声情绪深度分类分析；利用AI音频分析技术提取频率、时长、间隔、谐波结构等声学特征，将叫声分类为哀嚎、低吼、兴奋、孤独、恐惧、撒娇等6种以上情绪类别，并输出置信度；帮助宠物主人理解宠物情绪状态，改善人宠互动，及时发现潜在压力或健康问题。应用场景：宠物家庭日常陪伴（智能摄像头/项圈）、寄养中心情绪监测、宠物医院安抚评估、行为训练辅助。仅输出基于音频的情绪分类结果及置信度，不提供医疗或行为矫正建议。","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.6K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s17cfv2h26b7hq5w47tgfy23xx83z9x6:smyx-vocal-emotion-classification-analysis","sourceUrl":"https://clawhub.ai/smyx-sunjinhui/smyx-vocal-emotion-classification-analysis","homepage":"https://clawhub.ai/smyx-sunjinhui/skills/smyx-vocal-emotion-classification-analysis","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/smyx-sunjinhui/smyx-vocal-emotion-classification-analysis","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/smyx-sunjinhui/skills/smyx-vocal-emotion-classification-analysis","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":64,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Pet Vocal Emotion Deep Classification | 宠物叫声情绪深度分类 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-10T08:36:33.614Z","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-10T08:36:33.614Z","emptyReason":null},"stars":null,"forks":null,"downloads":1553,"packageName":null,"latestVersion":"1.0.8","tractionLabel":"1.6K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T08:36:33.614Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T08:36:33.614Z","lastCrawledAt":"2026-10-10T08:36:33.614Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T08:36:33.614Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.8","createdAt":"2026-08-28T04:55:35.796Z","changelog":"- Removed the deprecated skill-card.md file. - Updated SKILL.md metadata and version from 1.0.11 to 1.0.12. - No changes made to functionality or workflow.","fileCount":31,"zipByteSize":39345},{"version":"1.0.7","createdAt":"2026-08-20T15:18:29.023Z","changelog":"Version 1.0.7 - Updated configuration in SKILL.md and `skills/smyx_common/scripts/config.yaml`. - Removed the redundant or outdated `skill-card.md` file. - Version or metadata fields updated as part of housekeeping. - No changes to core analysis logic or user-facing features.","fileCount":31,"zipByteSize":39308},{"version":"1.0.6","createdAt":"2026-08-10T22:54:33.007Z","changelog":"- Updated SKILL.md version to 1.0.9 and documentation content. - Removed the skill-card.md file. - No functional changes to logic or scripts. Documentation and metadata only.","fileCount":31,"zipByteSize":39223},{"version":"1.0.5","createdAt":"2026-08-04T00:18:28.904Z","changelog":"- Removed the file: skill-card.md. - No other features, functionality, or documentation changes in this version.","fileCount":31,"zipByteSize":39399},{"version":"1.0.4","createdAt":"2026-07-28T16:23:32.583Z","changelog":"- Updated skill and documentation version to 1.0.8. - SKILL.md updated with latest version, replacing skill-card.md (now removed). - No changes to features or functionality; documentation consistency improved. - Clean-up of file structure by removing outdated documentation file.","fileCount":31,"zipByteSize":39471},{"version":"1.0.3","createdAt":"2026-07-14T13:15:30.810Z","changelog":"- Updated SKILL.md to version 1.0.6 with minor content or metadata adjustments. - Removed obsolete skill-card.md file. - Made modifications in skills/smyx_common/scripts/util.py (details not specified).","fileCount":31,"zipByteSize":39493},{"version":"1.0.2","createdAt":"2026-07-08T13:54:26.996Z","changelog":"- Version updated from 1.0.4 to 1.0.5 - Documentation updated: SKILL.md revised with no user-facing functional changes - Obsolete file removed: skill-card.md deleted - No changes to code or runtime features","fileCount":31,"zipByteSize":39304},{"version":"1.0.1","createdAt":"2026-07-04T14:42:29.599Z","changelog":"**User identity input/management is now fully automatic and hidden.** - Users no longer need to provide or see internal identity parameters (e.g., open-id); identity is handled internally by the skill. - All prompts and documentation now clarify that identity is never requested, shown, or listed as a user parameter. - SKILL.md is reorganized and expanded for clarity, including scenario tables, stricter workflow, and more visual structuring. - Outdated user-identity manual prompts and constraints are removed. - Usage examples and notes updated to reflect the automated identity flow. - Internal scripts and config guidance unified to match new user flow (no manual identity steps).","fileCount":31,"zipByteSize":39434}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17cfv2h26b7hq5w47tgfy23xx83z9x6:smyx-vocal-emotion-classification-analysis","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s17cfv2h26b7hq5w47tgfy23xx83z9x6:smyx-vocal-emotion-classification-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-vocal-emotion-classification-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-vocal-emotion-classification-analys/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-vocal-emotion-classification-analys/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-vocal-emotion-classification-analys/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-vocal-emotion-classification-analys/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-vocal-emotion-classification-analys/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-vocal-emotion-classification-analys/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-10T10:56:45.906Z"}},"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-vocal-emotion-classification-analys/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-vocal-emotion-classification-analys/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-vocal-emotion-classification-analys/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-vocal-emotion-classification-analys/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-10T08:36:33.614Z","emptyReason":null},"readme":"Skill: Pet Vocal Emotion Deep Classification | 宠物叫声情绪深度分类\n\nOwner: smyx-sunjinhui\n\nSummary: Triggers when a user provides a pet vocalization audio/video URL or file for analysis; extracts acoustic features such as frequency, duration, interval, and harmonic structure via AI audio analysis, and classifies the vocalization into 6+ emotion categories (howling, growling, excitement, loneliness, fear, whining/coaxing) with confidence scores. Helps owners understand pet emotional states, improve human-pet interaction, and detect potential stress or health issues early. Application: daily companionship (smart camera / collar), boarding center mood monitoring, vet clinic calming assessment, behavior training assistance. Does NOT provide medical or behavior-modification advice — only outputs audio-based emotion classification results with confidence. | 当用户提供宠物（犬/猫）叫声音频或视频URL/文件时，触发本技能进行叫声情绪深度分类分析；利用AI音频分析技术提取频率、时长、间隔、谐波结构等声学特征，将叫声分类为哀嚎、低吼、兴奋、孤独、恐惧、撒娇等6种以上情绪类别，并输出置信度；帮助宠物主人理解宠物情绪状态，改善人宠互动，及时发现潜在压力或健康问题。应用场景：宠物家庭日常陪伴（智能摄像头/项圈）、寄养中心情绪监测、宠物医院安抚评估、行为训练辅助。仅输出基于音频的情绪分类结果及置信度，不提供医疗或行为矫正建议。\n\nTags: latest:1.0.8\n\nVersion history:\n\nv1.0.8 | 2026-08-28T04:55:35.796Z | auto\n\n- Removed the deprecated skill-card.md file.\n- Updated SKILL.md metadata and version from 1.0.11 to 1.0.12.\n- No changes made to functionality or workflow.\n\nv1.0.7 | 2026-08-20T15:18:29.023Z | auto\n\nVersion 1.0.7\n\n- Updated configuration in SKILL.md and `skills/smyx_common/scripts/config.yaml`.\n- Removed the redundant or outdated `skill-card.md` file.\n- Version or metadata fields updated as part of housekeeping.\n- No changes to core analysis logic or user-facing features.\n\nv1.0.6 | 2026-08-10T22:54:33.007Z | auto\n\n- Updated SKILL.md version to 1.0.9 and documentation content.\n- Removed the skill-card.md file.\n- No functional changes to logic or scripts. Documentation and metadata only.\n\nv1.0.5 | 2026-08-04T00:18:28.904Z | auto\n\n- Removed the file: skill-card.md.\n- No other features, functionality, or documentation changes in this version.\n\nv1.0.4 | 2026-07-28T16:23:32.583Z | auto\n\n- Updated skill and documentation version to 1.0.8.\n- SKILL.md updated with latest version, replacing skill-card.md (now removed).\n- No changes to features or functionality; documentation consistency improved.\n- Clean-up of file structure by removing outdated documentation file.\n\nv1.0.3 | 2026-07-14T13:15:30.810Z | auto\n\n- Updated SKILL.md to version 1.0.6 with minor content or metadata adjustments.\n- Removed obsolete skill-card.md file.\n- Made modifications in skills/smyx_common/scripts/util.py (details not specified).\n\nv1.0.2 | 2026-07-08T13:54:26.996Z | auto\n\n- Version updated from 1.0.4 to 1.0.5\n- Documentation updated: SKILL.md revised with no user-facing functional changes\n- Obsolete file removed: skill-card.md deleted\n- No changes to code or runtime features\n\nv1.0.1 | 2026-07-04T14:42:29.599Z | auto\n\n**User identity input/management is now fully automatic and hidden.**\n- Users no longer need to provide or see internal identity parameters (e.g., open-id); identity is handled internally by the skill.\n- All prompts and documentation now clarify that identity is never requested, shown, or listed as a user parameter.\n- SKILL.md is reorganized and expanded for clarity, including scenario tables, stricter workflow, and more visual structuring.\n- Outdated user-identity manual prompts and constraints are removed.\n- Usage examples and notes updated to reflect the automated identity flow.\n- Internal scripts and config guidance unified to match new user flow (no manual identity steps).\n\nv1.0.0 | 2026-05-22T16:02:17.840Z | auto\n\nInitial release of smyx-vocal-emotion-classification-analysis.\n\n- Analyzes pet (dog/cat) vocalization audio/video to classify emotional states into 6+ categories with confidence scores using AI-based acoustic feature extraction.\n- Supports direct analysis via file upload or URL, returning structured results such as emotion labels, confidence, and acoustic metrics.\n- Enables historical emotion report search with cloud-based querying (output as markdown tables with direct report links).\n- Enforces strict open-id retrieval before analysis; does not proceed without valid open-id per specified rules.\n- Designed for use in smart pet devices, clinics, boarding centers, and behavior monitoring. Only provides classification—not medical or behavior modification advice.\n\nArchive index:\n\nArchive v1.0.8: 31 files, 39345 bytes\n\nFiles: references/api_doc.md (672b), scripts/__init__.py (56b), scripts/config.py (679b), scripts/config.yaml (3b), scripts/skill.py (579b), scripts/smyx_vocal_emotion_classification_analysis.py (3607b), skill-card.md (2537b), SKILL.md (12685b), 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 (161b)\n\nFile v1.0.8:SKILL.md\n\n---\nname: \"smyx-vocal-emotion-classification-analysis\"\ndescription: \"Triggers when a user provides a pet vocalization audio/video URL or file for analysis; extracts acoustic features such as frequency, duration, interval, and harmonic structure via AI audio analysis, and classifies the vocalization into 6+ emotion categories (howling, growling, excitement, loneliness, fear, whining/coaxing) with confidence scores. Helps owners understand pet emotional states, improve human-pet interaction, and detect potential stress or health issues early. Application: daily companionship (smart camera / collar), boarding center mood monitoring, vet clinic calming assessment, behavior training assistance. Does NOT provide medical or behavior-modification advice — only outputs audio-based emotion classification results with confidence. | 当用户提供宠物（犬/猫）叫声音频或视频URL/文件时，触发本技能进行叫声情绪深度分类分析；利用AI音频分析技术提取频率、时长、间隔、谐波结构等声学特征，将叫声分类为哀嚎、低吼、兴奋、孤独、恐惧、撒娇等6种以上情绪类别，并输出置信度；帮助宠物主人理解宠物情绪状态，改善人宠互动，及时发现潜在压力或健康问题。应用场景：宠物家庭日常陪伴（智能摄像头/项圈）、寄养中心情绪监测、宠物医院安抚评估、行为训练辅助。仅输出基于音频的情绪分类结果及置信度，不提供医疗或行为矫正建议。\"\nversion: \"1.0.12\"\nlicense: \"MIT-0\"\n---\n\n# 🔊 Pet Vocal Emotion Deep Classification | 宠物叫声情绪深度分类\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物叫声情绪深度分类** |\n| 🎯 核心目标 | 当用户提供宠物（犬/猫）叫声音频或视频URL/文件时，触发本技能进行叫声情绪深度分类分析；利用AI音频分析技术提取频率、时长、间隔、谐波结构等声学特征，将叫声分类为哀嚎、低吼、兴奋、孤独、恐惧、撒娇等6种以上情绪类别，并输出置信度；帮助宠物主人理解宠物情绪状态，改善人宠互动，及时发现潜在压力或健康问题。应用场景：宠物家庭日常陪伴（智能摄像头/项圈）、寄养中心情绪监测、宠物医院安抚评估、行为训练辅助。仅输出基于音频的情绪分类结果及置信度，不提供医疗或行为矫正建议。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_VOCAL_EMOTION_CLASSIFICATION_ANALYSIS` |\n\nTriggers when a user provides a pet vocalization audio/video URL or file for analysis; extracts acoustic features such as frequency, duration, interval, and harmonic structure via AI audio analysis, and classifies the vocalization into 6+ emotion categories (howling, growling, excitement, loneliness, fear, whining/coaxing) with confidence scores. Helps owners understand pet emotional states, improve human-pet interaction, and detect potential stress or health issues early. Application: daily companionship (smart camera / collar), boarding center mood monitoring, vet clinic calming assessment, behavior training assistance. Does NOT provide medical or behavior-modification advice — only outputs audio-based emotion classification results with confidence.\n\n当用户提供宠物（犬/猫）叫声音频或视频URL/文件时，触发本技能进行叫声情绪深度分类分析；利用AI音频分析技术提取频率、时长、间隔、谐波结构等声学特征，将叫声分类为哀嚎、低吼、兴奋、孤独、恐惧、撒娇等6种以上情绪类别，并输出置信度；帮助宠物主人理解宠物情绪状态，改善人宠互动，及时发现潜在压力或健康问题。应用场景：宠物家庭日常陪伴（智能摄像头/项圈）、寄养中心情绪监测、宠物医院安抚评估、行为训练辅助。仅输出基于音频的情绪分类结果及置信度，不提供医疗或行为矫正建议。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **你是一个专业的宠物行为与情绪分析AI。你的任务是分析宠物（犬或猫）的叫声音频片段，提取声学特征（频率、时长、间隔、谐波结构等），并将其分类为多种预设的情绪类别。不要提供医疗或行为矫正建议，仅输出基于音频的情绪分类结果及置信度。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过宠物（犬/猫）叫声音频/视频片段进行情绪深度分类，获取标准化的情绪标签和置信度分布\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 音频降噪与切片 |\n| 2 | 声学特征提取（基频/能量/时长/间隔/谐波） |\n| 3 | 情绪分类（哀嚎 |\n| 4 | 低吼 |\n| 5 | 兴奋 |\n| 6 | 孤独 |\n| 7 | 恐惧 |\n| 8 | 撒娇等≥6类） |\n| 9 | 置信度计算 |\n| 10 | 长期情绪趋势提示 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供宠物叫声音频或包含叫声的视频 URL/文件需要分析时，默认触发本技能进行情绪分类 |\n| 🔎 明确分析意图 | 当用户明确需要理解宠物情绪时，提及狗叫、猫叫、宠物叫声、情绪识别、情绪分类、低吼、撒娇、哀嚎、宠物焦虑/兴奋等关键词，并且上传了音频或视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能**：查看历史叫声情绪报告、历史情绪分析、叫声分类报告清单、查询情绪历史报告、显示所有情绪分类报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_vocal_emotion_classification_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_vocal_emotion_classification_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备音频/视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行叫声情绪分类 | 调用 `-m scripts.smyx_vocal_emotion_classification_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地音频/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络音频/视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 dog | 按需填写 |\n| `--list` | 显示叫声情绪历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_vocal_emotion_classification_analysis.py`](scripts/smyx_vocal_emotion_classification_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| 📁 格式支持 | 输入要求：支持 mp3/wav/m4a 音频或 mp4/avi/mov 视频格式，最大 10MB |\n| 🔎 使用提醒 | 推荐音频时长 1～30 秒；过短/过长可能影响分类置信度 |\n| 🧑‍⚖️ 结果性质 | 分析结果仅作情绪参考，不提供医疗、训练或行为矫正建议 |\n| 🔎 使用提醒 | 若叫声混杂多种情绪或背景噪声过大，可能返回 \"low_confidence\" |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，API 服务会自动下载 |\n| 📁 格式支持 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown 表格格式输出，包含\"报告名称\"、\"宠物类型\"、\"分析时间\"、\"点击查看\"四列，其中\"报告名称\"列使用`宠物叫声情绪分类报告-{记录id}`形式拼接, \"点击查看\"列使用 `[🔗 查看报告]()` 格式的超链接，用户点击即可直接跳转到对应的完整报告页面 |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地宠物叫声音频/视频\npython -m scripts.smyx_vocal_emotion_classification_analysis --input /path/to/pet_bark.mp3 --pet-type dog\n\n# 分析网络宠物叫声音频/视频\npython -m scripts.smyx_vocal_emotion_classification_analysis --url https://example.com/pet_bark.mp4 --pet-type dog\n\n# 显示历史分析报告/情绪分类历史清单（自动触发关键词：查看历史叫声情绪报告等）\npython -m scripts.smyx_vocal_emotion_classification_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_vocal_emotion_classification_analysis --input bark.mp3 --pet-type dog --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_vocal_emotion_classification_analysis --input bark.mp3 --pet-type dog --output result.json\n```\n\nFile v1.0.8:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-vocal-emotion-classification-analysis\",\n  \"version\": \"1.0.8\",\n  \"publishedAt\": 1787892935796\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- `SMYX_VOCAL_EMOTION_CLASSIFICATION_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\nClassifies pet vocalization audio or video into emotion categories with confidence scores and structured report output.\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, pet-care operators, veterinary staff, and developers can use this skill to analyze dog or cat vocalizations from local media or URLs, return emotion labels and confidence scores, and query prior cloud-hosted reports. Results are for emotional reference only and are not medical, training, or behavior-modification advice.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill sends pet media files or media URLs to external services for analysis and report retrieval.\n\nMitigation: Use only media approved for third-party processing, avoid recordings with sensitive background audio, and review the service terms before deployment.\n\nRisk: Runs may silently create or reuse a local or platform identity and store returned tokens in a workspace SQLite database.\n\nMitigation: Run the skill in an isolated workspace, restrict filesystem access, and clear or rotate stored credentials after use.\n\nRisk: The security evidence flags dev-host defaults and hidden identity/API-key handling as issues to clarify before routine use.\n\nMitigation: Confirm production endpoints, credential handling, and account lifecycle behavior before using the skill for regular workflows.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-vocal-emotion-classification-analysis)\n- [Publisher profile](https://clawhub.ai/user/smyx-sunjinhui)\n- [API documentation](artifact/references/api_doc.md)\n- [Skill demo](https://lifeemergence.com/sample.html)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, json, shell commands, guidance]\n\n**Output Format:** [Markdown or JSON text with structured classification results, confidence scores, report links, and history tables]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include cloud report export links and historical report lists when requested.]\n\n## Skill Version(s):\n\n1.0.8 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.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, 39308 bytes\n\nFiles: references/api_doc.md (672b), scripts/__init__.py (56b), scripts/config.py (679b), scripts/config.yaml (3b), scripts/skill.py (579b), scripts/smyx_vocal_emotion_classification_analysis.py (3607b), skill-card.md (2512b), SKILL.md (12685b), 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 (161b)\n\nFile v1.0.7:SKILL.md\n\n---\nname: \"smyx-vocal-emotion-classification-analysis\"\ndescription: \"Triggers when a user provides a pet vocalization audio/video URL or file for analysis; extracts acoustic features such as frequency, duration, interval, and harmonic structure via AI audio analysis, and classifies the vocalization into 6+ emotion categories (howling, growling, excitement, loneliness, fear, whining/coaxing) with confidence scores. Helps owners understand pet emotional states, improve human-pet interaction, and detect potential stress or health issues early. Application: daily companionship (smart camera / collar), boarding center mood monitoring, vet clinic calming assessment, behavior training assistance. Does NOT provide medical or behavior-modification advice — only outputs audio-based emotion classification results with confidence. | 当用户提供宠物（犬/猫）叫声音频或视频URL/文件时，触发本技能进行叫声情绪深度分类分析；利用AI音频分析技术提取频率、时长、间隔、谐波结构等声学特征，将叫声分类为哀嚎、低吼、兴奋、孤独、恐惧、撒娇等6种以上情绪类别，并输出置信度；帮助宠物主人理解宠物情绪状态，改善人宠互动，及时发现潜在压力或健康问题。应用场景：宠物家庭日常陪伴（智能摄像头/项圈）、寄养中心情绪监测、宠物医院安抚评估、行为训练辅助。仅输出基于音频的情绪分类结果及置信度，不提供医疗或行为矫正建议。\"\nversion: \"1.0.11\"\nlicense: \"MIT-0\"\n---\n\n# 🔊 Pet Vocal Emotion Deep Classification | 宠物叫声情绪深度分类\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物叫声情绪深度分类** |\n| 🎯 核心目标 | 当用户提供宠物（犬/猫）叫声音频或视频URL/文件时，触发本技能进行叫声情绪深度分类分析；利用AI音频分析技术提取频率、时长、间隔、谐波结构等声学特征，将叫声分类为哀嚎、低吼、兴奋、孤独、恐惧、撒娇等6种以上情绪类别，并输出置信度；帮助宠物主人理解宠物情绪状态，改善人宠互动，及时发现潜在压力或健康问题。应用场景：宠物家庭日常陪伴（智能摄像头/项圈）、寄养中心情绪监测、宠物医院安抚评估、行为训练辅助。仅输出基于音频的情绪分类结果及置信度，不提供医疗或行为矫正建议。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_VOCAL_EMOTION_CLASSIFICATION_ANALYSIS` |\n\nTriggers when a user provides a pet vocalization audio/video URL or file for analysis; extracts acoustic features such as frequency, duration, interval, and harmonic structure via AI audio analysis, and classifies the vocalization into 6+ emotion categories (howling, growling, excitement, loneliness, fear, whining/coaxing) with confidence scores. Helps owners understand pet emotional states, improve human-pet interaction, and detect potential stress or health issues early. Application: daily companionship (smart camera / collar), boarding center mood monitoring, vet clinic calming assessment, behavior training assistance. Does NOT provide medical or behavior-modification advice — only outputs audio-based emotion classification results with confidence.\n\n当用户提供宠物（犬/猫）叫声音频或视频URL/文件时，触发本技能进行叫声情绪深度分类分析；利用AI音频分析技术提取频率、时长、间隔、谐波结构等声学特征，将叫声分类为哀嚎、低吼、兴奋、孤独、恐惧、撒娇等6种以上情绪类别，并输出置信度；帮助宠物主人理解宠物情绪状态，改善人宠互动，及时发现潜在压力或健康问题。应用场景：宠物家庭日常陪伴（智能摄像头/项圈）、寄养中心情绪监测、宠物医院安抚评估、行为训练辅助。仅输出基于音频的情绪分类结果及置信度，不提供医疗或行为矫正建议。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **你是一个专业的宠物行为与情绪分析AI。你的任务是分析宠物（犬或猫）的叫声音频片段，提取声学特征（频率、时长、间隔、谐波结构等），并将其分类为多种预设的情绪类别。不要提供医疗或行为矫正建议，仅输出基于音频的情绪分类结果及置信度。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过宠物（犬/猫）叫声音频/视频片段进行情绪深度分类，获取标准化的情绪标签和置信度分布\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 音频降噪与切片 |\n| 2 | 声学特征提取（基频/能量/时长/间隔/谐波） |\n| 3 | 情绪分类（哀嚎 |\n| 4 | 低吼 |\n| 5 | 兴奋 |\n| 6 | 孤独 |\n| 7 | 恐惧 |\n| 8 | 撒娇等≥6类） |\n| 9 | 置信度计算 |\n| 10 | 长期情绪趋势提示 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供宠物叫声音频或包含叫声的视频 URL/文件需要分析时，默认触发本技能进行情绪分类 |\n| 🔎 明确分析意图 | 当用户明确需要理解宠物情绪时，提及狗叫、猫叫、宠物叫声、情绪识别、情绪分类、低吼、撒娇、哀嚎、宠物焦虑/兴奋等关键词，并且上传了音频或视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能**：查看历史叫声情绪报告、历史情绪分析、叫声分类报告清单、查询情绪历史报告、显示所有情绪分类报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_vocal_emotion_classification_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_vocal_emotion_classification_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备音频/视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行叫声情绪分类 | 调用 `-m scripts.smyx_vocal_emotion_classification_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地音频/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络音频/视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 dog | 按需填写 |\n| `--list` | 显示叫声情绪历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_vocal_emotion_classification_analysis.py`](scripts/smyx_vocal_emotion_classification_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| 📁 格式支持 | 输入要求：支持 mp3/wav/m4a 音频或 mp4/avi/mov 视频格式，最大 10MB |\n| 🔎 使用提醒 | 推荐音频时长 1～30 秒；过短/过长可能影响分类置信度 |\n| 🧑‍⚖️ 结果性质 | 分析结果仅作情绪参考，不提供医疗、训练或行为矫正建议 |\n| 🔎 使用提醒 | 若叫声混杂多种情绪或背景噪声过大，可能返回 \"low_confidence\" |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，API 服务会自动下载 |\n| 📁 格式支持 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown 表格格式输出，包含\"报告名称\"、\"宠物类型\"、\"分析时间\"、\"点击查看\"四列，其中\"报告名称\"列使用`宠物叫声情绪分类报告-{记录id}`形式拼接, \"点击查看\"列使用 `[🔗 查看报告]()` 格式的超链接，用户点击即可直接跳转到对应的完整报告页面 |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地宠物叫声音频/视频\npython -m scripts.smyx_vocal_emotion_classification_analysis --input /path/to/pet_bark.mp3 --pet-type dog\n\n# 分析网络宠物叫声音频/视频\npython -m scripts.smyx_vocal_emotion_classification_analysis --url https://example.com/pet_bark.mp4 --pet-type dog\n\n# 显示历史分析报告/情绪分类历史清单（自动触发关键词：查看历史叫声情绪报告等）\npython -m scripts.smyx_vocal_emotion_classification_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_vocal_emotion_classification_analysis --input bark.mp3 --pet-type dog --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_vocal_emotion_classification_analysis --input bark.mp3 --pet-type dog --output result.json\n```\n\nFile v1.0.7:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-vocal-emotion-classification-analysis\",\n  \"version\": \"1.0.7\",\n  \"publishedAt\": 1787239109023\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- `SMYX_VOCAL_EMOTION_CLASSIFICATION_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\nClassifies pet vocalization audio or video into emotion categories with confidence scores and returns structured reports and report links without providing medical or behavior-modification 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 agent operators use this skill to analyze pet vocalization media or URLs, classify likely emotional states, and retrieve prior cloud-generated reports for the same locally associated identity.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Pet media files or media URLs are sent to a configured cloud service for analysis.\n\nMitigation: Use only non-sensitive media or public URLs unless the publisher documents endpoint ownership, retention, deletion, and account-linkage controls.\n\nRisk: The skill creates or reuses a local identity and token database in the workspace.\n\nMitigation: Review local data creation before installation and avoid sharing workspaces that may contain generated identity or token state.\n\nRisk: History retrieval can expose prior cloud reports associated with the local identity.\n\nMitigation: Use the history feature only in contexts where report linkage is expected, and clear or isolate local identity state when switching users or projects.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-vocal-emotion-classification-analysis)\n- [API Interface Documentation](artifact/references/api_doc.md)\n- [Analysis API Error Codes](artifact/skills/smyx_analysis/references/api_doc.md)\n- [Skill Demo](https://lifeemergence.com/sample.html)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, json, shell commands, guidance]\n\n**Output Format:** [Markdown or JSON report text, with optional saved output file and report links.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [History queries return cloud report records; analysis output may include confidence scores, structured results, and a cloud report export link.]\n\n## Skill Version(s):\n\n1.0.7 (source: server release metadata; artifact frontmatter says 1.0.11)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.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, 39223 bytes\n\nFiles: references/api_doc.md (672b), scripts/__init__.py (56b), scripts/config.py (679b), scripts/config.yaml (3b), scripts/skill.py (579b), scripts/smyx_vocal_emotion_classification_analysis.py (3607b), skill-card.md (2309b), SKILL.md (12684b), 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.6:SKILL.md\n\n---\nname: \"smyx-vocal-emotion-classification-analysis\"\ndescription: \"Triggers when a user provides a pet vocalization audio/video URL or file for analysis; extracts acoustic features such as frequency, duration, interval, and harmonic structure via AI audio analysis, and classifies the vocalization into 6+ emotion categories (howling, growling, excitement, loneliness, fear, whining/coaxing) with confidence scores. Helps owners understand pet emotional states, improve human-pet interaction, and detect potential stress or health issues early. Application: daily companionship (smart camera / collar), boarding center mood monitoring, vet clinic calming assessment, behavior training assistance. Does NOT provide medical or behavior-modification advice — only outputs audio-based emotion classification results with confidence. | 当用户提供宠物（犬/猫）叫声音频或视频URL/文件时，触发本技能进行叫声情绪深度分类分析；利用AI音频分析技术提取频率、时长、间隔、谐波结构等声学特征，将叫声分类为哀嚎、低吼、兴奋、孤独、恐惧、撒娇等6种以上情绪类别，并输出置信度；帮助宠物主人理解宠物情绪状态，改善人宠互动，及时发现潜在压力或健康问题。应用场景：宠物家庭日常陪伴（智能摄像头/项圈）、寄养中心情绪监测、宠物医院安抚评估、行为训练辅助。仅输出基于音频的情绪分类结果及置信度，不提供医疗或行为矫正建议。\"\nversion: \"1.0.9\"\nlicense: \"MIT-0\"\n---\n\n# 🔊 Pet Vocal Emotion Deep Classification | 宠物叫声情绪深度分类\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物叫声情绪深度分类** |\n| 🎯 核心目标 | 当用户提供宠物（犬/猫）叫声音频或视频URL/文件时，触发本技能进行叫声情绪深度分类分析；利用AI音频分析技术提取频率、时长、间隔、谐波结构等声学特征，将叫声分类为哀嚎、低吼、兴奋、孤独、恐惧、撒娇等6种以上情绪类别，并输出置信度；帮助宠物主人理解宠物情绪状态，改善人宠互动，及时发现潜在压力或健康问题。应用场景：宠物家庭日常陪伴（智能摄像头/项圈）、寄养中心情绪监测、宠物医院安抚评估、行为训练辅助。仅输出基于音频的情绪分类结果及置信度，不提供医疗或行为矫正建议。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_VOCAL_EMOTION_CLASSIFICATION_ANALYSIS` |\n\nTriggers when a user provides a pet vocalization audio/video URL or file for analysis; extracts acoustic features such as frequency, duration, interval, and harmonic structure via AI audio analysis, and classifies the vocalization into 6+ emotion categories (howling, growling, excitement, loneliness, fear, whining/coaxing) with confidence scores. Helps owners understand pet emotional states, improve human-pet interaction, and detect potential stress or health issues early. Application: daily companionship (smart camera / collar), boarding center mood monitoring, vet clinic calming assessment, behavior training assistance. Does NOT provide medical or behavior-modification advice — only outputs audio-based emotion classification results with confidence.\n\n当用户提供宠物（犬/猫）叫声音频或视频URL/文件时，触发本技能进行叫声情绪深度分类分析；利用AI音频分析技术提取频率、时长、间隔、谐波结构等声学特征，将叫声分类为哀嚎、低吼、兴奋、孤独、恐惧、撒娇等6种以上情绪类别，并输出置信度；帮助宠物主人理解宠物情绪状态，改善人宠互动，及时发现潜在压力或健康问题。应用场景：宠物家庭日常陪伴（智能摄像头/项圈）、寄养中心情绪监测、宠物医院安抚评估、行为训练辅助。仅输出基于音频的情绪分类结果及置信度，不提供医疗或行为矫正建议。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **你是一个专业的宠物行为与情绪分析AI。你的任务是分析宠物（犬或猫）的叫声音频片段，提取声学特征（频率、时长、间隔、谐波结构等），并将其分类为多种预设的情绪类别。不要提供医疗或行为矫正建议，仅输出基于音频的情绪分类结果及置信度。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过宠物（犬/猫）叫声音频/视频片段进行情绪深度分类，获取标准化的情绪标签和置信度分布\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 音频降噪与切片 |\n| 2 | 声学特征提取（基频/能量/时长/间隔/谐波） |\n| 3 | 情绪分类（哀嚎 |\n| 4 | 低吼 |\n| 5 | 兴奋 |\n| 6 | 孤独 |\n| 7 | 恐惧 |\n| 8 | 撒娇等≥6类） |\n| 9 | 置信度计算 |\n| 10 | 长期情绪趋势提示 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供宠物叫声音频或包含叫声的视频 URL/文件需要分析时，默认触发本技能进行情绪分类 |\n| 🔎 明确分析意图 | 当用户明确需要理解宠物情绪时，提及狗叫、猫叫、宠物叫声、情绪识别、情绪分类、低吼、撒娇、哀嚎、宠物焦虑/兴奋等关键词，并且上传了音频或视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能**：查看历史叫声情绪报告、历史情绪分析、叫声分类报告清单、查询情绪历史报告、显示所有情绪分类报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_vocal_emotion_classification_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_vocal_emotion_classification_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备音频/视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行叫声情绪分类 | 调用 `-m scripts.smyx_vocal_emotion_classification_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地音频/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络音频/视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 dog | 按需填写 |\n| `--list` | 显示叫声情绪历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_vocal_emotion_classification_analysis.py`](scripts/smyx_vocal_emotion_classification_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| 📁 格式支持 | 输入要求：支持 mp3/wav/m4a 音频或 mp4/avi/mov 视频格式，最大 10MB |\n| 🔎 使用提醒 | 推荐音频时长 1～30 秒；过短/过长可能影响分类置信度 |\n| 🧑‍⚖️ 结果性质 | 分析结果仅作情绪参考，不提供医疗、训练或行为矫正建议 |\n| 🔎 使用提醒 | 若叫声混杂多种情绪或背景噪声过大，可能返回 \"low_confidence\" |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，API 服务会自动下载 |\n| 📁 格式支持 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown 表格格式输出，包含\"报告名称\"、\"宠物类型\"、\"分析时间\"、\"点击查看\"四列，其中\"报告名称\"列使用`宠物叫声情绪分类报告-{记录id}`形式拼接, \"点击查看\"列使用 `[🔗 查看报告]()` 格式的超链接，用户点击即可直接跳转到对应的完整报告页面 |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地宠物叫声音频/视频\npython -m scripts.smyx_vocal_emotion_classification_analysis --input /path/to/pet_bark.mp3 --pet-type dog\n\n# 分析网络宠物叫声音频/视频\npython -m scripts.smyx_vocal_emotion_classification_analysis --url https://example.com/pet_bark.mp4 --pet-type dog\n\n# 显示历史分析报告/情绪分类历史清单（自动触发关键词：查看历史叫声情绪报告等）\npython -m scripts.smyx_vocal_emotion_classification_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_vocal_emotion_classification_analysis --input bark.mp3 --pet-type dog --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_vocal_emotion_classification_analysis --input bark.mp3 --pet-type dog --output result.json\n```\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-vocal-emotion-classification-analysis\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1786402473007\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- `SMYX_VOCAL_EMOTION_CLASSIFICATION_ANALYSIS` - 宠物叫声情绪深度分类\n\nFile v1.0.6:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.6:scripts/config.yaml\n\n{}\n\nFile v1.0.6:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.6:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.6:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.6:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.6:skill-card.md\n\n## Description:\n\nAnalyzes dog or cat vocalization audio/video inputs, extracts acoustic features, and returns emotion classifications with confidence scores without providing medical, training, or behavior-modification 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 classify pet vocal emotion from uploaded or URL-based audio/video, review confidence-scored results, and retrieve cloud-hosted historical analysis reports.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Pet audio/video and related metadata may be uploaded to the publisher's remote service.\n\nMitigation: Use only media that is approved for remote processing and avoid sensitive household, location, or account-identifying content.\n\nRisk: The skill may create or reuse an internal user, read workspace identity material, and store tokens locally.\n\nMitigation: Review identity and token handling before installation, run in a restricted workspace, and remove local tokens when the skill is no longer needed.\n\nRisk: Historical cloud report links may expose prior reports tied to the resolved identity.\n\nMitigation: Confirm that report-history access is expected for the user and restrict use to authorized identities.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-vocal-emotion-classification-analysis)\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, JSON]\n\n**Output Format:** [Markdown or JSON analysis report with confidence scores and report links]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include cloud report links and historical report tables when list mode is used.]\n\n## Skill Version(s):\n\n1.0.6 (source: server release metadata; artifact frontmatter reports 1.0.9)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.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, 39399 bytes\n\nFiles: references/api_doc.md (672b), scripts/__init__.py (56b), scripts/config.py (679b), scripts/config.yaml (3b), scripts/skill.py (579b), scripts/smyx_vocal_emotion_classification_analysis.py (3607b), skill-card.md (2818b), SKILL.md (12684b), 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.5:SKILL.md\n\n---\nname: \"smyx-vocal-emotion-classification-analysis\"\ndescription: \"Triggers when a user provides a pet vocalization audio/video URL or file for analysis; extracts acoustic features such as frequency, duration, interval, and harmonic structure via AI audio analysis, and classifies the vocalization into 6+ emotion categories (howling, growling, excitement, loneliness, fear, whining/coaxing) with confidence scores. Helps owners understand pet emotional states, improve human-pet interaction, and detect potential stress or health issues early. Application: daily companionship (smart camera / collar), boarding center mood monitoring, vet clinic calming assessment, behavior training assistance. Does NOT provide medical or behavior-modification advice — only outputs audio-based emotion classification results with confidence. | 当用户提供宠物（犬/猫）叫声音频或视频URL/文件时，触发本技能进行叫声情绪深度分类分析；利用AI音频分析技术提取频率、时长、间隔、谐波结构等声学特征，将叫声分类为哀嚎、低吼、兴奋、孤独、恐惧、撒娇等6种以上情绪类别，并输出置信度；帮助宠物主人理解宠物情绪状态，改善人宠互动，及时发现潜在压力或健康问题。应用场景：宠物家庭日常陪伴（智能摄像头/项圈）、寄养中心情绪监测、宠物医院安抚评估、行为训练辅助。仅输出基于音频的情绪分类结果及置信度，不提供医疗或行为矫正建议。\"\nversion: \"1.0.8\"\nlicense: \"MIT-0\"\n---\n\n# 🔊 Pet Vocal Emotion Deep Classification | 宠物叫声情绪深度分类\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物叫声情绪深度分类** |\n| 🎯 核心目标 | 当用户提供宠物（犬/猫）叫声音频或视频URL/文件时，触发本技能进行叫声情绪深度分类分析；利用AI音频分析技术提取频率、时长、间隔、谐波结构等声学特征，将叫声分类为哀嚎、低吼、兴奋、孤独、恐惧、撒娇等6种以上情绪类别，并输出置信度；帮助宠物主人理解宠物情绪状态，改善人宠互动，及时发现潜在压力或健康问题。应用场景：宠物家庭日常陪伴（智能摄像头/项圈）、寄养中心情绪监测、宠物医院安抚评估、行为训练辅助。仅输出基于音频的情绪分类结果及置信度，不提供医疗或行为矫正建议。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_VOCAL_EMOTION_CLASSIFICATION_ANALYSIS` |\n\nTriggers when a user provides a pet vocalization audio/video URL or file for analysis; extracts acoustic features such as frequency, duration, interval, and harmonic structure via AI audio analysis, and classifies the vocalization into 6+ emotion categories (howling, growling, excitement, loneliness, fear, whining/coaxing) with confidence scores. Helps owners understand pet emotional states, improve human-pet interaction, and detect potential stress or health issues early. Application: daily companionship (smart camera / collar), boarding center mood monitoring, vet clinic calming assessment, behavior training assistance. Does NOT provide medical or behavior-modification advice — only outputs audio-based emotion classification results with confidence.\n\n当用户提供宠物（犬/猫）叫声音频或视频URL/文件时，触发本技能进行叫声情绪深度分类分析；利用AI音频分析技术提取频率、时长、间隔、谐波结构等声学特征，将叫声分类为哀嚎、低吼、兴奋、孤独、恐惧、撒娇等6种以上情绪类别，并输出置信度；帮助宠物主人理解宠物情绪状态，改善人宠互动，及时发现潜在压力或健康问题。应用场景：宠物家庭日常陪伴（智能摄像头/项圈）、寄养中心情绪监测、宠物医院安抚评估、行为训练辅助。仅输出基于音频的情绪分类结果及置信度，不提供医疗或行为矫正建议。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **你是一个专业的宠物行为与情绪分析AI。你的任务是分析宠物（犬或猫）的叫声音频片段，提取声学特征（频率、时长、间隔、谐波结构等），并将其分类为多种预设的情绪类别。不要提供医疗或行为矫正建议，仅输出基于音频的情绪分类结果及置信度。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过宠物（犬/猫）叫声音频/视频片段进行情绪深度分类，获取标准化的情绪标签和置信度分布\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 音频降噪与切片 |\n| 2 | 声学特征提取（基频/能量/时长/间隔/谐波） |\n| 3 | 情绪分类（哀嚎 |\n| 4 | 低吼 |\n| 5 | 兴奋 |\n| 6 | 孤独 |\n| 7 | 恐惧 |\n| 8 | 撒娇等≥6类） |\n| 9 | 置信度计算 |\n| 10 | 长期情绪趋势提示 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供宠物叫声音频或包含叫声的视频 URL/文件需要分析时，默认触发本技能进行情绪分类 |\n| 🔎 明确分析意图 | 当用户明确需要理解宠物情绪时，提及狗叫、猫叫、宠物叫声、情绪识别、情绪分类、低吼、撒娇、哀嚎、宠物焦虑/兴奋等关键词，并且上传了音频或视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能**：查看历史叫声情绪报告、历史情绪分析、叫声分类报告清单、查询情绪历史报告、显示所有情绪分类报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_vocal_emotion_classification_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_vocal_emotion_classification_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备音频/视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行叫声情绪分类 | 调用 `-m scripts.smyx_vocal_emotion_classification_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地音频/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络音频/视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 dog | 按需填写 |\n| `--list` | 显示叫声情绪历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_vocal_emotion_classification_analysis.py`](scripts/smyx_vocal_emotion_classification_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| 📁 格式支持 | 输入要求：支持 mp3/wav/m4a 音频或 mp4/avi/mov 视频格式，最大 10MB |\n| 🔎 使用提醒 | 推荐音频时长 1～30 秒；过短/过长可能影响分类置信度 |\n| 🧑‍⚖️ 结果性质 | 分析结果仅作情绪参考，不提供医疗、训练或行为矫正建议 |\n| 🔎 使用提醒 | 若叫声混杂多种情绪或背景噪声过大，可能返回 \"low_confidence\" |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，API 服务会自动下载 |\n| 📁 格式支持 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown 表格格式输出，包含\"报告名称\"、\"宠物类型\"、\"分析时间\"、\"点击查看\"四列，其中\"报告名称\"列使用`宠物叫声情绪分类报告-{记录id}`形式拼接, \"点击查看\"列使用 `[🔗 查看报告]()` 格式的超链接，用户点击即可直接跳转到对应的完整报告页面 |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地宠物叫声音频/视频\npython -m scripts.smyx_vocal_emotion_classification_analysis --input /path/to/pet_bark.mp3 --pet-type dog\n\n# 分析网络宠物叫声音频/视频\npython -m scripts.smyx_vocal_emotion_classification_analysis --url https://example.com/pet_bark.mp4 --pet-type dog\n\n# 显示历史分析报告/情绪分类历史清单（自动触发关键词：查看历史叫声情绪报告等）\npython -m scripts.smyx_vocal_emotion_classification_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_vocal_emotion_classification_analysis --input bark.mp3 --pet-type dog --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_vocal_emotion_classification_analysis --input bark.mp3 --pet-type dog --output result.json\n```\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-vocal-emotion-classification-analysis\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1785802708904\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- `SMYX_VOCAL_EMOTION_CLASSIFICATION_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 pet vocalization audio or video to extract acoustic features, classify likely emotion categories with confidence scores, and return structured results without providing medical or behavior-modification 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 pet owners, caretakers, boarding centers, veterinary teams, and agent operators use this skill to classify emotions from dog or cat vocalization media, review confidence-bearing analysis results, and retrieve prior cloud reports. The results are intended as audio-based emotional context rather than medical, training, or behavior-correction advice. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Pet audio/video files or provided URLs are processed by an external cloud service. <br>\nMitigation: Use the skill only where users approve remote processing and the deployment has reviewed retention, authentication, and report access controls. <br>\nRisk: The skill may create or reuse an internal user identity and store account tokens. <br>\nMitigation: Review local token storage and identity behavior before installation, and restrict execution to environments where account-linked operations are expected. <br>\nRisk: History and report retrieval can expose prior cloud reports linked to the resolved user identity. <br>\nMitigation: Require clear user intent before history queries and confirm that report access controls match the deployment's privacy requirements. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-vocal-emotion-classification-analysis) <br>\n- [Pet Vocal Emotion API 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, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown text with structured JSON content, report links, and command examples] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Can write the rendered analysis to a user-specified output file; history queries return cloud report lists.] <br>\n\n## Skill Version(s): <br>\n1.0.5 (source: server release metadata; artifact frontmatter lists 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, 39471 bytes\n\nFiles: references/api_doc.md (672b), scripts/__init__.py (56b), scripts/config.py (679b), scripts/config.yaml (3b), scripts/skill.py (579b), scripts/smyx_vocal_emotion_classification_analysis.py (3607b), skill-card.md (3018b), SKILL.md (12684b), 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.4:SKILL.md\n\n---\nname: \"smyx-vocal-emotion-classification-analysis\"\ndescription: \"Triggers when a user provides a pet vocalization audio/video URL or file for analysis; extracts acoustic features such as frequency, duration, interval, and harmonic structure via AI audio analysis, and classifies the vocalization into 6+ emotion categories (howling, growling, excitement, loneliness, fear, whining/coaxing) with confidence scores. Helps owners understand pet emotional states, improve human-pet interaction, and detect potential stress or health issues early. Application: daily companionship (smart camera / collar), boarding center mood monitoring, vet clinic calming assessment, behavior training assistance. Does NOT provide medical or behavior-modification advice — only outputs audio-based emotion classification results with confidence. | 当用户提供宠物（犬/猫）叫声音频或视频URL/文件时，触发本技能进行叫声情绪深度分类分析；利用AI音频分析技术提取频率、时长、间隔、谐波结构等声学特征，将叫声分类为哀嚎、低吼、兴奋、孤独、恐惧、撒娇等6种以上情绪类别，并输出置信度；帮助宠物主人理解宠物情绪状态，改善人宠互动，及时发现潜在压力或健康问题。应用场景：宠物家庭日常陪伴（智能摄像头/项圈）、寄养中心情绪监测、宠物医院安抚评估、行为训练辅助。仅输出基于音频的情绪分类结果及置信度，不提供医疗或行为矫正建议。\"\nversion: \"1.0.8\"\nlicense: \"MIT-0\"\n---\n\n# 🔊 Pet Vocal Emotion Deep Classification | 宠物叫声情绪深度分类\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物叫声情绪深度分类** |\n| 🎯 核心目标 | 当用户提供宠物（犬/猫）叫声音频或视频URL/文件时，触发本技能进行叫声情绪深度分类分析；利用AI音频分析技术提取频率、时长、间隔、谐波结构等声学特征，将叫声分类为哀嚎、低吼、兴奋、孤独、恐惧、撒娇等6种以上情绪类别，并输出置信度；帮助宠物主人理解宠物情绪状态，改善人宠互动，及时发现潜在压力或健康问题。应用场景：宠物家庭日常陪伴（智能摄像头/项圈）、寄养中心情绪监测、宠物医院安抚评估、行为训练辅助。仅输出基于音频的情绪分类结果及置信度，不提供医疗或行为矫正建议。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_VOCAL_EMOTION_CLASSIFICATION_ANALYSIS` |\n\nTriggers when a user provides a pet vocalization audio/video URL or file for analysis; extracts acoustic features such as frequency, duration, interval, and harmonic structure via AI audio analysis, and classifies the vocalization into 6+ emotion categories (howling, growling, excitement, loneliness, fear, whining/coaxing) with confidence scores. Helps owners understand pet emotional states, improve human-pet interaction, and detect potential stress or health issues early. Application: daily companionship (smart camera / collar), boarding center mood monitoring, vet clinic calming assessment, behavior training assistance. Does NOT provide medical or behavior-modification advice — only outputs audio-based emotion classification results with confidence.\n\n当用户提供宠物（犬/猫）叫声音频或视频URL/文件时，触发本技能进行叫声情绪深度分类分析；利用AI音频分析技术提取频率、时长、间隔、谐波结构等声学特征，将叫声分类为哀嚎、低吼、兴奋、孤独、恐惧、撒娇等6种以上情绪类别，并输出置信度；帮助宠物主人理解宠物情绪状态，改善人宠互动，及时发现潜在压力或健康问题。应用场景：宠物家庭日常陪伴（智能摄像头/项圈）、寄养中心情绪监测、宠物医院安抚评估、行为训练辅助。仅输出基于音频的情绪分类结果及置信度，不提供医疗或行为矫正建议。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **你是一个专业的宠物行为与情绪分析AI。你的任务是分析宠物（犬或猫）的叫声音频片段，提取声学特征（频率、时长、间隔、谐波结构等），并将其分类为多种预设的情绪类别。不要提供医疗或行为矫正建议，仅输出基于音频的情绪分类结果及置信度。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过宠物（犬/猫）叫声音频/视频片段进行情绪深度分类，获取标准化的情绪标签和置信度分布\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 音频降噪与切片 |\n| 2 | 声学特征提取（基频/能量/时长/间隔/谐波） |\n| 3 | 情绪分类（哀嚎 |\n| 4 | 低吼 |\n| 5 | 兴奋 |\n| 6 | 孤独 |\n| 7 | 恐惧 |\n| 8 | 撒娇等≥6类） |\n| 9 | 置信度计算 |\n| 10 | 长期情绪趋势提示 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供宠物叫声音频或包含叫声的视频 URL/文件需要分析时，默认触发本技能进行情绪分类 |\n| 🔎 明确分析意图 | 当用户明确需要理解宠物情绪时，提及狗叫、猫叫、宠物叫声、情绪识别、情绪分类、低吼、撒娇、哀嚎、宠物焦虑/兴奋等关键词，并且上传了音频或视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能**：查看历史叫声情绪报告、历史情绪分析、叫声分类报告清单、查询情绪历史报告、显示所有情绪分类报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_vocal_emotion_classification_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_vocal_emotion_classification_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备音频/视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行叫声情绪分类 | 调用 `-m scripts.smyx_vocal_emotion_classification_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地音频/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络音频/视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 dog | 按需填写 |\n| `--list` | 显示叫声情绪历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_vocal_emotion_classification_analysis.py`](scripts/smyx_vocal_emotion_classification_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| 📁 格式支持 | 输入要求：支持 mp3/wav/m4a 音频或 mp4/avi/mov 视频格式，最大 10MB |\n| 🔎 使用提醒 | 推荐音频时长 1～30 秒；过短/过长可能影响分类置信度 |\n| 🧑‍⚖️ 结果性质 | 分析结果仅作情绪参考，不提供医疗、训练或行为矫正建议 |\n| 🔎 使用提醒 | 若叫声混杂多种情绪或背景噪声过大，可能返回 \"low_confidence\" |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，API 服务会自动下载 |\n| 📁 格式支持 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown 表格格式输出，包含\"报告名称\"、\"宠物类型\"、\"分析时间\"、\"点击查看\"四列，其中\"报告名称\"列使用`宠物叫声情绪分类报告-{记录id}`形式拼接, \"点击查看\"列使用 `[🔗 查看报告]()` 格式的超链接，用户点击即可直接跳转到对应的完整报告页面 |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地宠物叫声音频/视频\npython -m scripts.smyx_vocal_emotion_classification_analysis --input /path/to/pet_bark.mp3 --pet-type dog\n\n# 分析网络宠物叫声音频/视频\npython -m scripts.smyx_vocal_emotion_classification_analysis --url https://example.com/pet_bark.mp4 --pet-type dog\n\n# 显示历史分析报告/情绪分类历史清单（自动触发关键词：查看历史叫声情绪报告等）\npython -m scripts.smyx_vocal_emotion_classification_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_vocal_emotion_classification_analysis --input bark.mp3 --pet-type dog --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_vocal_emotion_classification_analysis --input bark.mp3 --pet-type dog --output result.json\n```\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-vocal-emotion-classification-analysis\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1785255812583\n}\n\nFile v1.0.4:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物叫声情绪深度分类 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动叫声音频情绪分类任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_VOCAL_EMOTION_CLASSIFICATION_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>\nClassifies pet vocalization audio or video into emotion categories with acoustic features, confidence scores, structured reports, and report links while avoiding medical or behavior-modification 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 users and agents use this skill to analyze dog or cat vocalization media for emotion categories, confidence scores, and historical report lookup. It is intended for companionship, boarding, veterinary calming assessment, and behavior-training support, not for medical diagnosis or behavior-modification advice. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Pet media files or media URLs are sent to the LifeEmergence cloud service for analysis. <br>\nMitigation: Use only media that is appropriate to share with that service, and avoid sensitive recordings unless the publisher documents authorization, retention, and handling terms. <br>\nRisk: The skill can silently create or reuse a local account identity and store authentication tokens in a workspace SQLite database. <br>\nMitigation: Review workspace data storage and token handling before installation, and run the skill in a workspace where that local identity behavior is acceptable. <br>\nRisk: Historical report lookup retrieves account-scoped cloud records. <br>\nMitigation: Confirm that cloud history access is expected for the workspace identity before using report-list features. <br>\nRisk: Emotion classifications can be low-confidence or affected by noisy, mixed, too-short, or too-long vocalizations. <br>\nMitigation: Treat results as informational emotion classification only, and do not use them as medical, training, or behavior-correction advice. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-vocal-emotion-classification-analysis) <br>\n- [Publisher profile](https://clawhub.ai/user/smyx-sunjinhui) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n- [API 接口文档](references/api_doc.md) <br>\n- [smyx_analysis API接口文档](skills/smyx_analysis/references/api_doc.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, json, files] <br>\n**Output Format:** [Structured text or JSON with optional Markdown tables and report links] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May write the analysis result to a user-specified output file.] <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, 39493 bytes\n\nFiles: references/api_doc.md (672b), scripts/__init__.py (56b), scripts/config.py (679b), scripts/config.yaml (3b), scripts/skill.py (579b), scripts/smyx_vocal_emotion_classification_analysis.py (3607b), skill-card.md (3017b), SKILL.md (12684b), 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.3:SKILL.md\n\n---\nname: \"smyx-vocal-emotion-classification-analysis\"\ndescription: \"Triggers when a user provides a pet vocalization audio/video URL or file for analysis; extracts acoustic features such as frequency, duration, interval, and harmonic structure via AI audio analysis, and classifies the vocalization into 6+ emotion categories (howling, growling, excitement, loneliness, fear, whining/coaxing) with confidence scores. Helps owners understand pet emotional states, improve human-pet interaction, and detect potential stress or health issues early. Application: daily companionship (smart camera / collar), boarding center mood monitoring, vet clinic calming assessment, behavior training assistance. Does NOT provide medical or behavior-modification advice — only outputs audio-based emotion classification results with confidence. | 当用户提供宠物（犬/猫）叫声音频或视频URL/文件时，触发本技能进行叫声情绪深度分类分析；利用AI音频分析技术提取频率、时长、间隔、谐波结构等声学特征，将叫声分类为哀嚎、低吼、兴奋、孤独、恐惧、撒娇等6种以上情绪类别，并输出置信度；帮助宠物主人理解宠物情绪状态，改善人宠互动，及时发现潜在压力或健康问题。应用场景：宠物家庭日常陪伴（智能摄像头/项圈）、寄养中心情绪监测、宠物医院安抚评估、行为训练辅助。仅输出基于音频的情绪分类结果及置信度，不提供医疗或行为矫正建议。\"\nversion: \"1.0.6\"\nlicense: \"MIT-0\"\n---\n\n# 🔊 Pet Vocal Emotion Deep Classification | 宠物叫声情绪深度分类\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物叫声情绪深度分类** |\n| 🎯 核心目标 | 当用户提供宠物（犬/猫）叫声音频或视频URL/文件时，触发本技能进行叫声情绪深度分类分析；利用AI音频分析技术提取频率、时长、间隔、谐波结构等声学特征，将叫声分类为哀嚎、低吼、兴奋、孤独、恐惧、撒娇等6种以上情绪类别，并输出置信度；帮助宠物主人理解宠物情绪状态，改善人宠互动，及时发现潜在压力或健康问题。应用场景：宠物家庭日常陪伴（智能摄像头/项圈）、寄养中心情绪监测、宠物医院安抚评估、行为训练辅助。仅输出基于音频的情绪分类结果及置信度，不提供医疗或行为矫正建议。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_VOCAL_EMOTION_CLASSIFICATION_ANALYSIS` |\n\nTriggers when a user provides a pet vocalization audio/video URL or file for analysis; extracts acoustic features such as frequency, duration, interval, and harmonic structure via AI audio analysis, and classifies the vocalization into 6+ emotion categories (howling, growling, excitement, loneliness, fear, whining/coaxing) with confidence scores. Helps owners understand pet emotional states, improve human-pet interaction, and detect potential stress or health issues early. Application: daily companionship (smart camera / collar), boarding center mood monitoring, vet clinic calming assessment, behavior training assistance. Does NOT provide medical or behavior-modification advice — only outputs audio-based emotion classification results with confidence.\n\n当用户提供宠物（犬/猫）叫声音频或视频URL/文件时，触发本技能进行叫声情绪深度分类分析；利用AI音频分析技术提取频率、时长、间隔、谐波结构等声学特征，将叫声分类为哀嚎、低吼、兴奋、孤独、恐惧、撒娇等6种以上情绪类别，并输出置信度；帮助宠物主人理解宠物情绪状态，改善人宠互动，及时发现潜在压力或健康问题。应用场景：宠物家庭日常陪伴（智能摄像头/项圈）、寄养中心情绪监测、宠物医院安抚评估、行为训练辅助。仅输出基于音频的情绪分类结果及置信度，不提供医疗或行为矫正建议。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **你是一个专业的宠物行为与情绪分析AI。你的任务是分析宠物（犬或猫）的叫声音频片段，提取声学特征（频率、时长、间隔、谐波结构等），并将其分类为多种预设的情绪类别。不要提供医疗或行为矫正建议，仅输出基于音频的情绪分类结果及置信度。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过宠物（犬/猫）叫声音频/视频片段进行情绪深度分类，获取标准化的情绪标签和置信度分布\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 音频降噪与切片 |\n| 2 | 声学特征提取（基频/能量/时长/间隔/谐波） |\n| 3 | 情绪分类（哀嚎 |\n| 4 | 低吼 |\n| 5 | 兴奋 |\n| 6 | 孤独 |\n| 7 | 恐惧 |\n| 8 | 撒娇等≥6类） |\n| 9 | 置信度计算 |\n| 10 | 长期情绪趋势提示 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供宠物叫声音频或包含叫声的视频 URL/文件需要分析时，默认触发本技能进行情绪分类 |\n| 🔎 明确分析意图 | 当用户明确需要理解宠物情绪时，提及狗叫、猫叫、宠物叫声、情绪识别、情绪分类、低吼、撒娇、哀嚎、宠物焦虑/兴奋等关键词，并且上传了音频或视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能**：查看历史叫声情绪报告、历史情绪分析、叫声分类报告清单、查询情绪历史报告、显示所有情绪分类报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_vocal_emotion_classification_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_vocal_emotion_classification_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备音频/视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行叫声情绪分类 | 调用 `-m scripts.smyx_vocal_emotion_classification_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地音频/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络音频/视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 dog | 按需填写 |\n| `--list` | 显示叫声情绪历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_vocal_emotion_classification_analysis.py`](scripts/smyx_vocal_emotion_classification_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| 📁 格式支持 | 输入要求：支持 mp3/wav/m4a 音频或 mp4/avi/mov 视频格式，最大 10MB |\n| 🔎 使用提醒 | 推荐音频时长 1～30 秒；过短/过长可能影响分类置信度 |\n| 🧑‍⚖️ 结果性质 | 分析结果仅作情绪参考，不提供医疗、训练或行为矫正建议 |\n| 🔎 使用提醒 | 若叫声混杂多种情绪或背景噪声过大，可能返回 \"low_confidence\" |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，API 服务会自动下载 |\n| 📁 格式支持 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown 表格格式输出，包含\"报告名称\"、\"宠物类型\"、\"分析时间\"、\"点击查看\"四列，其中\"报告名称\"列使用`宠物叫声情绪分类报告-{记录id}`形式拼接, \"点击查看\"列使用 `[🔗 查看报告]()` 格式的超链接，用户点击即可直接跳转到对应的完整报告页面 |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地宠物叫声音频/视频\npython -m scripts.smyx_vocal_emotion_classification_analysis --input /path/to/pet_bark.mp3 --pet-type dog\n\n# 分析网络宠物叫声音频/视频\npython -m scripts.smyx_vocal_emotion_classification_analysis --url https://example.com/pet_bark.mp4 --pet-type dog\n\n# 显示历史分析报告/情绪分类历史清单（自动触发关键词：查看历史叫声情绪报告等）\npython -m scripts.smyx_vocal_emotion_classification_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_vocal_emotion_classification_analysis --input bark.mp3 --pet-type dog --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_vocal_emotion_classification_analysis --input bark.mp3 --pet-type dog --output result.json\n```\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-vocal-emotion-classification-analysis\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1784034930810\n}\n\nFile v1.0.3:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物叫声情绪深度分类 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动叫声音频情绪分类任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_VOCAL_EMOTION_CLASSIFICATION_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 vocalization audio or video from a file or URL, extracts acoustic features, classifies the call into emotion categories with confidence scores, and returns audio-based emotion results without medical or behavior-modification 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 users and developers use this skill to classify dog, cat, or other pet vocalizations into emotion labels and confidence distributions for companionship, boarding-center monitoring, veterinary calming assessment, or behavior-training support. The skill can also retrieve prior cloud reports associated with the local identity used by the service. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Pet audio, video, or media URLs are sent to the Life Emergence cloud service for analysis. <br>\nMitigation: Use the skill only with media the user is permitted to share with that service, and avoid sending sensitive or private recordings unless the service terms and data handling are acceptable. <br>\nRisk: The skill can create or reuse a local identity, store service tokens in a workspace SQLite database, and retrieve cloud reports tied to that identity. <br>\nMitigation: Review the local identity and token storage behavior before installation, restrict workspace access, and clear stored identity data when the skill should no longer be associated with prior cloud reports. <br>\nRisk: Historical report queries may reveal previously generated cloud reports for the local identity. <br>\nMitigation: Run history queries only in contexts where showing prior reports is expected and authorized. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-vocal-emotion-classification-analysis) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n- [Pet vocal emotion API documentation](references/api_doc.md) <br>\n- [SMYX analysis API documentation](skills/smyx_analysis/references/api_doc.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance, files] <br>\n**Output Format:** [Markdown, JSON-like structured reports, shell command examples, and optional saved result files] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Analysis output may include confidence scores, report links, progress or error messages, and Markdown history tables.] <br>\n\n## Skill Version(s): <br>\n1.0.3 (source: server-resolved release metadata; artifact frontmatter states 1.0.6) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.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, 39304 bytes\n\nFiles: references/api_doc.md (672b), scripts/__init__.py (56b), scripts/config.py (679b), scripts/config.yaml (3b), scripts/skill.py (579b), scripts/smyx_vocal_emotion_classification_analysis.py (3607b), skill-card.md (2783b), SKILL.md (12684b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28605b), _meta.json (161b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: \"smyx-vocal-emotion-classification-analysis\"\ndescription: \"Triggers when a user provides a pet vocalization audio/video URL or file for analysis; extracts acoustic features such as frequency, duration, interval, and harmonic structure via AI audio analysis, and classifies the vocalization into 6+ emotion categories (howling, growling, excitement, loneliness, fear, whining/coaxing) with confidence scores. Helps owners understand pet emotional states, improve human-pet interaction, and detect potential stress or health issues early. Application: daily companionship (smart camera / collar), boarding center mood monitoring, vet clinic calming assessment, behavior training assistance. Does NOT provide medical or behavior-modification advice — only outputs audio-based emotion classification results with confidence. | 当用户提供宠物（犬/猫）叫声音频或视频URL/文件时，触发本技能进行叫声情绪深度分类分析；利用AI音频分析技术提取频率、时长、间隔、谐波结构等声学特征，将叫声分类为哀嚎、低吼、兴奋、孤独、恐惧、撒娇等6种以上情绪类别，并输出置信度；帮助宠物主人理解宠物情绪状态，改善人宠互动，及时发现潜在压力或健康问题。应用场景：宠物家庭日常陪伴（智能摄像头/项圈）、寄养中心情绪监测、宠物医院安抚评估、行为训练辅助。仅输出基于音频的情绪分类结果及置信度，不提供医疗或行为矫正建议。\"\nversion: \"1.0.5\"\nlicense: \"MIT-0\"\n---\n\n# 🔊 Pet Vocal Emotion Deep Classification | 宠物叫声情绪深度分类\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物叫声情绪深度分类** |\n| 🎯 核心目标 | 当用户提供宠物（犬/猫）叫声音频或视频URL/文件时，触发本技能进行叫声情绪深度分类分析；利用AI音频分析技术提取频率、时长、间隔、谐波结构等声学特征，将叫声分类为哀嚎、低吼、兴奋、孤独、恐惧、撒娇等6种以上情绪类别，并输出置信度；帮助宠物主人理解宠物情绪状态，改善人宠互动，及时发现潜在压力或健康问题。应用场景：宠物家庭日常陪伴（智能摄像头/项圈）、寄养中心情绪监测、宠物医院安抚评估、行为训练辅助。仅输出基于音频的情绪分类结果及置信度，不提供医疗或行为矫正建议。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_VOCAL_EMOTION_CLASSIFICATION_ANALYSIS` |\n\nTriggers when a user provides a pet vocalization audio/video URL or file for analysis; extracts acoustic features such as frequency, duration, interval, and harmonic structure via AI audio analysis, and classifies the vocalization into 6+ emotion categories (howling, growling, excitement, loneliness, fear, whining/coaxing) with confidence scores. Helps owners understand pet emotional states, improve human-pet interaction, and detect potential stress or health issues early. Application: daily companionship (smart camera / collar), boarding center mood monitoring, vet clinic calming assessment, behavior training assistance. Does NOT provide medical or behavior-modification advice — only outputs audio-based emotion classification results with confidence.\n\n当用户提供宠物（犬/猫）叫声音频或视频URL/文件时，触发本技能进行叫声情绪深度分类分析；利用AI音频分析技术提取频率、时长、间隔、谐波结构等声学特征，将叫声分类为哀嚎、低吼、兴奋、孤独、恐惧、撒娇等6种以上情绪类别，并输出置信度；帮助宠物主人理解宠物情绪状态，改善人宠互动，及时发现潜在压力或健康问题。应用场景：宠物家庭日常陪伴（智能摄像头/项圈）、寄养中心情绪监测、宠物医院安抚评估、行为训练辅助。仅输出基于音频的情绪分类结果及置信度，不提供医疗或行为矫正建议。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **你是一个专业的宠物行为与情绪分析AI。你的任务是分析宠物（犬或猫）的叫声音频片段，提取声学特征（频率、时长、间隔、谐波结构等），并将其分类为多种预设的情绪类别。不要提供医疗或行为矫正建议，仅输出基于音频的情绪分类结果及置信度。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过宠物（犬/猫）叫声音频/视频片段进行情绪深度分类，获取标准化的情绪标签和置信度分布\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 音频降噪与切片 |\n| 2 | 声学特征提取（基频/能量/时长/间隔/谐波） |\n| 3 | 情绪分类（哀嚎 |\n| 4 | 低吼 |\n| 5 | 兴奋 |\n| 6 | 孤独 |\n| 7 | 恐惧 |\n| 8 | 撒娇等≥6类） |\n| 9 | 置信度计算 |\n| 10 | 长期情绪趋势提示 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供宠物叫声音频或包含叫声的视频 URL/文件需要分析时，默认触发本技能进行情绪分类 |\n| 🔎 明确分析意图 | 当用户明确需要理解宠物情绪时，提及狗叫、猫叫、宠物叫声、情绪识别、情绪分类、低吼、撒娇、哀嚎、宠物焦虑/兴奋等关键词，并且上传了音频或视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能**：查看历史叫声情绪报告、历史情绪分析、叫声分类报告清单、查询情绪历史报告、显示所有情绪分类报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_vocal_emotion_classification_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_vocal_emotion_classification_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备音频/视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行叫声情绪分类 | 调用 `-m scripts.smyx_vocal_emotion_classification_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地音频/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络音频/视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 dog | 按需填写 |\n| `--list` | 显示叫声情绪历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_vocal_emotion_classification_analysis.py`](scripts/smyx_vocal_emotion_classification_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| 📁 格式支持 | 输入要求：支持 mp3/wav/m4a 音频或 mp4/avi/mov 视频格式，最大 10MB |\n| 🔎 使用提醒 | 推荐音频时长 1～30 秒；过短/过长可能影响分类置信度 |\n| 🧑‍⚖️ 结果性质 | 分析结果仅作情绪参考，不提供医疗、训练或行为矫正建议 |\n| 🔎 使用提醒 | 若叫声混杂多种情绪或背景噪声过大，可能返回 \"low_confidence\" |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，API 服务会自动下载 |\n| 📁 格式支持 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown 表格格式输出，包含\"报告名称\"、\"宠物类型\"、\"分析时间\"、\"点击查看\"四列，其中\"报告名称\"列使用`宠物叫声情绪分类报告-{记录id}`形式拼接, \"点击查看\"列使用 `[🔗 查看报告]()` 格式的超链接，用户点击即可直接跳转到对应的完整报告页面 |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地宠物叫声音频/视频\npython -m scripts.smyx_vocal_emotion_classification_analysis --input /path/to/pet_bark.mp3 --pet-type dog\n\n# 分析网络宠物叫声音频/视频\npython -m scripts.smyx_vocal_emotion_classification_analysis --url https://example.com/pet_bark.mp4 --pet-type dog\n\n# 显示历史分析报告/情绪分类历史清单（自动触发关键词：查看历史叫声情绪报告等）\npython -m scripts.smyx_vocal_emotion_classification_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_vocal_emotion_classification_analysis --input bark.mp3 --pet-type dog --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_vocal_emotion_classification_analysis --input bark.mp3 --pet-type dog --output result.json\n```\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-vocal-emotion-classification-analysis\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1783518866996\n}\n\nFile v1.0.2:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物叫声情绪深度分类 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动叫声音频情绪分类任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_VOCAL_EMOTION_CLASSIFICATION_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 pet vocalization audio or video from a file or URL, extracts acoustic features, and returns emotion classifications with confidence scores while avoiding medical or behavior-modification 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 users and developers use this skill to submit pet vocalization media or URLs for audio-based emotion classification, structured confidence results, and report links. It can support pet-owner companionship, boarding-center monitoring, veterinary calming assessment, and behavior-training workflows as a reference-only classifier. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Media, URLs, and generated reports may be processed by remote cloud services and linked to an account identity. <br>\nMitigation: Avoid sensitive media in shared workspaces and confirm that cloud processing and account-linked history are acceptable before deployment. <br>\nRisk: Token persistence and history lookup may expose prior report links to users with access to the same runtime or workspace. <br>\nMitigation: Use controlled runtime storage, restrict workspace access, and review report links before sharing outputs. <br>\nRisk: Audio-based emotion labels may be uncertain when recordings are noisy, mixed, too short, or too long. <br>\nMitigation: Treat results as reference-only classifications and do not use them as medical, training, or behavior-modification advice. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-vocal-emotion-classification-analysis) <br>\n- [API interface documentation](artifact/references/api_doc.md) <br>\n- [Analysis API documentation](artifact/skills/smyx_analysis/references/api_doc.md) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, JSON, Shell commands] <br>\n**Output Format:** [Markdown and JSON report text with CLI command examples and report links] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Accepts local file paths or media URLs; can list cloud history reports and can write results to a requested output file.] <br>\n\n## Skill Version(s): <br>\n1.0.2 (source: server release metadata; artifact frontmatter reports 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.2:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.2:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.1: 31 files, 39434 bytes\n\nFiles: references/api_doc.md (672b), scripts/__init__.py (56b), scripts/config.py (679b), scripts/config.yaml (3b), scripts/skill.py (579b), scripts/smyx_vocal_emotion_classification_analysis.py (3607b), skill-card.md (3164b), SKILL.md (12684b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28605b), _meta.json (161b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: \"smyx-vocal-emotion-classification-analysis\"\ndescription: \"Triggers when a user provides a pet vocalization audio/video URL or file for analysis; extracts acoustic features such as frequency, duration, interval, and harmonic structure via AI audio analysis, and classifies the vocalization into 6+ emotion categories (howling, growling, excitement, loneliness, fear, whining/coaxing) with confidence scores. Helps owners understand pet emotional states, improve human-pet interaction, and detect potential stress or health issues early. Application: daily companionship (smart camera / collar), boarding center mood monitoring, vet clinic calming assessment, behavior training assistance. Does NOT provide medical or behavior-modification advice — only outputs audio-based emotion classification results with confidence. | 当用户提供宠物（犬/猫）叫声音频或视频URL/文件时，触发本技能进行叫声情绪深度分类分析；利用AI音频分析技术提取频率、时长、间隔、谐波结构等声学特征，将叫声分类为哀嚎、低吼、兴奋、孤独、恐惧、撒娇等6种以上情绪类别，并输出置信度；帮助宠物主人理解宠物情绪状态，改善人宠互动，及时发现潜在压力或健康问题。应用场景：宠物家庭日常陪伴（智能摄像头/项圈）、寄养中心情绪监测、宠物医院安抚评估、行为训练辅助。仅输出基于音频的情绪分类结果及置信度，不提供医疗或行为矫正建议。\"\nversion: \"1.0.4\"\nlicense: \"MIT-0\"\n---\n\n# 🔊 Pet Vocal Emotion Deep Classification | 宠物叫声情绪深度分类\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物叫声情绪深度分类** |\n| 🎯 核心目标 | 当用户提供宠物（犬/猫）叫声音频或视频URL/文件时，触发本技能进行叫声情绪深度分类分析；利用AI音频分析技术提取频率、时长、间隔、谐波结构等声学特征，将叫声分类为哀嚎、低吼、兴奋、孤独、恐惧、撒娇等6种以上情绪类别，并输出置信度；帮助宠物主人理解宠物情绪状态，改善人宠互动，及时发现潜在压力或健康问题。应用场景：宠物家庭日常陪伴（智能摄像头/项圈）、寄养中心情绪监测、宠物医院安抚评估、行为训练辅助。仅输出基于音频的情绪分类结果及置信度，不提供医疗或行为矫正建议。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_VOCAL_EMOTION_CLASSIFICATION_ANALYSIS` |\n\nTriggers when a user provides a pet vocalization audio/video URL or file for analysis; extracts acoustic features such as frequency, duration, interval, and harmonic structure via AI audio analysis, and classifies the vocalization into 6+ emotion categories (howling, growling, excitement, loneliness, fear, whining/coaxing) with confidence scores. Helps owners understand pet emotional states, improve human-pet interaction, and detect potential stress or health issues early. Application: daily companionship (smart camera / collar), boarding center mood monitoring, vet clinic calming assessment, behavior training assistance. Does NOT provide medical or behavior-modification advice — only outputs audio-based emotion classification results with confidence.\n\n当用户提供宠物（犬/猫）叫声音频或视频URL/文件时，触发本技能进行叫声情绪深度分类分析；利用AI音频分析技术提取频率、时长、间隔、谐波结构等声学特征，将叫声分类为哀嚎、低吼、兴奋、孤独、恐惧、撒娇等6种以上情绪类别，并输出置信度；帮助宠物主人理解宠物情绪状态，改善人宠互动，及时发现潜在压力或健康问题。应用场景：宠物家庭日常陪伴（智能摄像头/项圈）、寄养中心情绪监测、宠物医院安抚评估、行为训练辅助。仅输出基于音频的情绪分类结果及置信度，不提供医疗或行为矫正建议。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **你是一个专业的宠物行为与情绪分析AI。你的任务是分析宠物（犬或猫）的叫声音频片段，提取声学特征（频率、时长、间隔、谐波结构等），并将其分类为多种预设的情绪类别。不要提供医疗或行为矫正建议，仅输出基于音频的情绪分类结果及置信度。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过宠物（犬/猫）叫声音频/视频片段进行情绪深度分类，获取标准化的情绪标签和置信度分布\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 音频降噪与切片 |\n| 2 | 声学特征提取（基频/能量/时长/间隔/谐波） |\n| 3 | 情绪分类（哀嚎 |\n| 4 | 低吼 |\n| 5 | 兴奋 |\n| 6 | 孤独 |\n| 7 | 恐惧 |\n| 8 | 撒娇等≥6类） |\n| 9 | 置信度计算 |\n| 10 | 长期情绪趋势提示 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供宠物叫声音频或包含叫声的视频 URL/文件需要分析时，默认触发本技能进行情绪分类 |\n| 🔎 明确分析意图 | 当用户明确需要理解宠物情绪时，提及狗叫、猫叫、宠物叫声、情绪识别、情绪分类、低吼、撒娇、哀嚎、宠物焦虑/兴奋等关键词，并且上传了音频或视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能**：查看历史叫声情绪报告、历史情绪分析、叫声分类报告清单、查询情绪历史报告、显示所有情绪分类报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_vocal_emotion_classification_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_vocal_emotion_classification_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备音频/视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行叫声情绪分类 | 调用 `-m scripts.smyx_vocal_emotion_classification_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地音频/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络音频/视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/other，默认 dog | 按需填写 |\n| `--list` | 显示叫声情绪历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_vocal_emotion_classification_analysis.py`](scripts/smyx_vocal_emotion_classification_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| 📁 格式支持 | 输入要求：支持 mp3/wav/m4a 音频或 mp4/avi/mov 视频格式，最大 10MB |\n| 🔎 使用提醒 | 推荐音频时长 1～30 秒；过短/过长可能影响分类置信度 |\n| 🧑‍⚖️ 结果性质 | 分析结果仅作情绪参考，不提供医疗、训练或行为矫正建议 |\n| 🔎 使用提醒 | 若叫声混杂多种情绪或背景噪声过大，可能返回 \"low_confidence\" |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，API 服务会自动下载 |\n| 📁 格式支持 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown 表格格式输出，包含\"报告名称\"、\"宠物类型\"、\"分析时间\"、\"点击查看\"四列，其中\"报告名称\"列使用`宠物叫声情绪分类报告-{记录id}`形式拼接, \"点击查看\"列使用 `[🔗 查看报告]()` 格式的超链接，用户点击即可直接跳转到对应的完整报告页面 |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地宠物叫声音频/视频\npython -m scripts.smyx_vocal_emotion_classification_analysis --input /path/to/pet_bark.mp3 --pet-type dog\n\n# 分析网络宠物叫声音频/视频\npython -m scripts.smyx_vocal_emotion_classification_analysis --url https://example.com/pet_bark.mp4 --pet-type dog\n\n# 显示历史分析报告/情绪分类历史清单（自动触发关键词：查看历史叫声情绪报告等）\npython -m scripts.smyx_vocal_emotion_classification_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_vocal_emotion_classification_analysis --input bark.mp3 --pet-type dog --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_vocal_emotion_classification_analysis --input bark.mp3 --pet-type dog --output result.json\n```\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-vocal-emotion-classification-analysis\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1783176149599\n}\n\nFile v1.0.1:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物叫声情绪深度分类 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动叫声音频情绪分类任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_VOCAL_EMOTION_CLASSIFICATION_ANALYSIS` - 宠物叫声情绪深度分类\n\nFile v1.0.1:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.1:scripts/config.yaml\n\n{}\n\nFile v1.0.1:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.1:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.1:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.1:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.1:skill-card.md\n\n## Description: <br>\nAnalyzes pet vocalization audio or video to extract acoustic features and classify emotions such as howling, growling, excitement, loneliness, fear, or whining with confidence scores, while avoiding medical or behavior-modification 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 users, pet-care teams, boarding centers, veterinary clinics, and behavior-training workflows can use this skill to submit pet vocalization audio or video and receive structured emotion classifications, confidence scores, report links, and history lookup results. The results are intended as audio-based emotional context, not medical, training, or behavior-correction advice. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Pet media files or media URLs are sent to an external cloud service for analysis. <br>\nMitigation: Use only media you are authorized to upload, avoid sensitive surroundings in recordings, and confirm that the cloud service's retention and deletion process is acceptable before installing. <br>\nRisk: The skill may silently create or reuse an account-linked identity and retrieve cloud history or report links. <br>\nMitigation: Deploy only where persistent identity-linked history is acceptable, and define a clear process for reviewing, deleting, or rotating the local identity and associated cloud records. <br>\nRisk: Local token and identity storage can expose account-linked analysis history if the workspace is shared or compromised. <br>\nMitigation: Keep the workspace private, restrict file permissions, and remove local identity, token, and database files when decommissioning the skill. <br>\nRisk: Emotion classifications and confidence scores can be mistaken for medical, training, or behavior-correction advice. <br>\nMitigation: Present results as informational audio-based signals and refer users to qualified veterinary or behavior professionals for health or intervention decisions. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-vocal-emotion-classification-analysis) <br>\n- [API documentation](artifact/references/api_doc.md) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, json, shell commands, guidance] <br>\n**Output Format:** [Markdown or JSON structured analysis with confidence scores, status text, report links, and history lists] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May save analysis output to a user-specified file and may return cloud report export links.] <br>\n\n## Skill Version(s): <br>\n1.0.1 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.1:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.1:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.0: 31 files, 33450 bytes\n\nFiles: references/api_doc.md (672b), scripts/__init__.py (56b), scripts/api_service.py (1704b), scripts/config.py (679b), scripts/config.yaml (3b), scripts/skill.py (579b), scripts/smyx_vocal_emotion_classification_analysis.py (3576b), SKILL.md (11536b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (2094b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1857b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (11394b), skills/smyx_analysis/scripts/smyx_analysis.py (3691b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (45b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2518b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (14221b), skills/smyx_common/scripts/config.yaml (463b), skills/smyx_common/scripts/dao.py (11119b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (18384b), _meta.json (161b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: \"smyx-vocal-emotion-classification-analysis\"\ndescription: \"Triggers when a user provides a pet vocalization audio/video URL or file for analysis; extracts acoustic features such as frequency, duration, interval, and harmonic structure via AI audio analysis, and classifies the vocalization into 6+ emotion categories (howling, growling, excitement, loneliness, fear, whining/coaxing) with confidence scores. Helps owners understand pet emotional states, improve human-pet interaction, and detect potential stress or health issues early. Application: daily companionship (smart camera / collar), boarding center mood monitoring, vet clinic calming assessment, behavior training assistance. Does NOT provide medical or behavior-modification advice — only outputs audio-based emotion classification results with confidence. | 当用户提供宠物（犬/猫）叫声音频或视频URL/文件时，触发本技能进行叫声情绪深度分类分析；利用AI音频分析技术提取频率、时长、间隔、谐波结构等声学特征，将叫声分类为哀嚎、低吼、兴奋、孤独、恐惧、撒娇等6种以上情绪类别，并输出置信度；帮助宠物主人理解宠物情绪状态，改善人宠互动，及时发现潜在压力或健康问题。应用场景：宠物家庭日常陪伴（智能摄像头/项圈）、寄养中心情绪监测、宠物医院安抚评估、行为训练辅助。仅输出基于音频的情绪分类结果及置信度，不提供医疗或行为矫正建议。\"\nversion: \"1.0.0\"\n---\n\n# Pet Vocal Emotion Deep Classification | 宠物叫声情绪深度分类\n\nTriggers when a user provides a pet vocalization audio/video URL or file for analysis; extracts acoustic features such as frequency, duration, interval, and harmonic structure via AI audio analysis, and classifies the vocalization into 6+ emotion categories (howling, growling, excitement, loneliness, fear, whining/coaxing) with confidence scores. Helps owners understand pet emotional states, improve human-pet interaction, and detect potential stress or health issues early. Application: daily companionship (smart camera / collar), boarding center mood monitoring, vet clinic calming assessment, behavior training assistance. Does NOT provide medical or behavior-modification advice — only outputs audio-based emotion classification results with confidence.\n\n当用户提供宠物（犬/猫）叫声音频或视频URL/文件时，触发本技能进行叫声情绪深度分类分析；利用AI音频分析技术提取频率、时长、间隔、谐波结构等声学特征，将叫声分类为哀嚎、低吼、兴奋、孤独、恐惧、撒娇等6种以上情绪类别，并输出置信度；帮助宠物主人理解宠物情绪状态，改善人宠互动，及时发现潜在压力或健康问题。应用场景：宠物家庭日常陪伴（智能摄像头/项圈）、寄养中心情绪监测、宠物医院安抚评估、行为训练辅助。仅输出基于音频的情绪分类结果及置信度，不提供医疗或行为矫正建议。\n\n\n## 🎯 AI 角色\n\n**你是一个专业的宠物行为与情绪分析AI。你的任务是分析宠物（犬或猫）的叫声音频片段，提取声学特征（频率、时长、间隔、谐波结构等），并将其分类为多种预设的情绪类别。不要提供医疗或行为矫正建议，仅输出基于音频的情绪分类结果及置信度。**\n\n## 任务目标\n\n- 本 Skill 用于：通过宠物（犬/猫）叫声音频/视频片段进行情绪深度分类，获取标准化的情绪标签和置信度分布\n- 能力包含：音频降噪与切片、声学特征提取（基频/能量/时长/间隔/谐波）、情绪分类（哀嚎、低吼、兴奋、孤独、恐惧、撒娇等≥6类）、置信度计算、长期情绪趋势提示\n- 触发条件:\n    1. **默认触发**：当用户提供宠物叫声音频或包含叫声的视频 URL/文件需要分析时，默认触发本技能进行情绪分类\n    2. 当用户明确需要理解宠物情绪时，提及狗叫、猫叫、宠物叫声、情绪识别、情绪分类、低吼、撒娇、哀嚎、宠物焦虑/兴奋等关键词，并且上传了音频或视频文件\n    3. 当用户提及以下关键词时，**自动触发历史报告查询功能**：查看历史叫声情绪报告、历史情绪分析、叫声分类报告清单、查询情绪历史报告、显示所有情绪分类报告\n- 自动行为：\n    1. 如果用户上传了附件或者音频/视频文件，则自动保存为本地文件\n    2. **⚠️ 强制数据获取规则（次高优先级）**：如果用户触发任何历史报告查询关键词（如\"查看所有情绪报告\"、\"显示历史叫声分析\"、\"查看历史报告\"等），**必须**：\n        - 直接使用 `python -m scripts.smyx_vocal_emotion_classification_analysis --list --open-id` 参数调用 API 查询云端的历史报告数据\n        - **严格禁止**：从本地 memory 目录读取历史会话信息、严格禁止手动汇总本地记录中的报告、严格禁止从长期记忆中提取报告\n        - **必须统一**从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果\n\n## 前置准备\n\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 操作步骤\n\n### 🔒 open-id 获取流程控制（强制执行，防止遗漏）\n\n**在执行叫声情绪分类分析前，必须按以下优先级顺序获取 open-id：**\n\n```\n第 1 步：【最高优先级】检查技能所在目录的配置文件（优先）\n        路径：skills/smyx_common/scripts/config.yaml（相对于技能根目录）\n        完整路径示例：${OPENCLAW_WORKSPACE}/skills/{当前技能目录}/skills/smyx_common/scripts/config.yaml\n        → 如果文件存在且配置了 api-key 字段，则读取 api-key 作为 open-id\n        ↓ (未找到/未配置/api-key 为空)\n第 2 步：检查 workspace 公共目录的配置文件\n        路径：${OPENCLAW_WORKSPACE}/skills/smyx_common/scripts/config.yaml\n        → 如果文件存在且配置了 api-key 字段，则读取 api-key 作为 open-id\n        ↓ (未找到/未配置)\n第 3 步：检查用户是否在消息中明确提供了 open-id\n        ↓ (未提供)\n第 4 步：❗ 必须暂停执行，明确提示用户提供用户名或手机号作为 open-id\n```\n\n**⚠️ 关键约束：**\n\n- **禁止**自行假设,自行推导,自行生成 open-id 值（如 openclaw-control-ui、default、userC113、user123 等）\n- **禁止**跳过 open-id 验证直接调用 API\n- **必须**在获取到有效 open-id 后才能继续执行分析\n- 如果用户拒绝提供 open-id，说明用途（用于保存和查询历史报告记录），并询问是否继续\n\n---\n\n- 标准流程:\n    1. **准备音频/视频输入**\n        - 提供本地音频/视频文件路径或网络 URL\n        - 确保叫声片段清晰可辨，背景噪音较少，时长建议 1～30 秒\n    2. **获取 open-id（强制执行）**\n        - 按上述流程控制获取 open-id\n        - 如无法获取，必须提示用户提供用户名或手机号\n    3. **执行叫声情绪分类**\n        - 调用 `-m scripts.smyx_vocal_emotion_classification_analysis` 处理音频/视频文件（**必须在技能根目录下运行脚本**）\n        - 参数说明:\n            - `--input`: 本地音频/视频文件路径\n            - `--url`: 网络音频/视频 URL 地址（API 服务自动下载）\n            - `--pet-type`: 宠物类型，可选值：cat/dog/other，默认 dog\n            - `--open-id`: 当前用户的 open-id（必填，按上述流程获取）\n            - `--list`: 显示叫声情绪历史分析报告列表清单（可以输入起始日期参数过滤数据范围）\n            - `--api-key`: API 访问密钥（可选）\n            - `--api-url`: API 服务地址（可选，使用默认值）\n            - `--detail`: 输出详细程度（basic/standard/json，默认 json）\n            - `--output`: 结果输出文件路径（可选）\n    4. **查看分析结果**\n        - 接收结构化的情绪分类报告\n        - 包含：主情绪标签（哀嚎/低吼/兴奋/孤独/恐惧/撒娇等）、置信度（0-1）、Top-3 情绪分布、声学特征摘要（基频Hz、时长ms、能量、谐波丰富度）、片段时间戳、潜在状态提示\n        - **重要提示**：仅输出基于音频的情绪分类客观结果，不提供医疗诊断或行为矫正建议\n\n## 资源索引\n\n- 必要脚本：见 [scripts/smyx_vocal_emotion_classification_analysis.py](scripts/smyx_vocal_emotion_classification_analysis.py)（用途：调用 API 进行叫声情绪深度分类，本地文件上传，网络 URL 由 API 服务自动下载）\n- 配置文件：见 [scripts/config.py](scripts/config.py)（用途：配置 API 地址、默认参数和媒体格式限制）\n- 领域参考：见 [references/api_doc.md](references/api_doc.md)（何时读取：需要了解 API 接口详细规范和错误码时）\n\n## 注意事项\n\n- 仅在需要时读取参考文档，保持上下文简洁\n- 输入要求：支持 mp3/wav/m4a 音频或 mp4/avi/mov 视频格式，最大 10MB\n- 推荐音频时长 1～30 秒；过短/过长可能影响分类置信度\n- API 密钥可选，如果通过参数传入则必须确保调用鉴权成功，否则忽略鉴权\n- 分析结果仅作情绪参考，不提供医疗、训练或行为矫正建议\n- 若叫声混杂多种情绪或背景噪声过大，可能返回 \"low_confidence\"\n- 禁止临时生成脚本，只能用技能本身的脚本\n- 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，API 服务会自动下载\n- 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段 reportImageUrl 作为超链接地址，且自动转化为如下 Markdown 表格格式输出，包含\"报告名称\"、\"宠物类型\"、\"分析时间\"、\"点击查看\"四列，其中\"报告名称\"列使用`宠物叫声情绪分类报告-{记录id}`形式拼接, \"点击查看\"列使用 `[🔗 查看报告](reportImageUrl)` 格式的超链接，用户点击即可直接跳转到对应的完整报告页面\n- 表格输出示例：\n  | 报告名称 | 宠物类型 | 分析时间 | 点击查看 |\n  |----------|----------|----------|----------|\n  | 宠物叫声情绪分类报告-20260312172200001 | 狗 | 2026-03-12 17:22:00 | [🔗 查看报告](https://example.com/report?id=xxx) |\n\n## 使用示例\n\n```bash\n# 分析本地宠物叫声音频/视频（以下只是示例，禁止直接使用openclaw-control-ui 作为 open-id）\npython -m scripts.smyx_vocal_emotion_classification_analysis --input /path/to/pet_bark.mp3 --pet-type dog --open-id your-open-id\n\n# 分析网络宠物叫声音频/视频（以下只是示例，禁止直接使用openclaw-control-ui 作为 open-id）\npython -m scripts.smyx_vocal_emotion_classification_analysis --url https://example.com/pet_bark.mp4 --pet-type dog --open-id your-open-id\n\n# 显示历史分析报告/情绪分类历史清单（自动触发关键词：查看历史叫声情绪报告等）\npython -m scripts.smyx_vocal_emotion_classification_analysis --list --open-id your-open-id\n\n# 输出精简报告\npython -m scripts.smyx_vocal_emotion_classification_analysis --input bark.mp3 --pet-type dog --open-id your-open-id --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_vocal_emotion_classification_analysis --input bark.mp3 --pet-type dog --open-id your-open-id --output result.json\n```\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-vocal-emotion-classification-analysis\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1779465737840\n}\n\nFile v1.0.0:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物叫声情绪深度分类 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动叫声音频情绪分类任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_VOCAL_EMOTION_CLASSIFICATION_ANALYSIS` - 宠物叫声情绪深度分类\n\nFile v1.0.0:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口地址\n\n`POST https://your-api-server.com/api/v1/common-analysis`\n\n## 请求头\n\n| 字段           | 必选 | 说明                            |\n|--------------|----|-------------------------------|\n| X-API-Key    | 是  | API访问密钥                       |\n| Content-Type | 是  | 文件上传或 application/json（URL模式） |\n\n## 请求参数\n\n### 1. 文件上传模式\n\n| 字段           | 类型     | 必选 | 说明                                    |\n|--------------|--------|----|---------------------------------------|\n| video        | file   | 是  | MP4视频文件                               |\n| detail_level | string | 否  | 输出详细程度：basic/standard/full，默认standard |\n\n### 2. URL模式\n\n| 字段           | 类型     | 必选 | 说明                                    |\n|--------------|--------|----|---------------------------------------|\n| video_url    | string | 是  | 可公开访问的视频URL                           |\n| detail_level | string | 否  | 输出详细程度：basic/standard/full，默认standard |\n\n## 响应格式\n\n```json\n{\n  \"code\": 200,\n  \"message\": \"success\",\n  \"data\": {\n    \"analysis_time\": \"2026-03-10 15:30:00\",\n    \"face_detection\": {\n      \"status\": \"success\",\n      \"face_count\": 1,\n      \"quality_score\": 95\n    },\n    \"diagnosis\": {\n      \"overall_constitution\": \"平和质\",\n      \"organ_condition\": {\n        \"liver\": \"正常\",\n        \"heart\": \"轻微火旺\",\n        \"spleen\": \"略虚\",\n        \"lung\": \"正常\",\n        \"kidney\": \"正常\"\n      },\n      \"color_analysis\": {\n        \"complexion\": \"微黄\",\n        \"correspondence\": \"脾胃功能略弱\"\n      }\n    },\n    \"health_warnings\": [\n      \"注意休息，避免熬夜\"\n    ],\n    \"suggestions\": [\n      \"饮食清淡，减少辛辣食物摄入\"\n    ]\n  }\n}\n```\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.0:scripts/config.yaml\n\n{}\n\nFile v1.0.0:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.0:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.0:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.0:skills/smyx_common/scripts/config.yaml\n\nenv: prod\n\nApiEnum:\n  api-key:\n  api-secret-key:\n  database-url:\n  base-url-open-api: \"https://open.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitor.lifeemergence.com\"\n  base-url-health: \"https://lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: false\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: \"XIAN_ZHAO_GAN_ZHI\"\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret:\n  default--skill-platform-name: ARK_CLAW\n\nFile v1.0.0:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.0:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3","readmeExcerpt":"Skill: Pet Vocal Emotion Deep Classification | 宠物叫声情绪深度分类 Owner: smyx-sunjinhui Summary: Triggers when a user provides a pet vocalization audio/video URL or file for analysis; extracts acoustic features such as frequency, duration, interval, and harmonic structure via AI audio analysis, and classifies the vocalization into 6+ emotion categories (howling, growling, excitement, loneliness, fear, whining/coaxing) with c","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"python -m scripts.smyx_vocal_emotion_classification_analysis --list"},{"language":"text","snippet":"requests>=2.28.0"},{"language":"bash","snippet":"# 分析本地宠物叫声音频/视频\npython -m scripts.smyx_vocal_emotion_classification_analysis --input /path/to/pet_bark.mp3 --pet-type dog\n\n# 分析网络宠物叫声音频/视频\npython -m scripts.smyx_vocal_emotion_classification_analysis --url https://example.com/pet_bark.mp4 --pet-type dog\n\n# 显示历史分析报告/情绪分类历史清单（自动触发关键词：查看历史叫声情绪报告等）\npython -m scripts.smyx_vocal_emotion_classification_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_vocal_emotion_classification_analysis --input bark.mp3 --pet-type dog --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_vocal_emotion_classification_analysis --input bark.mp3 --pet-type dog --output result.json"},{"language":"bash","snippet":"python -m scripts.smyx_vocal_emotion_classification_analysis --list"},{"language":"text","snippet":"requests>=2.28.0"},{"language":"bash","snippet":"# 分析本地宠物叫声音频/视频\npython -m scripts.smyx_vocal_emotion_classification_analysis --input /path/to/pet_bark.mp3 --pet-type dog\n\n# 分析网络宠物叫声音频/视频\npython -m scripts.smyx_vocal_emotion_classification_analysis --url https://example.com/pet_bark.mp4 --pet-type dog\n\n# 显示历史分析报告/情绪分类历史清单（自动触发关键词：查看历史叫声情绪报告等）\npython -m scripts.smyx_vocal_emotion_classification_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_vocal_emotion_classification_analysis --input bark.mp3 --pet-type dog --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_vocal_emotion_classification_analysis --input bark.mp3 --pet-type dog --output result.json"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: \"smyx-vocal-emotion-classification-analysis\"\ndescription: \"Triggers when a user provides a pet vocalization audio/video URL or file for analysis; extracts acoustic features such as frequency, duration, interval, and harmonic structure via AI audio analysis, and classifies the vocalization into 6+ emotion categories (howling, growling, excitement, loneliness, fear, whining/coaxing) with confidence scores. Helps owners understand pet emotional states, improve human-pet interaction, and detect potential stress or health issues early. Application: daily companionship (smart camera / collar), boarding center mood monitoring, vet clinic calming assessment, behavior training assistance. Does NOT provide medical or behavior-modification advice — only outputs audio-based emotion classification results with confidence. | 当用户提供宠物（犬/猫）叫声音频或视频URL/文件时，触发本技能进行叫声情绪深度分类分析；利用AI音频分析技术提取频率、时长、间隔、谐波结构等声学特征，将叫声分类为哀嚎、低吼、兴奋、孤独、恐惧、撒娇等6种以上情绪类别，并输出置信度；帮助宠物主人理解宠物情绪状态，改善人宠互动，及时发现潜在压力或健康问题。应用场景：宠物家庭日常陪伴（智能摄像头/项圈）、寄养中心情绪监测、宠物医院安抚评估、行为训练辅助。仅输出基于音频的情绪分类结果及置信度，不提供医疗或行为矫正建议。\"\nversion: \"1.0.12\"\nlicense: \"MIT-0\"\n---\n\n# 🔊 Pet Vocal Emotion Deep Classification | 宠物叫声情绪深度分类\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物叫声情绪深度分类** |\n| 🎯 核心目标 | 当用户提供宠物（犬/猫）叫声音频或视频URL/文件时，触发本技能进行叫声情绪深度分类分析；利用AI音频分析技术提取频率、时长、间隔、谐波结构等声学特征，将叫声分类为哀嚎、低吼、兴奋、孤独、恐惧、撒娇等6种以上情绪类别，并输出置信度；帮助宠物主人理解宠物情绪状态，改善人宠互动，及时发现潜在压力或健康问题。应用场景：宠物家庭日常陪伴（智能摄像头/项圈）、寄养中心情绪监测、宠物医院安抚评估、行为训练辅助。仅输出基于音频的情绪分类结果及置信度，不提供医疗或行为矫正建议。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_VOCAL_EMOTION_CLASSIFICATION_ANALYSIS` |\n\nTriggers when a user provides a pet vocalization audio/video URL or file for analysis; extracts acoustic features such as frequency, duration, interval, and harmonic structure via AI audio analysis, and classifies the vocalization into 6+ emotion categories (howling, growling, excitement, loneliness, fear, whining/coaxing) with confidence scores. Helps owners understand pet emotional states, improve human-pet interaction, and detect potential stress or health issues early. Application: daily companionship (smart camera / collar), boarding center mood monitoring, vet clinic calming assessment, behavior training assistance. Does NOT provide medical or behavior-modification advice — only outputs audio-based emotion classification results with confidence.\n\n当用户提供宠物（犬/猫）叫声音频或视频URL/文件时，触发本技能进行叫声情绪深度分类分析；利用AI音频分析技术提取频率、时长、间隔、谐波结构等声学特征，将叫声分类为哀嚎、低吼、兴奋、孤独、恐惧、撒娇等6种以上情绪类别，并输出置信度；帮助宠物主人理解宠物情绪状态，改善人宠互动，及时发现潜在压力或健康问题。应用场景：宠物家庭日常陪伴（智能摄像头/项圈）、寄养中心情绪监测、宠物医院安抚评估、行为训练辅助。仅输出基于音频的情绪分类结果及置信度，不提供医疗或行为矫正建议。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **你是一个专业的宠物行为与情绪分析AI。你的任务是分析宠物（犬或猫）的叫声音频片段，提取声学特征（频率、时长、间隔、谐波结构等），并将其分类为多种预设的情绪类别。不要提供医疗或行为矫正建议，仅输出基于音频的情绪分类结果及置信度。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过宠物（犬/猫）叫声音频/视频片段进行情绪深度分类，获取标准化的情绪标签"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-vocal-emotion-classification-analysis\",\n  \"version\": \"1.0.8\",\n  \"publishedAt\": 1787892935796\n}"},{"path":"references/api_doc.md","content":"# API 接口文档\n\n此处用于存放宠物叫声情绪深度分类 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动叫声音频情绪分类任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_VOCAL_EMOTION_CLASSIFICATION_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":1091,"uniquenessScore":42,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T08:36:33.614Z","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-10T08:36:33.614Z","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-10T10:56:45.909Z","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"}]}}}