{"id":"ad46ce67-596c-458d-a738-30ad9d19b4ab","entityType":"agent","slug":"clawhub-smyx-sunjinhui-smyx-pet-litter-box-waste-analysis","name":"Cat Litter Box Waste Characteristic Recognition Tool | 宠物猫砂盆排泄物性状识别","canonicalUrl":"https://www.xpersona.co/agent/clawhub-smyx-sunjinhui-smyx-pet-litter-box-waste-analysis","canonicalPath":"/agent/clawhub-smyx-sunjinhui-smyx-pet-litter-box-waste-analysis","generatedAt":"2026-10-10T09:09:46.385Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T23:57:06.700Z","emptyReason":null},"description":"Triggers when a user provides a cat litter box area video URL or file for analysis; supports local video uploads or network URLs to call server-side APIs for waste characteristic recognition, analyzing feces morphology (loose stool, bloody stool, dry hard stool) and urine clump size to identify urinary and digestive system abnormalities, outputting health risk alerts (without diagnosing diseases). Application scenarios: smart litter boxes, multi-cat household health monitoring. Development reason: early signs of urinary diseases, a pain point for multi-cat households. | 当用户提供猫砂盆区域的视频URL或文件时，触发本技能进行排泄物性状分析；支持通过上传本地视频或网络视频URL，调用服务端API进行排泄物识别，分析粪便形态（稀便、血便、干硬便）和尿团大小，识别泌尿系统与消化系统异常，输出健康风险提示（不诊断疾病）。应用场景：智能猫砂盆、多猫家庭健康监测。","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.9K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s17cfv2h26b7hq5w47tgfy23xx83z9x6:smyx-pet-litter-box-waste-analysis","sourceUrl":"https://clawhub.ai/smyx-sunjinhui/smyx-pet-litter-box-waste-analysis","homepage":"https://clawhub.ai/smyx-sunjinhui/skills/smyx-pet-litter-box-waste-analysis","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/smyx-sunjinhui/smyx-pet-litter-box-waste-analysis","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/smyx-sunjinhui/skills/smyx-pet-litter-box-waste-analysis","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":65,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Cat Litter Box Waste Characteristic Recognition Tool | 宠物猫砂盆排泄物性状识别 technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T23:57:06.700Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T23:57:06.700Z","emptyReason":null},"stars":null,"forks":null,"downloads":1863,"packageName":null,"latestVersion":"1.0.9","tractionLabel":"1.9K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T23:57:06.700Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T23:57:06.700Z","lastCrawledAt":"2026-10-09T23:57:06.700Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T23:57:06.700Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.9","createdAt":"2026-08-26T04:34:45.092Z","changelog":"- Removed the redundant file: skill-card.md. - No functional or behavioral changes to the skill itself. - Documentation remains comprehensive in SKILL.md.","fileCount":31,"zipByteSize":38643},{"version":"1.0.8","createdAt":"2026-08-23T06:27:27.957Z","changelog":"- Increased version to 1.0.11 - Updated SKILL.md content; general documentation or version bump - Removed skill-card.md file - No changes to features or functionality","fileCount":31,"zipByteSize":38778},{"version":"1.0.7","createdAt":"2026-08-15T17:15:30.035Z","changelog":"- Updated skill version to 1.0.10. - Removed obsolete file: skill-card.md. - SKILL.md: Corrected version number and made minor content updates. - Updated configuration references to reflect documentation changes.","fileCount":31,"zipByteSize":38719},{"version":"1.0.6","createdAt":"2026-08-05T10:58:29.196Z","changelog":"- Updated skill version to 1.0.9 in SKILL.md. - Removed the file skill-card.md. - No functional changes to scripts or capability—documentation/version update only.","fileCount":31,"zipByteSize":38702},{"version":"1.0.5","createdAt":"2026-08-01T06:33:32.805Z","changelog":"- Updated SKILL.md to reflect new version 1.0.8 (was 1.0.6) - Removed the skill-card.md file - Documentation changes only; no code or feature modifications - Improved clarity and version labeling in the skill documentation","fileCount":31,"zipByteSize":38623},{"version":"1.0.4","createdAt":"2026-07-18T19:22:32.676Z","changelog":"- Updated version number and metadata in SKILL.md. - Removed deprecated file: skill-card.md. - Made changes to utility script: skills/smyx_common/scripts/util.py. - Minor documentation and consistency improvements in SKILL.md.","fileCount":31,"zipByteSize":38685},{"version":"1.0.3","createdAt":"2026-07-09T02:13:27.068Z","changelog":"Version 1.0.5 - Updated version from 1.0.3 to 1.0.5. - Documentation and metadata updated in SKILL.md. - No user-facing feature or workflow changes.","fileCount":31,"zipByteSize":38661},{"version":"1.0.2","createdAt":"2026-07-03T07:29:28.972Z","changelog":"- Version bumped to 1.0.3. - Updated internal scripts in skills/smyx_common/scripts/dao.py and util.py. - Documentation improved in SKILL.md. - Removed redundant file skill-card.md.","fileCount":31,"zipByteSize":38338}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17cfv2h26b7hq5w47tgfy23xx83z9x6:smyx-pet-litter-box-waste-analysis","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s17cfv2h26b7hq5w47tgfy23xx83z9x6:smyx-pet-litter-box-waste-analysis` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/smyx-sunjinhui/smyx-pet-litter-box-waste-analysis before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-pet-litter-box-waste-analysis/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-pet-litter-box-waste-analysis/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-pet-litter-box-waste-analysis/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-pet-litter-box-waste-analysis/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-pet-litter-box-waste-analysis/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-pet-litter-box-waste-analysis/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T09:09:46.381Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-pet-litter-box-waste-analysis/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-pet-litter-box-waste-analysis/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-pet-litter-box-waste-analysis/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-pet-litter-box-waste-analysis/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T23:57:06.700Z","emptyReason":null},"readme":"Skill: Cat Litter Box Waste Characteristic Recognition Tool | 宠物猫砂盆排泄物性状识别\n\nOwner: smyx-sunjinhui\n\nSummary: Triggers when a user provides a cat litter box area video URL or file for analysis; supports local video uploads or network URLs to call server-side APIs for waste characteristic recognition, analyzing feces morphology (loose stool, bloody stool, dry hard stool) and urine clump size to identify urinary and digestive system abnormalities, outputting health risk alerts (without diagnosing diseases). Application scenarios: smart litter boxes, multi-cat household health monitoring. Development reason: early signs of urinary diseases, a pain point for multi-cat households. | 当用户提供猫砂盆区域的视频URL或文件时，触发本技能进行排泄物性状分析；支持通过上传本地视频或网络视频URL，调用服务端API进行排泄物识别，分析粪便形态（稀便、血便、干硬便）和尿团大小，识别泌尿系统与消化系统异常，输出健康风险提示（不诊断疾病）。应用场景：智能猫砂盆、多猫家庭健康监测。\n\nTags: latest:1.0.9\n\nVersion history:\n\nv1.0.9 | 2026-08-26T04:34:45.092Z | auto\n\n- Removed the redundant file: skill-card.md.\n- No functional or behavioral changes to the skill itself.\n- Documentation remains comprehensive in SKILL.md.\n\nv1.0.8 | 2026-08-23T06:27:27.957Z | auto\n\n- Increased version to 1.0.11\n- Updated SKILL.md content; general documentation or version bump\n- Removed skill-card.md file\n- No changes to features or functionality\n\nv1.0.7 | 2026-08-15T17:15:30.035Z | auto\n\n- Updated skill version to 1.0.10.\n- Removed obsolete file: skill-card.md.\n- SKILL.md: Corrected version number and made minor content updates.\n- Updated configuration references to reflect documentation changes.\n\nv1.0.6 | 2026-08-05T10:58:29.196Z | auto\n\n- Updated skill version to 1.0.9 in SKILL.md.\n- Removed the file skill-card.md.\n- No functional changes to scripts or capability—documentation/version update only.\n\nv1.0.5 | 2026-08-01T06:33:32.805Z | auto\n\n- Updated SKILL.md to reflect new version 1.0.8 (was 1.0.6)\n- Removed the skill-card.md file\n- Documentation changes only; no code or feature modifications\n- Improved clarity and version labeling in the skill documentation\n\nv1.0.4 | 2026-07-18T19:22:32.676Z | auto\n\n- Updated version number and metadata in SKILL.md.\n- Removed deprecated file: skill-card.md.\n- Made changes to utility script: skills/smyx_common/scripts/util.py.\n- Minor documentation and consistency improvements in SKILL.md.\n\nv1.0.3 | 2026-07-09T02:13:27.068Z | auto\n\nVersion 1.0.5\n\n- Updated version from 1.0.3 to 1.0.5.\n- Documentation and metadata updated in SKILL.md. \n- No user-facing feature or workflow changes.\n\nv1.0.2 | 2026-07-03T07:29:28.972Z | auto\n\n- Version bumped to 1.0.3.\n- Updated internal scripts in skills/smyx_common/scripts/dao.py and util.py.\n- Documentation improved in SKILL.md.\n- Removed redundant file skill-card.md.\n\nv1.0.1 | 2026-06-25T16:32:35.390Z | auto\n\n**Changelog for version 1.0.1:**\n\n- Streamlined user workflow: removed the requirement for users to provide or see open-id/身份参数; system now handles all identity linking internally.\n- Updated documentation to clarify that user identity is never requested or exposed, improving privacy and user experience.\n- Removed older/unneeded sample and API service script files.\n- Revised sample command usage and output formatting in documentation for clarity.\n- Improved internal logic for cloud-only historical report queries; local record lookup is now fully disabled.\n\nv1.0.0 | 2026-05-21T14:49:14.951Z | auto\n\n- Initial release of the pet litter box waste analysis skill.\n- Analyzes uploaded or URL-based cat litter box videos to detect feces morphology and urine clump size for health risk alerts.\n- Supports multi-cat household monitoring with structured observation reporting (not disease diagnosis).\n- Enforces strict open-id (user identity) acquisition before any analysis or report query.\n- Provides standardized Markdown report tables with direct links when showing historical results.\n- Only queries historical data from the cloud; does not use local or session data for history.\n\nArchive index:\n\nArchive v1.0.9: 31 files, 38643 bytes\n\nFiles: references/api_doc.md (630b), scripts/__init__.py (64b), scripts/config.py (671b), scripts/config.yaml (3b), scripts/skill.py (579b), scripts/smyx_pet_litter_box_waste_analysis.py (3551b), skill-card.md (2497b), SKILL.md (9796b), 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 (153b)\n\nFile v1.0.9:SKILL.md\n\n---\nname: \"smyx-pet-litter-box-waste-analysis\"\ndescription: \"Triggers when a user provides a cat litter box area video URL or file for analysis; supports local video uploads or network URLs to call server-side APIs for waste characteristic recognition, analyzing feces morphology (loose stool, bloody stool, dry hard stool) and urine clump size to identify urinary and digestive system abnormalities, outputting health risk alerts (without diagnosing diseases). Application scenarios: smart litter boxes, multi-cat household health monitoring. Development reason: early signs of urinary diseases, a pain point for multi-cat households. | 当用户提供猫砂盆区域的视频URL或文件时，触发本技能进行排泄物性状分析；支持通过上传本地视频或网络视频URL，调用服务端API进行排泄物识别，分析粪便形态（稀便、血便、干硬便）和尿团大小，识别泌尿系统与消化系统异常，输出健康风险提示（不诊断疾病）。应用场景：智能猫砂盆、多猫家庭健康监测。\"\nversion: \"1.0.11\"\nlicense: \"MIT-0\"\n---\n\n# 🚽 Pet Litter Box Waste Analysis | 宠物猫砂盆排泄物性状识别\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物猫砂盆排泄物性状识别** |\n| 🎯 核心目标 | 当用户提供猫砂盆区域的视频URL或文件时，触发本技能进行排泄物性状分析；支持通过上传本地视频或网络视频URL，调用服务端API进行排泄物识别，分析粪便形态（稀便、血便、干硬便）和尿团大小，识别泌尿系统与消化系统异常，输出健康风险提示（不诊断疾病）。应用场景：智能猫砂盆、多猫家庭健康监测。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_LITTER_BOX_WASTE_ANALYSIS` |\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\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供猫砂盆区域视频 URL 或文件需要分析时，默认触发本技能进行排泄物性状识别 |\n| 🔎 明确分析意图 | 当用户明确需要进行猫砂盆监测时，提及猫砂盆、猫咪排泄、粪便分析、尿团监测、泌尿系统异常、消化系统异常等关键词，并且上传了视频文件或者图片文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史排泄报告、历史猫砂盆报告、排泄物分析报告清单、排泄报告清单、查询历史排泄报告、显示所有猫砂盆报告、显示排泄物诊断报告，查询健康风险提示报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_pet_litter_box_waste_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_pet_litter_box_waste_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行排泄物性状分析 | 调用 `-m scripts.smyx_pet_litter_box_waste_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/bird/other，默认 cat | 按需填写 |\n| `--list` | 显示猫砂盆视频历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_pet_litter_box_waste_analysis.py`](scripts/smyx_pet_litter_box_waste_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 视频要求：支持 mp4/avi/mov 格式，最大 10MB |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供健康参考，不提供疾病诊断或治疗建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地猫砂盆视频\npython -m scripts.smyx_pet_litter_box_waste_analysis --input /path/to/litterbox_video.mp4 --pet-type cat\n\n# 分析网络猫砂盆视频\npython -m scripts.smyx_pet_litter_box_waste_analysis --url https://example.com/litterbox_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史排泄报告（自动触发关键词：查看历史排泄报告、历史报告、猫砂盆报告清单等）\npython -m scripts.smyx_pet_litter_box_waste_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_litter_box_waste_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_litter_box_waste_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.9:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-pet-litter-box-waste-analysis\",\n  \"version\": \"1.0.9\",\n  \"publishedAt\": 1787718885092\n}\n\nFile v1.0.9:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物健康分析 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动健康分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_PET_HEALTH_ANALYSIS` - 开放平台宠物健康分析\n\nFile v1.0.9:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.9:scripts/config.yaml\n\n{}\n\nFile v1.0.9:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.9:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.9:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.9:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: dev\n\nFile v1.0.9:skill-card.md\n\n## Description:\n\nAnalyzes cat litter box image or video inputs through cloud APIs to report waste characteristics, urine clump observations, health risk alerts, and report links without providing disease diagnosis or treatment advice.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, pet health monitoring teams, and smart litter box developers use this skill to process cat litter box media and retrieve structured observations about stool morphology, urine clump size, and historical reports. The output is for health monitoring and risk awareness, not veterinary diagnosis.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill sends litter-box media or video URLs, account-linked identifiers, and report metadata to configured backend services.\n\nMitigation: Review the backend destination and data handling expectations before use, and require user confirmation before first upload or cloud history lookup.\n\nRisk: The skill can silently create or reuse an identity and store local tokens in the workspace.\n\nMitigation: Document the identity and retention model, limit workspace access to trusted users, and clear local tokens when the skill is no longer needed.\n\nRisk: The skill defaults to development or private HTTP endpoints according to the security evidence.\n\nMitigation: Switch defaults to approved production HTTPS endpoints before deployment and verify endpoint configuration during review.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-pet-litter-box-waste-analysis)\n- [API Documentation](references/api_doc.md)\n- [SMYX Analysis API Documentation](skills/smyx_analysis/references/api_doc.md)\n- [Skill Demo](https://lifeemergence.com/sample.html)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, guidance, shell commands]\n\n**Output Format:** [Markdown and structured JSON-like text]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include cloud report history entries and report export links.]\n\n## Skill Version(s):\n\n1.0.9 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.9:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.9:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.8: 31 files, 38778 bytes\n\nFiles: references/api_doc.md (630b), scripts/__init__.py (64b), scripts/config.py (671b), scripts/config.yaml (3b), scripts/skill.py (579b), scripts/smyx_pet_litter_box_waste_analysis.py (3551b), skill-card.md (2839b), SKILL.md (9796b), 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 (153b)\n\nFile v1.0.8:SKILL.md\n\n---\nname: \"smyx-pet-litter-box-waste-analysis\"\ndescription: \"Triggers when a user provides a cat litter box area video URL or file for analysis; supports local video uploads or network URLs to call server-side APIs for waste characteristic recognition, analyzing feces morphology (loose stool, bloody stool, dry hard stool) and urine clump size to identify urinary and digestive system abnormalities, outputting health risk alerts (without diagnosing diseases). Application scenarios: smart litter boxes, multi-cat household health monitoring. Development reason: early signs of urinary diseases, a pain point for multi-cat households. | 当用户提供猫砂盆区域的视频URL或文件时，触发本技能进行排泄物性状分析；支持通过上传本地视频或网络视频URL，调用服务端API进行排泄物识别，分析粪便形态（稀便、血便、干硬便）和尿团大小，识别泌尿系统与消化系统异常，输出健康风险提示（不诊断疾病）。应用场景：智能猫砂盆、多猫家庭健康监测。\"\nversion: \"1.0.11\"\nlicense: \"MIT-0\"\n---\n\n# 🚽 Pet Litter Box Waste Analysis | 宠物猫砂盆排泄物性状识别\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物猫砂盆排泄物性状识别** |\n| 🎯 核心目标 | 当用户提供猫砂盆区域的视频URL或文件时，触发本技能进行排泄物性状分析；支持通过上传本地视频或网络视频URL，调用服务端API进行排泄物识别，分析粪便形态（稀便、血便、干硬便）和尿团大小，识别泌尿系统与消化系统异常，输出健康风险提示（不诊断疾病）。应用场景：智能猫砂盆、多猫家庭健康监测。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_LITTER_BOX_WASTE_ANALYSIS` |\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\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供猫砂盆区域视频 URL 或文件需要分析时，默认触发本技能进行排泄物性状识别 |\n| 🔎 明确分析意图 | 当用户明确需要进行猫砂盆监测时，提及猫砂盆、猫咪排泄、粪便分析、尿团监测、泌尿系统异常、消化系统异常等关键词，并且上传了视频文件或者图片文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史排泄报告、历史猫砂盆报告、排泄物分析报告清单、排泄报告清单、查询历史排泄报告、显示所有猫砂盆报告、显示排泄物诊断报告，查询健康风险提示报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_pet_litter_box_waste_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_pet_litter_box_waste_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行排泄物性状分析 | 调用 `-m scripts.smyx_pet_litter_box_waste_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/bird/other，默认 cat | 按需填写 |\n| `--list` | 显示猫砂盆视频历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_pet_litter_box_waste_analysis.py`](scripts/smyx_pet_litter_box_waste_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 视频要求：支持 mp4/avi/mov 格式，最大 10MB |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供健康参考，不提供疾病诊断或治疗建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地猫砂盆视频\npython -m scripts.smyx_pet_litter_box_waste_analysis --input /path/to/litterbox_video.mp4 --pet-type cat\n\n# 分析网络猫砂盆视频\npython -m scripts.smyx_pet_litter_box_waste_analysis --url https://example.com/litterbox_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史排泄报告（自动触发关键词：查看历史排泄报告、历史报告、猫砂盆报告清单等）\npython -m scripts.smyx_pet_litter_box_waste_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_litter_box_waste_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_litter_box_waste_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.8:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-pet-litter-box-waste-analysis\",\n  \"version\": \"1.0.8\",\n  \"publishedAt\": 1787466447957\n}\n\nFile v1.0.8:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物健康分析 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动健康分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_PET_HEALTH_ANALYSIS` - 开放平台宠物健康分析\n\nFile v1.0.8:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.8:scripts/config.yaml\n\n{}\n\nFile v1.0.8:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.8:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.8:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.8:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: dev\n\nFile v1.0.8:skill-card.md\n\n## Description:\n\nAnalyzes cat litter-box images or videos via cloud APIs to report stool characteristics, urine clump size, trends, and health risk alerts without providing disease diagnosis or treatment advice.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to analyze cat litter-box media for structured observations about feces morphology, urine clump size, report history, and non-diagnostic health risk alerts for smart litter boxes and multi-cat household monitoring.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Uploaded litter-box media, supplied video URLs, identity data, and report history may be sent to third-party cloud services.\n\nMitigation: Use only with explicit consent for cloud processing, avoid private household footage unless the data handling is acceptable, and document retention and account-linking expectations before deployment.\n\nRisk: The skill silently creates or reuses local identities and persists tokens in the workspace data directory.\n\nMitigation: Review local identity and token storage before installation, isolate the workspace for sensitive use, and rotate or remove stored credentials when access is no longer needed.\n\nRisk: History retrieval can expose prior analysis reports associated with the active identity.\n\nMitigation: Limit history queries to authorized users and confirm the active identity before retrieving report lists.\n\nRisk: The output provides health risk alerts that could be mistaken for veterinary diagnosis.\n\nMitigation: Present results as observations only and direct users to qualified veterinary care for diagnosis or treatment decisions.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-pet-litter-box-waste-analysis)\n- [API Documentation](references/api_doc.md)\n- [Analysis API Documentation](skills/smyx_analysis/references/api_doc.md)\n- [Skill Demo](https://lifeemergence.com/sample.html)\n\n## Skill Output:\n\n**Output Type(s):** [analysis, markdown, JSON, shell commands, guidance]\n\n**Output Format:** [Markdown and JSON-formatted structured analysis text, with optional report links and shell command examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May save analysis output to a file when an output path is provided.]\n\n## Skill Version(s):\n\n1.0.8 (source: server release metadata; artifact frontmatter reports 1.0.11)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.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, 38719 bytes\n\nFiles: references/api_doc.md (630b), scripts/__init__.py (64b), scripts/config.py (671b), scripts/config.yaml (3b), scripts/skill.py (579b), scripts/smyx_pet_litter_box_waste_analysis.py (3551b), skill-card.md (2560b), SKILL.md (9796b), 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 (153b)\n\nFile v1.0.7:SKILL.md\n\n---\nname: \"smyx-pet-litter-box-waste-analysis\"\ndescription: \"Triggers when a user provides a cat litter box area video URL or file for analysis; supports local video uploads or network URLs to call server-side APIs for waste characteristic recognition, analyzing feces morphology (loose stool, bloody stool, dry hard stool) and urine clump size to identify urinary and digestive system abnormalities, outputting health risk alerts (without diagnosing diseases). Application scenarios: smart litter boxes, multi-cat household health monitoring. Development reason: early signs of urinary diseases, a pain point for multi-cat households. | 当用户提供猫砂盆区域的视频URL或文件时，触发本技能进行排泄物性状分析；支持通过上传本地视频或网络视频URL，调用服务端API进行排泄物识别，分析粪便形态（稀便、血便、干硬便）和尿团大小，识别泌尿系统与消化系统异常，输出健康风险提示（不诊断疾病）。应用场景：智能猫砂盆、多猫家庭健康监测。\"\nversion: \"1.0.10\"\nlicense: \"MIT-0\"\n---\n\n# 🚽 Pet Litter Box Waste Analysis | 宠物猫砂盆排泄物性状识别\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物猫砂盆排泄物性状识别** |\n| 🎯 核心目标 | 当用户提供猫砂盆区域的视频URL或文件时，触发本技能进行排泄物性状分析；支持通过上传本地视频或网络视频URL，调用服务端API进行排泄物识别，分析粪便形态（稀便、血便、干硬便）和尿团大小，识别泌尿系统与消化系统异常，输出健康风险提示（不诊断疾病）。应用场景：智能猫砂盆、多猫家庭健康监测。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_LITTER_BOX_WASTE_ANALYSIS` |\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\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供猫砂盆区域视频 URL 或文件需要分析时，默认触发本技能进行排泄物性状识别 |\n| 🔎 明确分析意图 | 当用户明确需要进行猫砂盆监测时，提及猫砂盆、猫咪排泄、粪便分析、尿团监测、泌尿系统异常、消化系统异常等关键词，并且上传了视频文件或者图片文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史排泄报告、历史猫砂盆报告、排泄物分析报告清单、排泄报告清单、查询历史排泄报告、显示所有猫砂盆报告、显示排泄物诊断报告，查询健康风险提示报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_pet_litter_box_waste_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_pet_litter_box_waste_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行排泄物性状分析 | 调用 `-m scripts.smyx_pet_litter_box_waste_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/bird/other，默认 cat | 按需填写 |\n| `--list` | 显示猫砂盆视频历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_pet_litter_box_waste_analysis.py`](scripts/smyx_pet_litter_box_waste_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 视频要求：支持 mp4/avi/mov 格式，最大 10MB |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供健康参考，不提供疾病诊断或治疗建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地猫砂盆视频\npython -m scripts.smyx_pet_litter_box_waste_analysis --input /path/to/litterbox_video.mp4 --pet-type cat\n\n# 分析网络猫砂盆视频\npython -m scripts.smyx_pet_litter_box_waste_analysis --url https://example.com/litterbox_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史排泄报告（自动触发关键词：查看历史排泄报告、历史报告、猫砂盆报告清单等）\npython -m scripts.smyx_pet_litter_box_waste_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_litter_box_waste_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_litter_box_waste_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.7:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-pet-litter-box-waste-analysis\",\n  \"version\": \"1.0.7\",\n  \"publishedAt\": 1786814130035\n}\n\nFile v1.0.7:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物健康分析 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动健康分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_PET_HEALTH_ANALYSIS` - 开放平台宠物健康分析\n\nFile v1.0.7:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.7:scripts/config.yaml\n\n{}\n\nFile v1.0.7:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.7:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.7:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.7:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: dev\n\nFile v1.0.7:skill-card.md\n\n## Description:\n\nAnalyzes cat litter box images or videos by calling remote APIs to identify feces morphology and urine clump characteristics, returning structured observation reports and health risk alerts without disease diagnosis.\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 analyze cat litter box media for waste characteristics, urine clump size, and trend-oriented health observations. The output is intended for monitoring and risk awareness, not veterinary diagnosis or treatment guidance.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Uploaded household pet media or supplied media URLs may be sent to remote services.\n\nMitigation: Confirm the intended backend, consent model, and data-retention policy before use.\n\nRisk: The skill can automatically create or reuse an identity and store authentication tokens in a local workspace database.\n\nMitigation: Run in a controlled workspace, restrict local database access, and clear stored credentials when no longer needed.\n\nRisk: Default development configuration references private HTTP 192.168.1.234 endpoints.\n\nMitigation: Review configuration before installation and set trusted production endpoints before processing media.\n\nRisk: History queries retrieve prior analysis reports from cloud APIs.\n\nMitigation: Verify the user or account scope before listing reports and avoid exposing internal identity values.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-pet-litter-box-waste-analysis)\n- [Skill demo](https://lifeemergence.com/sample.html)\n- [API interface documentation](references/api_doc.md)\n- [Shared analysis API documentation](skills/smyx_analysis/references/api_doc.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, json, guidance]\n\n**Output Format:** [Markdown report or JSON-formatted structured analysis and history list]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include remote report links; does not diagnose disease.]\n\n## Skill Version(s):\n\n1.0.7 (source: server release metadata; artifact frontmatter says 1.0.10)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.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, 38702 bytes\n\nFiles: references/api_doc.md (630b), scripts/__init__.py (64b), scripts/config.py (671b), scripts/config.yaml (3b), scripts/skill.py (579b), scripts/smyx_pet_litter_box_waste_analysis.py (3551b), skill-card.md (2589b), SKILL.md (9795b), 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 (153b)\n\nFile v1.0.6:SKILL.md\n\n---\nname: \"smyx-pet-litter-box-waste-analysis\"\ndescription: \"Triggers when a user provides a cat litter box area video URL or file for analysis; supports local video uploads or network URLs to call server-side APIs for waste characteristic recognition, analyzing feces morphology (loose stool, bloody stool, dry hard stool) and urine clump size to identify urinary and digestive system abnormalities, outputting health risk alerts (without diagnosing diseases). Application scenarios: smart litter boxes, multi-cat household health monitoring. Development reason: early signs of urinary diseases, a pain point for multi-cat households. | 当用户提供猫砂盆区域的视频URL或文件时，触发本技能进行排泄物性状分析；支持通过上传本地视频或网络视频URL，调用服务端API进行排泄物识别，分析粪便形态（稀便、血便、干硬便）和尿团大小，识别泌尿系统与消化系统异常，输出健康风险提示（不诊断疾病）。应用场景：智能猫砂盆、多猫家庭健康监测。\"\nversion: \"1.0.9\"\nlicense: \"MIT-0\"\n---\n\n# 🚽 Pet Litter Box Waste Analysis | 宠物猫砂盆排泄物性状识别\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物猫砂盆排泄物性状识别** |\n| 🎯 核心目标 | 当用户提供猫砂盆区域的视频URL或文件时，触发本技能进行排泄物性状分析；支持通过上传本地视频或网络视频URL，调用服务端API进行排泄物识别，分析粪便形态（稀便、血便、干硬便）和尿团大小，识别泌尿系统与消化系统异常，输出健康风险提示（不诊断疾病）。应用场景：智能猫砂盆、多猫家庭健康监测。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_LITTER_BOX_WASTE_ANALYSIS` |\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\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供猫砂盆区域视频 URL 或文件需要分析时，默认触发本技能进行排泄物性状识别 |\n| 🔎 明确分析意图 | 当用户明确需要进行猫砂盆监测时，提及猫砂盆、猫咪排泄、粪便分析、尿团监测、泌尿系统异常、消化系统异常等关键词，并且上传了视频文件或者图片文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史排泄报告、历史猫砂盆报告、排泄物分析报告清单、排泄报告清单、查询历史排泄报告、显示所有猫砂盆报告、显示排泄物诊断报告，查询健康风险提示报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_pet_litter_box_waste_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_pet_litter_box_waste_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行排泄物性状分析 | 调用 `-m scripts.smyx_pet_litter_box_waste_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/bird/other，默认 cat | 按需填写 |\n| `--list` | 显示猫砂盆视频历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_pet_litter_box_waste_analysis.py`](scripts/smyx_pet_litter_box_waste_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 视频要求：支持 mp4/avi/mov 格式，最大 10MB |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供健康参考，不提供疾病诊断或治疗建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地猫砂盆视频\npython -m scripts.smyx_pet_litter_box_waste_analysis --input /path/to/litterbox_video.mp4 --pet-type cat\n\n# 分析网络猫砂盆视频\npython -m scripts.smyx_pet_litter_box_waste_analysis --url https://example.com/litterbox_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史排泄报告（自动触发关键词：查看历史排泄报告、历史报告、猫砂盆报告清单等）\npython -m scripts.smyx_pet_litter_box_waste_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_litter_box_waste_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_litter_box_waste_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-pet-litter-box-waste-analysis\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1785927509196\n}\n\nFile v1.0.6:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物健康分析 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动健康分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_PET_HEALTH_ANALYSIS` - 开放平台宠物健康分析\n\nFile v1.0.6:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.6:scripts/config.yaml\n\n{}\n\nFile v1.0.6:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.6:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.6:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.6:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.6:skill-card.md\n\n## Description:\n\nAnalyzes cat litter-box images, videos, local files, or URLs with a cloud service to produce structured observations about feces morphology, urine clump size, and health risk alerts without diagnosing disease.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to analyze cat litter-box media for standardized waste-characteristic observations, monitoring trends, and report links. It is intended for smart litter boxes and multi-cat household health monitoring, with outputs framed as health references rather than diagnosis or treatment advice.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Litter-box media or URLs are sent to the configured cloud service for analysis.\n\nMitigation: Use the skill only when cloud processing of the media is acceptable and review the service's retention and deletion practices before sharing sensitive content.\n\nRisk: The skill can silently create or reuse a persistent local or backend identity and tokens.\n\nMitigation: Review token storage and identity behavior before installation, and prefer a release that asks before account creation or clearly documents token lifecycle controls.\n\nRisk: History lookup can retrieve cloud-hosted reports associated with the resolved identity.\n\nMitigation: Run history lookup only when report retrieval is expected, and verify that users understand which account or identity is being queried.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-pet-litter-box-waste-analysis)\n- [API interface documentation](artifact/references/api_doc.md)\n- [Skill usage demo](https://lifeemergence.com/sample.html)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown and text reports, with optional JSON-oriented detail and shell command examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include structured observations, health risk alerts, recommendations, history tables, and report links.]\n\n## Skill Version(s):\n\n1.0.6 (source: server release metadata; SKILL.md 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, 38623 bytes\n\nFiles: references/api_doc.md (630b), scripts/__init__.py (64b), scripts/config.py (671b), scripts/config.yaml (3b), scripts/skill.py (579b), scripts/smyx_pet_litter_box_waste_analysis.py (3551b), skill-card.md (2507b), SKILL.md (9795b), 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 (153b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: \"smyx-pet-litter-box-waste-analysis\"\ndescription: \"Triggers when a user provides a cat litter box area video URL or file for analysis; supports local video uploads or network URLs to call server-side APIs for waste characteristic recognition, analyzing feces morphology (loose stool, bloody stool, dry hard stool) and urine clump size to identify urinary and digestive system abnormalities, outputting health risk alerts (without diagnosing diseases). Application scenarios: smart litter boxes, multi-cat household health monitoring. Development reason: early signs of urinary diseases, a pain point for multi-cat households. | 当用户提供猫砂盆区域的视频URL或文件时，触发本技能进行排泄物性状分析；支持通过上传本地视频或网络视频URL，调用服务端API进行排泄物识别，分析粪便形态（稀便、血便、干硬便）和尿团大小，识别泌尿系统与消化系统异常，输出健康风险提示（不诊断疾病）。应用场景：智能猫砂盆、多猫家庭健康监测。\"\nversion: \"1.0.8\"\nlicense: \"MIT-0\"\n---\n\n# 🚽 Pet Litter Box Waste Analysis | 宠物猫砂盆排泄物性状识别\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物猫砂盆排泄物性状识别** |\n| 🎯 核心目标 | 当用户提供猫砂盆区域的视频URL或文件时，触发本技能进行排泄物性状分析；支持通过上传本地视频或网络视频URL，调用服务端API进行排泄物识别，分析粪便形态（稀便、血便、干硬便）和尿团大小，识别泌尿系统与消化系统异常，输出健康风险提示（不诊断疾病）。应用场景：智能猫砂盆、多猫家庭健康监测。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_LITTER_BOX_WASTE_ANALYSIS` |\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\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供猫砂盆区域视频 URL 或文件需要分析时，默认触发本技能进行排泄物性状识别 |\n| 🔎 明确分析意图 | 当用户明确需要进行猫砂盆监测时，提及猫砂盆、猫咪排泄、粪便分析、尿团监测、泌尿系统异常、消化系统异常等关键词，并且上传了视频文件或者图片文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史排泄报告、历史猫砂盆报告、排泄物分析报告清单、排泄报告清单、查询历史排泄报告、显示所有猫砂盆报告、显示排泄物诊断报告，查询健康风险提示报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_pet_litter_box_waste_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_pet_litter_box_waste_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行排泄物性状分析 | 调用 `-m scripts.smyx_pet_litter_box_waste_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/bird/other，默认 cat | 按需填写 |\n| `--list` | 显示猫砂盆视频历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_pet_litter_box_waste_analysis.py`](scripts/smyx_pet_litter_box_waste_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 视频要求：支持 mp4/avi/mov 格式，最大 10MB |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供健康参考，不提供疾病诊断或治疗建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地猫砂盆视频\npython -m scripts.smyx_pet_litter_box_waste_analysis --input /path/to/litterbox_video.mp4 --pet-type cat\n\n# 分析网络猫砂盆视频\npython -m scripts.smyx_pet_litter_box_waste_analysis --url https://example.com/litterbox_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史排泄报告（自动触发关键词：查看历史排泄报告、历史报告、猫砂盆报告清单等）\npython -m scripts.smyx_pet_litter_box_waste_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_litter_box_waste_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_litter_box_waste_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-pet-litter-box-waste-analysis\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1785566012805\n}\n\nFile v1.0.5:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物健康分析 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动健康分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_PET_HEALTH_ANALYSIS` - 开放平台宠物健康分析\n\nFile v1.0.5:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.5:scripts/config.yaml\n\n{}\n\nFile v1.0.5:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.5:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.5:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.5:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.5:skill-card.md\n\n## Description: <br>\nAnalyzes cat litter box images, video files, or video URLs through LifeEmergence cloud APIs to produce structured observations about feces morphology, urine clump size, related health risk alerts, and historical report links without diagnosing disease. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to submit cat litter box media or URLs for waste characteristic recognition and to retrieve cloud-hosted historical analysis reports. It is intended for health monitoring and risk alerts, not disease diagnosis or treatment advice. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Litter-box media or URLs and report metadata are sent to LifeEmergence cloud services. <br>\nMitigation: Use the skill only when that transfer is acceptable, and avoid submitting sensitive local files or private URLs. <br>\nRisk: The skill may create or reuse a workspace identity and store service tokens in a local SQLite database. <br>\nMitigation: Avoid shared workspaces unless this identity and token retention behavior is acceptable, and review local data retention before installation. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-pet-litter-box-waste-analysis) <br>\n- [API interface reference](references/api_doc.md) <br>\n- [Analysis API reference](skills/smyx_analysis/references/api_doc.md) <br>\n- [Skill usage demo](https://lifeemergence.com/sample.html) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, JSON, Shell commands, Guidance] <br>\n**Output Format:** [Markdown or JSON analysis report with structured observations, risk alerts, suggestions, and report links] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Accepts local mp4, avi, or mov files up to 10MB or public video URLs; historical reports are retrieved from cloud APIs.] <br>\n\n## Skill Version(s): <br>\n1.0.5 (source: server release evidence; artifact SKILL.md frontmatter reports 1.0.8) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.5:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.5:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.4: 31 files, 38685 bytes\n\nFiles: references/api_doc.md (630b), scripts/__init__.py (64b), scripts/config.py (671b), scripts/config.yaml (3b), scripts/skill.py (579b), scripts/smyx_pet_litter_box_waste_analysis.py (3551b), skill-card.md (2590b), SKILL.md (9795b), 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 (153b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: \"smyx-pet-litter-box-waste-analysis\"\ndescription: \"Triggers when a user provides a cat litter box area video URL or file for analysis; supports local video uploads or network URLs to call server-side APIs for waste characteristic recognition, analyzing feces morphology (loose stool, bloody stool, dry hard stool) and urine clump size to identify urinary and digestive system abnormalities, outputting health risk alerts (without diagnosing diseases). Application scenarios: smart litter boxes, multi-cat household health monitoring. Development reason: early signs of urinary diseases, a pain point for multi-cat households. | 当用户提供猫砂盆区域的视频URL或文件时，触发本技能进行排泄物性状分析；支持通过上传本地视频或网络视频URL，调用服务端API进行排泄物识别，分析粪便形态（稀便、血便、干硬便）和尿团大小，识别泌尿系统与消化系统异常，输出健康风险提示（不诊断疾病）。应用场景：智能猫砂盆、多猫家庭健康监测。\"\nversion: \"1.0.6\"\nlicense: \"MIT-0\"\n---\n\n# 🚽 Pet Litter Box Waste Analysis | 宠物猫砂盆排泄物性状识别\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物猫砂盆排泄物性状识别** |\n| 🎯 核心目标 | 当用户提供猫砂盆区域的视频URL或文件时，触发本技能进行排泄物性状分析；支持通过上传本地视频或网络视频URL，调用服务端API进行排泄物识别，分析粪便形态（稀便、血便、干硬便）和尿团大小，识别泌尿系统与消化系统异常，输出健康风险提示（不诊断疾病）。应用场景：智能猫砂盆、多猫家庭健康监测。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_LITTER_BOX_WASTE_ANALYSIS` |\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\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供猫砂盆区域视频 URL 或文件需要分析时，默认触发本技能进行排泄物性状识别 |\n| 🔎 明确分析意图 | 当用户明确需要进行猫砂盆监测时，提及猫砂盆、猫咪排泄、粪便分析、尿团监测、泌尿系统异常、消化系统异常等关键词，并且上传了视频文件或者图片文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史排泄报告、历史猫砂盆报告、排泄物分析报告清单、排泄报告清单、查询历史排泄报告、显示所有猫砂盆报告、显示排泄物诊断报告，查询健康风险提示报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_pet_litter_box_waste_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_pet_litter_box_waste_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行排泄物性状分析 | 调用 `-m scripts.smyx_pet_litter_box_waste_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/bird/other，默认 cat | 按需填写 |\n| `--list` | 显示猫砂盆视频历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_pet_litter_box_waste_analysis.py`](scripts/smyx_pet_litter_box_waste_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 视频要求：支持 mp4/avi/mov 格式，最大 10MB |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供健康参考，不提供疾病诊断或治疗建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地猫砂盆视频\npython -m scripts.smyx_pet_litter_box_waste_analysis --input /path/to/litterbox_video.mp4 --pet-type cat\n\n# 分析网络猫砂盆视频\npython -m scripts.smyx_pet_litter_box_waste_analysis --url https://example.com/litterbox_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史排泄报告（自动触发关键词：查看历史排泄报告、历史报告、猫砂盆报告清单等）\npython -m scripts.smyx_pet_litter_box_waste_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_litter_box_waste_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_litter_box_waste_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-pet-litter-box-waste-analysis\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1784402552676\n}\n\nFile v1.0.4:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物健康分析 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动健康分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_PET_HEALTH_ANALYSIS` - 开放平台宠物健康分析\n\nFile v1.0.4:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.4:scripts/config.yaml\n\n{}\n\nFile v1.0.4:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.4:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.4:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.4:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.4:skill-card.md\n\n## Description: <br>\nAnalyzes cat litter box image or video inputs through LifeEmergence/Smyx cloud APIs to produce structured observations about feces morphology, urine clump size, and health-risk alerts without disease diagnosis. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to submit cat litter box videos or URLs for waste characteristic analysis, smart litter box monitoring, and multi-cat household health trend review. It returns observations and risk prompts rather than veterinary diagnosis or treatment advice. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Litter-box videos or video URLs are sent to LifeEmergence/Smyx cloud services for analysis. <br>\nMitigation: Install only when users accept that cloud transfer; avoid submitting sensitive media and confirm service terms before production use. <br>\nRisk: The skill can silently create or reuse an internal identity and use it for report retrieval. <br>\nMitigation: Require explicit user or workspace approval for identity creation and history lookup before enabling the skill. <br>\nRisk: Tokens may be stored in a workspace SQLite database for later API calls. <br>\nMitigation: Limit workspace access, rotate credentials if exposed, and prefer an updated release with explicit token storage and deletion controls. <br>\n\n\n## Reference(s): <br>\n- [API interface documentation](references/api_doc.md) <br>\n- [Skill usage demo](https://lifeemergence.com/sample.html) <br>\n- [ClawHub skill release page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-pet-litter-box-waste-analysis) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, json, shell commands, guidance] <br>\n**Output Format:** [Markdown or JSON analysis reports with optional saved text output] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May include structured observations, risk prompts, suggestions, report links, and historical report lists from cloud APIs.] <br>\n\n## Skill Version(s): <br>\n1.0.4 (source: server release metadata; artifact frontmatter reports 1.0.6) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.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, 38661 bytes\n\nFiles: references/api_doc.md (630b), scripts/__init__.py (64b), scripts/config.py (671b), scripts/config.yaml (3b), scripts/skill.py (579b), scripts/smyx_pet_litter_box_waste_analysis.py (3551b), skill-card.md (2849b), SKILL.md (9795b), 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 (153b)\n\nFile v1.0.3:SKILL.md\n\n---\nname: \"smyx-pet-litter-box-waste-analysis\"\ndescription: \"Triggers when a user provides a cat litter box area video URL or file for analysis; supports local video uploads or network URLs to call server-side APIs for waste characteristic recognition, analyzing feces morphology (loose stool, bloody stool, dry hard stool) and urine clump size to identify urinary and digestive system abnormalities, outputting health risk alerts (without diagnosing diseases). Application scenarios: smart litter boxes, multi-cat household health monitoring. Development reason: early signs of urinary diseases, a pain point for multi-cat households. | 当用户提供猫砂盆区域的视频URL或文件时，触发本技能进行排泄物性状分析；支持通过上传本地视频或网络视频URL，调用服务端API进行排泄物识别，分析粪便形态（稀便、血便、干硬便）和尿团大小，识别泌尿系统与消化系统异常，输出健康风险提示（不诊断疾病）。应用场景：智能猫砂盆、多猫家庭健康监测。\"\nversion: \"1.0.5\"\nlicense: \"MIT-0\"\n---\n\n# 🚽 Pet Litter Box Waste Analysis | 宠物猫砂盆排泄物性状识别\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物猫砂盆排泄物性状识别** |\n| 🎯 核心目标 | 当用户提供猫砂盆区域的视频URL或文件时，触发本技能进行排泄物性状分析；支持通过上传本地视频或网络视频URL，调用服务端API进行排泄物识别，分析粪便形态（稀便、血便、干硬便）和尿团大小，识别泌尿系统与消化系统异常，输出健康风险提示（不诊断疾病）。应用场景：智能猫砂盆、多猫家庭健康监测。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_LITTER_BOX_WASTE_ANALYSIS` |\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\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供猫砂盆区域视频 URL 或文件需要分析时，默认触发本技能进行排泄物性状识别 |\n| 🔎 明确分析意图 | 当用户明确需要进行猫砂盆监测时，提及猫砂盆、猫咪排泄、粪便分析、尿团监测、泌尿系统异常、消化系统异常等关键词，并且上传了视频文件或者图片文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史排泄报告、历史猫砂盆报告、排泄物分析报告清单、排泄报告清单、查询历史排泄报告、显示所有猫砂盆报告、显示排泄物诊断报告，查询健康风险提示报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_pet_litter_box_waste_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_pet_litter_box_waste_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行排泄物性状分析 | 调用 `-m scripts.smyx_pet_litter_box_waste_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/bird/other，默认 cat | 按需填写 |\n| `--list` | 显示猫砂盆视频历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_pet_litter_box_waste_analysis.py`](scripts/smyx_pet_litter_box_waste_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 视频要求：支持 mp4/avi/mov 格式，最大 10MB |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供健康参考，不提供疾病诊断或治疗建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地猫砂盆视频\npython -m scripts.smyx_pet_litter_box_waste_analysis --input /path/to/litterbox_video.mp4 --pet-type cat\n\n# 分析网络猫砂盆视频\npython -m scripts.smyx_pet_litter_box_waste_analysis --url https://example.com/litterbox_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史排泄报告（自动触发关键词：查看历史排泄报告、历史报告、猫砂盆报告清单等）\npython -m scripts.smyx_pet_litter_box_waste_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_litter_box_waste_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_litter_box_waste_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-pet-litter-box-waste-analysis\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1783563207068\n}\n\nFile v1.0.3:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物健康分析 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动健康分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_PET_HEALTH_ANALYSIS` - 开放平台宠物健康分析\n\nFile v1.0.3:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.3:scripts/config.yaml\n\n{}\n\nFile v1.0.3:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.3:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.3:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.3:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.3:skill-card.md\n\n## Description: <br>\nAnalyzes cat litter box images or videos to identify stool characteristics, urine clump size, trends, and health-risk alerts without diagnosing disease. <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-health monitoring teams, and smart-litter-box developers use this skill to analyze cat litter box media, produce structured observations about feces and urine clumps, and retrieve historical cloud reports for ongoing monitoring. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Litter-box media or media URLs are sent to the Life Emergence/Smyx cloud service for analysis. <br>\nMitigation: Install and use the skill only when cloud processing of this media is acceptable for the user and organization. <br>\nRisk: Reports may be tied to a persistent internal identity that is automatically reused. <br>\nMitigation: Review the identity behavior before deployment and clear workspace identity data when persistent report association is not desired. <br>\nRisk: Reusable backend tokens may be stored in workspace files such as smyx-api-key.txt. <br>\nMitigation: Review or remove stored token material before sharing, archiving, or reusing the workspace. <br>\nRisk: The skill returns health-risk alerts but is not a disease diagnosis or treatment tool. <br>\nMitigation: Present outputs as observations for health monitoring and route medical concerns to a veterinarian. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-pet-litter-box-waste-analysis) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n- [API documentation](references/api_doc.md) <br>\n- [Analysis API documentation](skills/smyx_analysis/references/api_doc.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, json, shell commands, guidance] <br>\n**Output Format:** [Markdown or JSON analysis reports, including structured observations, health-risk alerts, suggestions, report links, and historical report tables.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Supports local media files, network media URLs, cat/dog/other pet type selection, basic/standard/json detail levels, optional file output, and historical report listing.] <br>\n\n## Skill Version(s): <br>\n1.0.3 (source: server release metadata; SKILL.md 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.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, 38338 bytes\n\nFiles: references/api_doc.md (630b), scripts/__init__.py (64b), scripts/config.py (671b), scripts/config.yaml (3b), scripts/skill.py (579b), scripts/smyx_pet_litter_box_waste_analysis.py (3551b), skill-card.md (2632b), SKILL.md (9795b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (22801b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28605b), _meta.json (153b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: \"smyx-pet-litter-box-waste-analysis\"\ndescription: \"Triggers when a user provides a cat litter box area video URL or file for analysis; supports local video uploads or network URLs to call server-side APIs for waste characteristic recognition, analyzing feces morphology (loose stool, bloody stool, dry hard stool) and urine clump size to identify urinary and digestive system abnormalities, outputting health risk alerts (without diagnosing diseases). Application scenarios: smart litter boxes, multi-cat household health monitoring. Development reason: early signs of urinary diseases, a pain point for multi-cat households. | 当用户提供猫砂盆区域的视频URL或文件时，触发本技能进行排泄物性状分析；支持通过上传本地视频或网络视频URL，调用服务端API进行排泄物识别，分析粪便形态（稀便、血便、干硬便）和尿团大小，识别泌尿系统与消化系统异常，输出健康风险提示（不诊断疾病）。应用场景：智能猫砂盆、多猫家庭健康监测。\"\nversion: \"1.0.3\"\nlicense: \"MIT-0\"\n---\n\n# 🚽 Pet Litter Box Waste Analysis | 宠物猫砂盆排泄物性状识别\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物猫砂盆排泄物性状识别** |\n| 🎯 核心目标 | 当用户提供猫砂盆区域的视频URL或文件时，触发本技能进行排泄物性状分析；支持通过上传本地视频或网络视频URL，调用服务端API进行排泄物识别，分析粪便形态（稀便、血便、干硬便）和尿团大小，识别泌尿系统与消化系统异常，输出健康风险提示（不诊断疾病）。应用场景：智能猫砂盆、多猫家庭健康监测。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_LITTER_BOX_WASTE_ANALYSIS` |\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\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供猫砂盆区域视频 URL 或文件需要分析时，默认触发本技能进行排泄物性状识别 |\n| 🔎 明确分析意图 | 当用户明确需要进行猫砂盆监测时，提及猫砂盆、猫咪排泄、粪便分析、尿团监测、泌尿系统异常、消化系统异常等关键词，并且上传了视频文件或者图片文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史排泄报告、历史猫砂盆报告、排泄物分析报告清单、排泄报告清单、查询历史排泄报告、显示所有猫砂盆报告、显示排泄物诊断报告，查询健康风险提示报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_pet_litter_box_waste_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_pet_litter_box_waste_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行排泄物性状分析 | 调用 `-m scripts.smyx_pet_litter_box_waste_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/bird/other，默认 cat | 按需填写 |\n| `--list` | 显示猫砂盆视频历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_pet_litter_box_waste_analysis.py`](scripts/smyx_pet_litter_box_waste_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 视频要求：支持 mp4/avi/mov 格式，最大 10MB |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供健康参考，不提供疾病诊断或治疗建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地猫砂盆视频\npython -m scripts.smyx_pet_litter_box_waste_analysis --input /path/to/litterbox_video.mp4 --pet-type cat\n\n# 分析网络猫砂盆视频\npython -m scripts.smyx_pet_litter_box_waste_analysis --url https://example.com/litterbox_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史排泄报告（自动触发关键词：查看历史排泄报告、历史报告、猫砂盆报告清单等）\npython -m scripts.smyx_pet_litter_box_waste_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_litter_box_waste_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_litter_box_waste_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-pet-litter-box-waste-analysis\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1783063768972\n}\n\nFile v1.0.2:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放宠物健康分析 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动健康分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_PET_HEALTH_ANALYSIS` - 开放平台宠物健康分析\n\nFile v1.0.2:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.2:scripts/config.yaml\n\n{}\n\nFile v1.0.2:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.2:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.2:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.2:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.2:skill-card.md\n\n## Description: <br>\nAnalyzes cat litter box image or video inputs through a cloud API to recognize waste characteristics such as stool morphology and urine clump size, then returns non-diagnostic health risk observations and report links. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to submit cat litter box videos or URLs for structured pet waste observations, risk alerts, and historical report lookup. It is intended for smart litter boxes and multi-cat household health monitoring, not disease diagnosis or treatment advice. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can upload cat litter-box images, videos, or provided URLs to the Life Emergence/SMYX cloud service. <br>\nMitigation: Use it only with footage or URLs that are acceptable to share with that cloud service; avoid private household footage or signed/private URLs unless that sharing is approved. <br>\nRisk: The skill can silently create or reuse local account identity and store tokens locally. <br>\nMitigation: Review the workspace data directory for stored identity or token records before deployment and after use. <br>\nRisk: The skill can query cloud history with limited user control. <br>\nMitigation: Confirm that historical report lookup is appropriate for the user and deployment context before enabling or invoking history-list workflows. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-pet-litter-box-waste-analysis) <br>\n- [Skill Demo](https://lifeemergence.com/sample.html) <br>\n- [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, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown and JSON-backed structured text] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May include report links, health risk observations, and history tables returned from the cloud service.] <br>\n\n## Skill Version(s): <br>\n1.0.2 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.2:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.2:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.1: 31 files, 35454 bytes\n\nFiles: references/api_doc.md (630b), scripts/__init__.py (64b), scripts/config.py (671b), scripts/config.yaml (3b), scripts/skill.py (579b), scripts/smyx_pet_litter_box_waste_analysis.py (3551b), skill-card.md (2525b), SKILL.md (9795b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (22801b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (13468b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (23409b), _meta.json (153b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: \"smyx-pet-litter-box-waste-analysis\"\ndescription: \"Triggers when a user provides a cat litter box area video URL or file for analysis; supports local video uploads or network URLs to call server-side APIs for waste characteristic recognition, analyzing feces morphology (loose stool, bloody stool, dry hard stool) and urine clump size to identify urinary and digestive system abnormalities, outputting health risk alerts (without diagnosing diseases). Application scenarios: smart litter boxes, multi-cat household health monitoring. Development reason: early signs of urinary diseases, a pain point for multi-cat households. | 当用户提供猫砂盆区域的视频URL或文件时，触发本技能进行排泄物性状分析；支持通过上传本地视频或网络视频URL，调用服务端API进行排泄物识别，分析粪便形态（稀便、血便、干硬便）和尿团大小，识别泌尿系统与消化系统异常，输出健康风险提示（不诊断疾病）。应用场景：智能猫砂盆、多猫家庭健康监测。\"\nversion: \"1.0.2\"\nlicense: \"MIT-0\"\n---\n\n# 🚽 Pet Litter Box Waste Analysis | 宠物猫砂盆排泄物性状识别\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物猫砂盆排泄物性状识别** |\n| 🎯 核心目标 | 当用户提供猫砂盆区域的视频URL或文件时，触发本技能进行排泄物性状分析；支持通过上传本地视频或网络视频URL，调用服务端API进行排泄物识别，分析粪便形态（稀便、血便、干硬便）和尿团大小，识别泌尿系统与消化系统异常，输出健康风险提示（不诊断疾病）。应用场景：智能猫砂盆、多猫家庭健康监测。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_LITTER_BOX_WASTE_ANALYSIS` |\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\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供猫砂盆区域视频 URL 或文件需要分析时，默认触发本技能进行排泄物性状识别 |\n| 🔎 明确分析意图 | 当用户明确需要进行猫砂盆监测时，提及猫砂盆、猫咪排泄、粪便分析、尿团监测、泌尿系统异常、消化系统异常等关键词，并且上传了视频文件或者图片文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史排泄报告、历史猫砂盆报告、排泄物分析报告清单、排泄报告清单、查询历史排泄报告、显示所有猫砂盆报告、显示排泄物诊断报告，查询健康风险提示报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_pet_litter_box_waste_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_pet_litter_box_waste_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备视频输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行排泄物性状分析 | 调用 `-m scripts.smyx_pet_litter_box_waste_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 宠物类型，可选值：cat/dog/bird/other，默认 cat | 按需填写 |\n| `--list` | 显示猫砂盆视频历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_pet_litter_box_waste_analysis.py`](scripts/smyx_pet_litter_box_waste_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 视频要求：支持 mp4/avi/mov 格式，最大 10MB |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供健康参考，不提供疾病诊断或治疗建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地猫砂盆视频\npython -m scripts.smyx_pet_litter_box_waste_analysis --input /path/to/litterbox_video.mp4 --pet-type cat\n\n# 分析网络猫砂盆视频\npython -m scripts.smyx_pet_litter_box_waste_analysis --url https://example.com/litterbox_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史排泄报告（自动触发关键词：查看历史排泄报告、历史报告、猫砂盆报告清单等）\npython -m scripts.smyx_pet_litter_box_waste_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_litter_box_waste_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_litter_box_waste_analysis --input video.mp4 --pet-type cat --output result.json\n```\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-pet-litter-box-waste-analysis\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1782405155390\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- `OPEN_PET_HEALTH_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 cat litter box video or image inputs through a remote service to produce structured observations about feces, urine clumps, trends, and non-diagnostic health risk alerts. <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, smart litter box builders, and developers use this skill to analyze cat litter box media and retrieve cloud-stored historical reports for monitoring urinary or digestive health signals without disease diagnosis. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill sends pet-area media and identity-linked metadata to the Life Emergence service. <br>\nMitigation: Use it only when that data sharing is acceptable, and avoid submitting sensitive footage or metadata. <br>\nRisk: The skill silently creates or reuses an identity and stores reusable account tokens locally. <br>\nMitigation: Review token retention and cleanup expectations before installing, and remove local token state when access should be revoked. <br>\nRisk: Generated health risk alerts are observational and are not disease diagnoses or treatment advice. <br>\nMitigation: Treat outputs as monitoring signals and consult a qualified veterinarian for medical decisions. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-pet-litter-box-waste-analysis) <br>\n- [Skill usage demo](https://lifeemergence.com/sample.html) <br>\n- [Pet health analysis API reference](references/api_doc.md) <br>\n- [SMYX analysis API reference](skills/smyx_analysis/references/api_doc.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, JSON, shell commands, guidance] <br>\n**Output Format:** [Markdown reports and JSON-style structured analysis output, with optional saved result files.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Accepts local media file paths or public media URLs; historical report lookup returns cloud report links.] <br>\n\n## Skill Version(s): <br>\n1.0.1 (source: ClawHub release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.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, 33427 bytes\n\nFiles: _meta.json (153b), references/api_doc.md (630b), scripts/__init__.py (64b), scripts/api_service.py (1704b), scripts/config.py (671b), scripts/config.yaml (3b), scripts/skill.py (579b), scripts/smyx_pet_litter_box_waste_analysis.py (3519b), SKILL.md (9522b), 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 (11112b), skills/smyx_analysis/scripts/smyx_analysis.py (3691b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (2218b), 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 (9823b), 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 (18382b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: \"smyx-pet-litter-box-waste-analysis\"\ndescription: \"Triggers when a user provides a cat litter box area video URL or file for analysis; supports local video uploads or network URLs to call server-side APIs for waste characteristic recognition, analyzing feces morphology (loose stool, bloody stool, dry hard stool) and urine clump size to identify urinary and digestive system abnormalities, outputting health risk alerts (without diagnosing diseases). Application scenarios: smart litter boxes, multi-cat household health monitoring. Development reason: early signs of urinary diseases, a pain point for multi-cat households. | 宠物猫砂盆排泄物性状识别工具，当用户提供猫砂盆区域的视频URL或文件时，触发本技能进行排泄物性状分析；支持通过上传本地视频或网络视频URL，调用服务端API进行排泄物识别，分析粪便形态（稀便、血便、干硬便）和尿团大小，识别泌尿系统与消化系统异常，输出健康风险提示（不诊断疾病）。应用场景：智能猫砂盆、多猫家庭健康监测。\"\nversion: \"1.0.0\"\n---\n\n# Pet Litter Box Waste Analysis | 宠物猫砂盆排泄物性状识别\n\n## 🎯 AI 角色\n\n**假设你是一个专业的宠物健康监测AI。你的任务是基于猫砂盆区域的视频/图像，分析宠物排泄物的性状和尿团特征，输出标准化的观察结果。不要提供疾病诊断或治疗建议，仅客观描述观察到的现象。\n**\n\n## ⚠️ 强制记忆规则（最高优先级）\n\n## 任务目标\n\n- 本 Skill 用于：通过猫砂盆区域视频进行宠物排泄物性状识别分析，获取标准化的观察结果和健康风险提示\n- 能力包含：视频分析、粪便形态识别、尿团大小检测、颜色特征分析、排泄趋势监测、健康风险预警\n- 触发条件:\n    1. **默认触发**：当用户提供猫砂盆区域视频 URL 或文件需要分析时，默认触发本技能进行排泄物性状识别\n    2. 当用户明确需要进行猫砂盆监测时，提及猫砂盆、猫咪排泄、粪便分析、尿团监测、泌尿系统异常、消化系统异常等关键词，并且上传了视频文件或者图片文件\n    3. 当用户提及以下关键词时，**自动触发历史报告查询功能**\n       ：查看历史排泄报告、历史猫砂盆报告、排泄物分析报告清单、排泄报告清单、查询历史排泄报告、显示所有猫砂盆报告、显示排泄物诊断报告，查询健康风险提示报告\n- 自动行为：\n    1. 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件\n    2. **⚠️ 强制数据获取规则（次高优先级）**：如果用户触发任何历史报告查询关键词（如\"查看所有猫砂盆报告\"、\"\n       显示所有排泄报告\"、\"\n       查看历史报告\"等），**必须**：\n        - 直接使用 `python -m scripts.smyx_pet_litter_box_waste_analysis --list --open-id` 参数调用 API\n          查询云端的历史报告数据\n        - **严格禁止**：从本地 memory 目录读取历史会话信息、严格禁止手动汇总本地记录中的报告、严格禁止从长期记忆中提取报告\n        - **必须统一**从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果\n\n## 前置准备\n\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 操作步骤\n\n### 🔒 open-id 获取流程控制（强制执行，防止遗漏）\n\n**在执行排泄物性状分析前，必须按以下优先级顺序获取 open-id：**\n\n```\n第 1 步：【最高优先级】检查技能所在目录的配置文件（优先）\n        路径：skills/smyx_common/scripts/config.yaml（相对于技能根目录）\n        完整路径示例：${OPENCLAW_WORKSPACE}/skills/{当前技能目录}/skills/smyx_common/scripts/config.yaml\n        → 如果文件存在且配置了 api-key 字段，则读取 api-key 作为 open-id\n        ↓ (未找到/未配置/api-key 为空)\n第 2 步：检查 workspace 公共目录的配置文件\n        路径：${OPENCLAW_WORKSPACE}/skills/smyx_common/scripts/config.yaml\n        → 如果文件存在且配置了 api-key 字段，则读取 api-key 作为 open-id\n        ↓ (未找到/未配置)\n第 3 步：检查用户是否在消息中明确提供了 open-id\n        ↓ (未提供)\n第 4 步：❗ 必须暂停执行，明确提示用户提供用户名或手机号作为 open-id\n```\n\n**⚠️ 关键约束：**\n\n- **禁止**自行假设,自行推导,自行生成 open-id 值（如 openclaw-control-ui、default、userC113、user123 等）\n- **禁止**跳过 open-id 验证直接调用 API\n- **必须**在获取到有效 open-id 后才能继续执行分析\n- 如果用户拒绝提供 open-id，说明用途（用于保存和查询历史报告记录），并询问是否继续\n\n---\n\n- 标准流程:\n    1. **准备视频输入**\n        - 提供本地视频文件路径或网络视频 URL\n        - 确保视频清晰展示猫砂盆区域、粪便和尿团，光线充足，无遮挡\n    2. **获取 open-id（强制执行）**\n        - 按上述流程控制获取 open-id\n        - 如无法获取，必须提示用户提供用户名或手机号\n    3. **执行排泄物性状分析**\n        - 调用 `-m scripts.smyx_pet_litter_box_waste_analysis` 处理视频文件（**必须在技能根目录下运行脚本**）\n        - 参数说明:\n            - `--input`: 本地视频文件路径\n            - `--url`: 网络视频 URL 地址（API 服务自动下载）\n            - `--pet-type`: 宠物类型，可选值：cat/dog/bird/other，默认 cat\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        - 包含：粪便形状分析（正常条状、稀软不成形、水样状、颗粒状干硬便）、粪便颜色分析（棕色、红色、黑色、白色/灰白色）、粪便带血检测（表面有血液、血丝或黑便提示内部出血）、尿团大小评估（正常、偏小、无尿团）、健康风险提示\n        - **重要提示**：仅客观描述观察到的现象，不提供疾病诊断或治疗建议\n\n## 资源索引\n\n-\n\n必要脚本：见 [scripts/smyx_pet_litter_box_waste_analysis.py](scripts/smyx_pet_litter_box_waste_analysis.py)(\n用途：调用 API 进行排泄物性状分析，本地文件上传，网络 URL 由 API 服务自动下载)\n\n- 配置文件：见 [scripts/config.py](scripts/config.py)(用途：配置 API 地址、默认参数和视频格式限制)\n- 领域参考：见 [references/api_doc.md](references/api_doc.md)(何时读取：需要了解 API 接口详细规范和错误码时)\n\n## 注意事项\n\n- 仅在需要时读取参考文档，保持上下文简洁\n- 视频要求：支持 mp4/avi/mov 格式，最大 10MB\n- API 密钥可选，如果通过参数传入则必须确保调用鉴权成功，否则忽略鉴权\n- 分析结果仅供健康参考，不提供疾病诊断或治疗建议\n- 禁止临时生成脚本，只能用技能本身的脚本\n- 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载\n- 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段 reportImageUrl 作为超链接地址，且自动转化为如下 Markdown\n  表格格式输出，包含\"\n  报告名称\"、\"宠物类型\"、\"分析时间\"、\"点击查看\"四列，其中\"报告名称\"列使用`猫砂盆排泄物分析报告-{记录id}`形式拼接, \"点击查看\"\n  列使用\n  `[🔗 查看报告](reportImageUrl)`\n  格式的超链接，用户点击即可直接跳转到对应的完整报告页面。\n- 表格输出示例：\n  | 报告名称 | 宠物类型 | 分析时间 | 点击查看 |\n  |----------|----------|----------|----------|\n  | 猫砂盆排泄物分析报告-20260312172200001 | 猫 | 2026-03-12 17:22:\n  00 | [🔗 查看报告](https://example.com/report?id=xxx) |\n\n## 使用示例\n\n```bash\n# 分析本地猫砂盆视频（以下只是示例，禁止直接使用openclaw-control-ui 作为 open-id）\npython -m scripts.smyx_pet_litter_box_waste_analysis --input /path/to/litterbox_video.mp4 --pet-type cat --open-id your-open-id\n\n# 分析网络猫砂盆视频（以下只是示例，禁止直接使用openclaw-control-ui 作为 open-id）\npython -m scripts.smyx_pet_litter_box_waste_analysis --url https://example.com/litterbox_video.mp4 --pet-type cat --open-id your-open-id\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史排泄报告（自动触发关键词：查看历史排泄报告、历史报告、猫砂盆报告清单等）\npython -m scripts.smyx_pet_litter_box_waste_analysis --list --open-id your-open-id\n\n# 输出精简报告\npython -m scripts.smyx_pet_litter_box_waste_analysis --input video.mp4 --pet-type cat --open-id your-open-id --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_litter_box_waste_analysis --input video.mp4 --pet-type cat --open-id your-open-id --output result.json\n```\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-pet-litter-box-waste-analysis\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1779374954951\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- `OPEN_PET_HEALTH_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\naltgraph==0.17.5\nannotated-doc==0.0.4\nannotated-types==0.7.0\nanyio==4.12.1\nAPScheduler==3.11.2\nastroid==3.1.0\nAuthlib==1.6.6\nblinker==1.4\ncachetools==6.2.6\ncertifi==2026.1.4\ncffi==2.0.0\nchardet==5.2.0\ncharset-normalizer==3.4.4\nclick==8.3.1\ncoverage==7.13.2\ncoze-workload-identity==0.1.7\ncozeloop==0.1.19\ncryptography==3.4.8\nCython==3.2.4\ndbus-python==1.2.18\ndill==0.4.1\ndistro==1.7.0\ndistro-info==1.1+ubuntu0.2\net_xmlfile==2.0.0\nfastapi==0.121.2\ngitdb==4.0.12\ngitignore_parser==0.1.13\nGitPython==3.1.45\ngreenlet==3.3.1\nh11==0.16.0\nhttpcore==1.0.9\nhttplib2==0.20.2\nhttpx==0.28.1\nhttpx-ws==0.8.2\nidna==3.11\nimportlib-metadata==4.6.4\ninflect==7.5.0\niniconfig==2.3.0\nisort==5.13.2\njeepney==0.7.1\nJinja2==3.1.6\njiter==0.12.0\njsonpatch==1.33\njsonpointer==3.0.0\nkeyring==23.5.0\nlangchain==1.0.3\nlangchain-core==1.0.2\nlangchain-openai==1.0.1\nlanggraph==1.0.2\nlanggraph-checkpoint==3.0.0\nlanggraph-prebuilt==1.0.2\nlanggraph-sdk==0.2.9\nlangsmith==0.4.39\nlaunchpadlib==1.10.16\nlazr.restfulclient==0.14.4\nlazr.uri==1.0.6\nmarkdown-it-py==4.0.0\nMarkupSafe==3.0.3\nmccabe==0.7.0\nmdurl==0.1.2\nmore-itertools==8.10.0\nnumpy==2.4.1\noauthlib==3.2.0\nopenai==2.16.0\nopenpyxl==3.1.5\norjson==3.11.5\normsgpack==1.12.2\npackaging==25.0\npandas==2.3.3\nplatformdirs==4.5.1\npluggy==1.6.0\npsutil==7.1.3\npsycopg2-binary==2.9.11\npydantic==2.12.4\npydantic_core==2.41.5\npydash==8.0.6\nPygments==2.19.2\nPyGObject==3.42.1\npyinstaller==6.18.0\npyinstaller-hooks-contrib==2026.0\nPyJWT==2.10.1\npylint==3.1.0\nPyMySQL==1.1.2\npyparsing==2.4.7\npytest==9.0.1\npytest-asyncio==1.3.0\npytest-cov==7.0.0\npytest-mock==3.15.1\npython-apt==2.4.0+ubuntu4.1\npython-dateutil==2.9.0.post0\npytz==2025.2\nPyYAML==6.0.3\nregex==2026.1.15\nrequests==2.32.5\nrequests-toolbelt==1.0.0\nrich==14.2.0\nSecretStorage==3.3.1\nsetuptools==80.9.0\nsix==1.16.0\nsmmap==5.0.2\nsniffio==1.3.1\nsqlacodegen==3.2.0\nSQLAlchemy==2.0.46\nstarlette==0.49.3\nsupervisor==4.2.1\ntenacity==9.1.2\ntiktoken==0.12.0\ntomlkit==0.14.0\ntypeguard==4.4.4\ntyping-inspection==0.4.2\ntyping_extensions==4.15.0\ntzdata==2025.3\ntzlocal==5.3.1\nunattended-upgrades==0.1\nurllib3==2.6.3\nuvicorn==0.38.0\nwadllib==1.3.6\nwatchdog==6.0.0\nwebsockets==15.0.1\nwheel==0.45.1\nwsproto==1.3.2\nxlrd==2.0.2\nxxhash==3.6.0\nzipp==1.0.0\nzstandard==0.25.0","readmeExcerpt":"Skill: Cat Litter Box Waste Characteristic Recognition Tool | 宠物猫砂盆排泄物性状识别 Owner: smyx-sunjinhui Summary: Triggers when a user provides a cat litter box area video URL or file for analysis; supports local video uploads or network URLs to call server-side APIs for waste characteristic recognition, analyzing feces morphology (loose stool, bloody stool, dry hard stool) and urine clump size to identify urinary and digest","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"python -m scripts.smyx_pet_litter_box_waste_analysis --list"},{"language":"text","snippet":"requests>=2.28.0"},{"language":"bash","snippet":"# 分析本地猫砂盆视频\npython -m scripts.smyx_pet_litter_box_waste_analysis --input /path/to/litterbox_video.mp4 --pet-type cat\n\n# 分析网络猫砂盆视频\npython -m scripts.smyx_pet_litter_box_waste_analysis --url https://example.com/litterbox_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史排泄报告（自动触发关键词：查看历史排泄报告、历史报告、猫砂盆报告清单等）\npython -m scripts.smyx_pet_litter_box_waste_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_litter_box_waste_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_litter_box_waste_analysis --input video.mp4 --pet-type cat --output result.json"},{"language":"bash","snippet":"python -m scripts.smyx_pet_litter_box_waste_analysis --list"},{"language":"text","snippet":"requests>=2.28.0"},{"language":"bash","snippet":"# 分析本地猫砂盆视频\npython -m scripts.smyx_pet_litter_box_waste_analysis --input /path/to/litterbox_video.mp4 --pet-type cat\n\n# 分析网络猫砂盆视频\npython -m scripts.smyx_pet_litter_box_waste_analysis --url https://example.com/litterbox_video.mp4 --pet-type cat\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史排泄报告（自动触发关键词：查看历史排泄报告、历史报告、猫砂盆报告清单等）\npython -m scripts.smyx_pet_litter_box_waste_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_pet_litter_box_waste_analysis --input video.mp4 --pet-type cat --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_pet_litter_box_waste_analysis --input video.mp4 --pet-type cat --output result.json"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: \"smyx-pet-litter-box-waste-analysis\"\ndescription: \"Triggers when a user provides a cat litter box area video URL or file for analysis; supports local video uploads or network URLs to call server-side APIs for waste characteristic recognition, analyzing feces morphology (loose stool, bloody stool, dry hard stool) and urine clump size to identify urinary and digestive system abnormalities, outputting health risk alerts (without diagnosing diseases). Application scenarios: smart litter boxes, multi-cat household health monitoring. Development reason: early signs of urinary diseases, a pain point for multi-cat households. | 当用户提供猫砂盆区域的视频URL或文件时，触发本技能进行排泄物性状分析；支持通过上传本地视频或网络视频URL，调用服务端API进行排泄物识别，分析粪便形态（稀便、血便、干硬便）和尿团大小，识别泌尿系统与消化系统异常，输出健康风险提示（不诊断疾病）。应用场景：智能猫砂盆、多猫家庭健康监测。\"\nversion: \"1.0.11\"\nlicense: \"MIT-0\"\n---\n\n# 🚽 Pet Litter Box Waste Analysis | 宠物猫砂盆排泄物性状识别\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **宠物猫砂盆排泄物性状识别** |\n| 🎯 核心目标 | 当用户提供猫砂盆区域的视频URL或文件时，触发本技能进行排泄物性状分析；支持通过上传本地视频或网络视频URL，调用服务端API进行排泄物识别，分析粪便形态（稀便、血便、干硬便）和尿团大小，识别泌尿系统与消化系统异常，输出健康风险提示（不诊断疾病）。应用场景：智能猫砂盆、多猫家庭健康监测。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PET_LITTER_BOX_WASTE_ANALYSIS` |\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\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供猫砂盆区域视频 URL 或文件需要分析时，默认触发本技能进行排泄物性状识别 |\n| 🔎 明确分析意图 | 当用户明确需要进行猫砂盆监测时，提及猫砂盆、猫咪排泄、粪便分析、尿团监测、泌尿系统异常、消化系统异常等关键词，并且上传了视频文件或者图片文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史排泄报告、历史猫砂盆报告、排泄物分析报告清单、排泄报告清单、查询历史排泄报告、显示所有猫砂盆报告、显示排泄物诊断报告，查询健康风险提示报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_pet_litter_box_waste_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_pet_litter_box_waste_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#### "},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-pet-litter-box-waste-analysis\",\n  \"version\": \"1.0.9\",\n  \"publishedAt\": 1787718885092\n}"},{"path":"references/api_doc.md","content":"# API 接口文档\n\n此处用于存放宠物健康分析 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/health-analysis/v2/start-health-analysis` - 启动健康分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_PET_HEALTH_ANALYSIS` - 开放平台宠物健康分析"},{"path":"skills/smyx_analysis/references/api_doc.md","content":"# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |"},{"path":"scripts/config.yaml","content":"{}"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":920,"uniquenessScore":43,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T23:57:06.700Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T23:57:06.700Z","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-10T09:09:46.385Z","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"}]}}}