{"id":"3b692617-70a9-4630-a1c0-14fb3e2bba65","entityType":"agent","slug":"clawhub-18072937735-smyx-fish-egg-incubation-stage-analysis","name":"Fish Egg Incubation Stage Identification | 鱼卵孵化状态识别","canonicalUrl":"https://www.xpersona.co/agent/clawhub-18072937735-smyx-fish-egg-incubation-stage-analysis","canonicalPath":"/agent/clawhub-18072937735-smyx-fish-egg-incubation-stage-analysis","generatedAt":"2026-10-10T21:56:47.460Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T17:41:22.839Z","emptyReason":null},"description":"Through breeding-tank fixed cameras (macro lens), the system periodically captures high-definition images of fish eggs and uses AI vision analysis to detect egg color changes (transparent → white / black) and embryonic eye-spots (small black dots), identifying incubation stages (unfertilized / early / mid / late-eyespot / hatching). | 通过繁殖缸固定摄像头（微距镜头），定期拍摄鱼卵的高清图像，利用 AI 视觉分析技术检测鱼卵颜色变化（透明 → 发白/发黑）以及胚胎眼睛点（黑色小点）的出现，识别鱼卵的孵化阶段（未受精/早期/中期/晚期/破壳）。系统定时（如每 6 小时）自动分析，输出孵化阶段及建议（如'已出现眼睛点，预计 24 小时内孵化，准备丰年虾'）。 Skill: Fish Egg Incubation Stage Identification | 鱼卵孵化状态识别 Owner: 18072937735 Summary: Through breeding-tank fixed cameras (macro lens), the system periodically captures high-definition images of fish eggs and uses AI vision analysis to detect egg color changes (transparent → white / black) and embryonic eye-spots (small black dots), identifying incubation stages (unfertilized / early / mid / late-eyespot / hatching)","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.3K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s17f8q65zg3y98t86jdg1177g583whq8:smyx-fish-egg-incubation-stage-analysis","sourceUrl":"https://clawhub.ai/18072937735/smyx-fish-egg-incubation-stage-analysis","homepage":"https://clawhub.ai/18072937735/skills/smyx-fish-egg-incubation-stage-analysis","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/18072937735/smyx-fish-egg-incubation-stage-analysis","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/18072937735/skills/smyx-fish-egg-incubation-stage-analysis","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":62,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Through breeding-tank fixed cameras (macro lens), the system periodically captures high-definition images of fish eggs and uses AI vision analysis to detect egg"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T17:41:22.839Z","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-10T17:41:22.839Z","emptyReason":null},"stars":null,"forks":null,"downloads":1313,"packageName":null,"latestVersion":"1.0.7","tractionLabel":"1.3K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T17:41:22.748Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T17:41:22.839Z","lastCrawledAt":"2026-10-10T17:41:22.748Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T17:41:22.748Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.7","createdAt":"2026-09-29T15:23:29.593Z","changelog":"- Updated SKILL.md version to 1.0.14. - Minor documentation updates, including version number and maintenance. - Removed redundant/legacy file: skill-card.md.","fileCount":31,"zipByteSize":44216},{"version":"1.0.6","createdAt":"2026-09-24T01:20:29.126Z","changelog":"- Updated version to 1.0.13 in SKILL.md. - SKILL.md content revised and extended, with minor to moderate documentation and formatting changes. - Removed the file skill-card.md.","fileCount":31,"zipByteSize":44501},{"version":"1.0.5","createdAt":"2026-09-02T01:59:30.482Z","changelog":"**Version 1.0.5 Changelog** - SKILL.md updated with a new version number and likely documentation improvements - Internal script configuration updated: changes in config.yaml and util.py - skill-card.md file removed - No functional changes to the core logic described; update focuses on documentation and code maintenance","fileCount":31,"zipByteSize":44489},{"version":"1.0.4","createdAt":"2026-07-07T20:06:57.396Z","changelog":"### Changelog for version 1.0.4 - Updated version number in SKILL.md (from 1.0.1/1.0.2 to reflect new release). - Minor documentation or configuration changes in SKILL.md and skills/smyx_common/scripts/config.py (no major feature or breaking change described). - No functional or interface changes noted in the documentation.","fileCount":31,"zipByteSize":44369},{"version":"1.0.3","createdAt":"2026-07-03T12:05:32.952Z","changelog":"smyx-fish-egg-incubation-stage-analysis v1.0.3 - Updated identity handling: user identity (\"open-id\") is now managed automatically by the script, removing the requirement to prompt or display identity to the user. - Skill usage documentation has been rewritten for clarity, with new tables, workflows, and constraint explanations. - The rules for history report queries now strictly enforce fetching from the cloud API only; local or memory-based report access is explicitly disallowed. - Removed two legacy files (scripts/api_service.py, skill-card.md) as part of refactoring. - Parameter handling and workflow steps in scripts and configs have been synchronized for a more streamlined user experience.","fileCount":31,"zipByteSize":44414},{"version":"1.0.2","createdAt":"2026-06-22T19:34:32.681Z","changelog":"- Improved configuration handling and open-id retrieval logic in accordance with updated requirements. - Adjusted shared utility functions and data access logic for better modularity. - Updated configuration file locations and reading priority. - Removed obsolete skill-card.md file.","fileCount":32,"zipByteSize":43379},{"version":"1.0.1","createdAt":"2026-06-17T11:37:23.778Z","changelog":"- Updated config file loading to prioritize scripts/config.yaml in the skill directory for open-id acquisition. - Revised documentation to reflect the new open-id retrieval priority and updated config file locations. - Removed redundant skill-card.md file. - Cleaned up and reorganized the internal structure of requirements, configs, and utility script imports. - No changes to user-facing analysis features or output.","fileCount":32,"zipByteSize":41710},{"version":"1.0.0","createdAt":"2026-05-28T04:51:43.013Z","changelog":"Initial release of smyx-fish-egg-incubation-stage-analysis: - Automatically analyzes macro images of fish eggs via fixed tank cameras to detect color changes and eye-spot appearance, determining incubation stages. - Provides structured reports every 6 hours, including incubation stage, color/eye-spot ratios, hatching forecasts, and actionable suggestions for breeders. - Supports multi-level reminder strategy (progress, preparation, urgent, warning), tailored to fish species, water temperature, and spawning time. - Strict open-id acquisition procedure ensures user identification for report saving and retrieval. - Automatic historical report querying and data handling via API; prohibits use of local memory for records. - Designed for easy integration into smart breeding tanks or mobile macro setups, aiding both hobbyist and professional fish breeders.","fileCount":32,"zipByteSize":40843}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17f8q65zg3y98t86jdg1177g583whq8:smyx-fish-egg-incubation-stage-analysis","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-fish-egg-incubation-stage-analysis/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-fish-egg-incubation-stage-analysis/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-fish-egg-incubation-stage-analysis/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-fish-egg-incubation-stage-analysis/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-fish-egg-incubation-stage-analysis/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-fish-egg-incubation-stage-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-10T21:56:47.455Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-fish-egg-incubation-stage-analysis/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-fish-egg-incubation-stage-analysis/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-fish-egg-incubation-stage-analysis/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-fish-egg-incubation-stage-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":"high","updatedAt":"2026-10-10T17:41:22.839Z","emptyReason":null},"readme":"Skill: Fish Egg Incubation Stage Identification | 鱼卵孵化状态识别\n\nOwner: 18072937735\n\nSummary: Through breeding-tank fixed cameras (macro lens), the system periodically captures high-definition images of fish eggs and uses AI vision analysis to detect egg color changes (transparent → white / black) and embryonic eye-spots (small black dots), identifying incubation stages (unfertilized / early / mid / late-eyespot / hatching). | 通过繁殖缸固定摄像头（微距镜头），定期拍摄鱼卵的高清图像，利用 AI 视觉分析技术检测鱼卵颜色变化（透明 → 发白/发黑）以及胚胎眼睛点（黑色小点）的出现，识别鱼卵的孵化阶段（未受精/早期/中期/晚期/破壳）。系统定时（如每 6 小时）自动分析，输出孵化阶段及建议（如'已出现眼睛点，预计 24 小时内孵化，准备丰年虾'）。\n\nTags: latest:1.0.7\n\nVersion history:\n\nv1.0.7 | 2026-09-29T15:23:29.593Z | auto\n\n- Updated SKILL.md version to 1.0.14.\n- Minor documentation updates, including version number and maintenance.\n- Removed redundant/legacy file: skill-card.md.\n\nv1.0.6 | 2026-09-24T01:20:29.126Z | auto\n\n- Updated version to 1.0.13 in SKILL.md.\n- SKILL.md content revised and extended, with minor to moderate documentation and formatting changes.\n- Removed the file skill-card.md.\n\nv1.0.5 | 2026-09-02T01:59:30.482Z | auto\n\n**Version 1.0.5 Changelog**\n\n- SKILL.md updated with a new version number and likely documentation improvements\n- Internal script configuration updated: changes in config.yaml and util.py\n- skill-card.md file removed\n- No functional changes to the core logic described; update focuses on documentation and code maintenance\n\nv1.0.4 | 2026-07-07T20:06:57.396Z | auto\n\n### Changelog for version 1.0.4\n\n- Updated version number in SKILL.md (from 1.0.1/1.0.2 to reflect new release).\n- Minor documentation or configuration changes in SKILL.md and skills/smyx_common/scripts/config.py (no major feature or breaking change described).\n- No functional or interface changes noted in the documentation.\n\nv1.0.3 | 2026-07-03T12:05:32.952Z | auto\n\nsmyx-fish-egg-incubation-stage-analysis v1.0.3\n\n- Updated identity handling: user identity (\"open-id\") is now managed automatically by the script, removing the requirement to prompt or display identity to the user.\n- Skill usage documentation has been rewritten for clarity, with new tables, workflows, and constraint explanations.\n- The rules for history report queries now strictly enforce fetching from the cloud API only; local or memory-based report access is explicitly disallowed.\n- Removed two legacy files (scripts/api_service.py, skill-card.md) as part of refactoring.\n- Parameter handling and workflow steps in scripts and configs have been synchronized for a more streamlined user experience.\n\nv1.0.2 | 2026-06-22T19:34:32.681Z | auto\n\n- Improved configuration handling and open-id retrieval logic in accordance with updated requirements.\n- Adjusted shared utility functions and data access logic for better modularity.\n- Updated configuration file locations and reading priority.\n- Removed obsolete skill-card.md file.\n\nv1.0.1 | 2026-06-17T11:37:23.778Z | auto\n\n- Updated config file loading to prioritize scripts/config.yaml in the skill directory for open-id acquisition.\n- Revised documentation to reflect the new open-id retrieval priority and updated config file locations.\n- Removed redundant skill-card.md file.\n- Cleaned up and reorganized the internal structure of requirements, configs, and utility script imports.\n- No changes to user-facing analysis features or output.\n\nv1.0.0 | 2026-05-28T04:51:43.013Z | auto\n\nInitial release of smyx-fish-egg-incubation-stage-analysis:\n\n- Automatically analyzes macro images of fish eggs via fixed tank cameras to detect color changes and eye-spot appearance, determining incubation stages.\n- Provides structured reports every 6 hours, including incubation stage, color/eye-spot ratios, hatching forecasts, and actionable suggestions for breeders.\n- Supports multi-level reminder strategy (progress, preparation, urgent, warning), tailored to fish species, water temperature, and spawning time.\n- Strict open-id acquisition procedure ensures user identification for report saving and retrieval.\n- Automatic historical report querying and data handling via API; prohibits use of local memory for records.\n- Designed for easy integration into smart breeding tanks or mobile macro setups, aiding both hobbyist and professional fish breeders.\n\nArchive index:\n\nArchive v1.0.7: 31 files, 44216 bytes\n\nFiles: references/api_doc.md (6878b), scripts/__init__.py (59b), scripts/config.py (678b), scripts/config.yaml (3b), scripts/skill.py (573b), scripts/smyx_fish_egg_incubation_stage_analysis.py (3704b), skill-card.md (2071b), SKILL.md (16753b), 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 (158b)\n\nFile v1.0.7:SKILL.md\n\n---\nname: \"smyx-fish-egg-incubation-stage-analysis\"\ndescription: \"Through breeding-tank fixed cameras (macro lens), the system periodically captures high-definition images of fish eggs and uses AI vision analysis to detect egg color changes (transparent → white / black) and embryonic eye-spots (small black dots), identifying incubation stages (unfertilized / early / mid / late-eyespot / hatching). | 通过繁殖缸固定摄像头（微距镜头），定期拍摄鱼卵的高清图像，利用 AI 视觉分析技术检测鱼卵颜色变化（透明 → 发白/发黑）以及胚胎眼睛点（黑色小点）的出现，识别鱼卵的孵化阶段（未受精/早期/中期/晚期/破壳）。系统定时（如每 6 小时）自动分析，输出孵化阶段及建议（如'已出现眼睛点，预计 24 小时内孵化，准备丰年虾'）。\"\nversion: \"1.0.14\"\nlicense: \"MIT-0\"\n---\n\n# 🥚 Fish Egg Incubation Stage Identification | 鱼卵孵化状态识别\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **鱼卵孵化状态识别** |\n| 🎯 核心目标 | 通过繁殖缸固定摄像头（微距镜头），定期拍摄鱼卵的高清图像，利用 AI 视觉分析技术检测鱼卵颜色变化（透明 → 发白/发黑）以及胚胎眼睛点（黑色小点）的出现，识别鱼卵的孵化阶段（未受精/早期/中期/晚期/破壳）。系统定时（如每 6 小时）自动分析，输出孵化阶段及建议（如'已出现眼睛点，预计 24 小时内孵化，准备丰年虾'）。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_FISH_EGG_INCUBATION_STAGE_ANALYSIS` |\n\nThrough breeding-tank fixed cameras (macro lens), the system periodically captures high-definition images of fish eggs and uses AI vision analysis to detect egg color changes (transparent → white / black) and embryonic eye-spots (small black dots), identifying incubation stages (unfertilized / early / mid / late-eyespot / hatching). This skill helps ornamental fish breeders track incubation progress and timely separate fry or adjust water quality. Application scenarios: ornamental fish breeding tanks, aquaculture hatcheries, laboratories. The system periodically analyzes (e.g. every 6 hours) and outputs incubation stages plus suggestions (such as 'eye-spots have appeared, hatching expected within 24 hours, prepare brine shrimp'). Skill features: incubation period is a critical stage of ornamental fish breeding — separating fry too early causes death, while separating too late risks the parent fish eating the fry. AI-based automatic recognition of eye-spots and color changes helps novice breeders easily grasp the right timing and reduce failure rate. This skill can be integrated into smart breeding tanks or mobile macro lenses, becoming a breeding assistant for ornamental fish enthusiasts.\n\n通过繁殖缸固定摄像头（微距镜头），定期拍摄鱼卵的高清图像，利用 AI 视觉分析技术检测鱼卵颜色变化（透明 → 发白/发黑）以及胚胎眼睛点（黑色小点）的出现，识别鱼卵的孵化阶段（未受精/早期/中期/晚期/破壳）。该技能有助于观赏鱼繁殖者掌握孵化进度，及时分离鱼苗或调整水质。应用场景：观赏鱼繁殖缸、水产育苗场、实验室。系统定时（如每 6 小时）自动分析，输出孵化阶段及建议（如'已出现眼睛点，预计 24 小时内孵化，准备丰年虾'）。技能特点：鱼卵孵化期是观赏鱼繁殖的关键阶段，过早分离鱼苗会导致死亡，过晚则可能被种鱼吞食。通过 AI 自动识别眼睛点和颜色变化，可帮助新手繁殖者轻松掌握时机，降低失败率。该技能可集成到智能繁殖缸或手机微距镜头中，成为观赏鱼爱好者的繁殖助手。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的水产繁育 AI。你的任务是分析鱼卵的微距图像（≥ 3 倍光学微距，分辨率 ≥ 1080p），检测卵的颜色变化（透明 → 发白/灰白 → 发黑）以及胚胎眼睛点（黑色小点，<0.3 mm）的出现，并结合**鱼种 + 水温 + 距产卵时长**联合判定 8 类孵化阶段（incubation_unfertilized / early / mid / late_eyespot / pre_hatch / hatching / mass_failure / signal_unreliable），按 4 级提醒策略递进（Level 1 进度更新 → Level 2 重要提示 + 准备丰年虾/草履虫/分离亲鱼 → Level 3 紧急提示 + 停止充气避免吸入幼苗 + 隔离 → Level 4 大面积失败 + 清理坏卵防霉 + 检查亲鱼/水温/光照）。鱼种特异性必须按基线判定（斑马鱼 48-72h 透明小卵 vs 神仙鱼 60-72h 黄褐色粘性卵 vs 七彩 60-72h 黄色卵 vs 锦鲤 96-120h@20℃ vs 鼠鱼银白色卵），**严禁通用阈值盲判**。必须做白平衡校正避免\"背光偏色让透明卵看起来发白\"的误判。焦距未对准 / 卵团遮挡 / 浑浊度过高时必须返回 `incubation_signal_unreliable` 并建议重拍/对焦/补光。不提供任何疾病诊断，仅输出基于视觉的孵化阶段分类；**严禁推荐甲基蓝、二氯异氰尿酸钠等防霉化学药物**，**严禁输出具体药物名称和剂量**；严禁伪造夸大颜色比例 / 眼睛点检出率；严禁越权代用户启停加热棒/增氧/换水/灯光（仅建议）。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n基于繁殖缸固定摄像头 / 微距镜头（≥ 3× 光学微距）/ 智能繁殖缸内置微距**定时拍摄**（默认每 6 小时 ≥ 1 张），识别 8 类孵化阶段（incubation_unfertilized / early / mid / late_eyespot / pre_hatch / hatching / mass_failure / signal_unreliable）→ **三组指标**：卵颜色 5 项（卵总数 / 透明比例 / 发白比例 / 发黑比例 / 黄色卵黄囊比例）+ 胚胎发育 4 项（眼睛点检出数 / 检出比例 / 胚胎抽动 / 破壳事件）+ 上下文与基线 4 项（鱼种 / 鱼种基线孵化时长 / 当前水温 / 距产卵时长）→ 4 档提醒级别（info / important / urgent / warning）→ **4 级提醒策略递进**（仅入库进度更新 → 准备丰年虾分离亲鱼 → 停止充气+隔离 → 大面积失败建议清理坏卵+检查亲鱼水温光照）→ 单日提醒上限（Level 1 不限 / Level 2 × 4 / Level 3 × 6 / Level 4 × 2）→ **每次定时分析的孵化阶段报告**（按 tank_id + spawn_time 输出，含颜色分布 + 眼睛点检出率 + 预计破壳时间窗 + 建议动作 + 免责声明）\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 鱼卵小目标检测（直径 0.5-2 mm） |\n| 2 | 卵分类（透明 / 发白 / 发黑 / 含黄色卵黄囊） |\n| 3 | **胚胎眼睛点检测**（黑色亚毫米小点） |\n| 4 | 胚胎抽动光流检测 |\n| 5 | 破壳事件识别（卵壳破裂 + 鱼苗游出） |\n| 6 | 鱼种自适应基线（孵化时长 + 卵颜色基线） |\n| 7 | **水温修正的孵化龄估算**（Q10 系数粗校正） |\n| 8 | 白平衡校正（避免背光偏色误判） |\n| 9 | 用户 APP 推送 |\n| 10 | 4 级提醒递进 |\n| 11 | 单日提醒上限 |\n| 12 | 每次定时分析的孵化阶段报告（按 tank_id + spawn_time 输出） |\n| 13 | 预计破壳时间窗给出（\"24h 内孵化\"等开口饵料准备提示） |\n| 14 | **侧重育苗助手定位**（非健康告警 |\n| 15 | 更偏积极进度提示） |\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_fish_egg_incubation_stage_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_fish_egg_incubation_stage_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 | 🔐 获取 open-id（强制执行） | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行鱼卵孵化状态识别 | 调用 `-m scripts.smyx_fish_egg_incubation_stage_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地繁殖缸固定摄像头/微距镜头鱼卵高清图像或视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络繁殖缸固定摄像头/微距镜头鱼卵高清图像或视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 类别标识，鱼卵孵化状态识别场景默认 `other` | 按需填写 |\n| `--list` | 显示鱼卵孵化状态识别历史记录清单 | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_fish_egg_incubation_stage_analysis.py`](scripts/smyx_fish_egg_incubation_stage_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| 📁 格式支持 | 输入要求：支持 jpg/png/mp4/avi/mov，最大 10MB；摄像头需 **≥ 3× 光学微距 + 冷白补光 + 透过卵层背光**；分辨率 ≥ 1080p；建议每 6 小时定时 ≥ 1 张 |\n| 🔎 使用提醒 | **4 级提醒策略递进**（info → important → urgent → warning），偏育苗助手定位（非健康告警） |\n| 🔎 使用提醒 | 单日提醒上限：Level 1 不限 / Level 2 × 4 / Level 3 × 6（破壳事件可能密集）/ Level 4 × 2 |\n| 🔎 使用提醒 | 红线约束 |\n| 🧑‍⚖️ 结果性质 | **禁止**做\"水霉感染 / 真菌污染 / 受精率不足 / 亲鱼不孕\"等具体疾病或繁殖学诊断 |\n| 🔎 使用提醒 | **🚨 绝对禁止**输出具体药物名称、剂量、给药方案（特别**严禁推荐甲基蓝、二氯异氰尿酸钠等防霉化学剂**） |\n| 🔎 使用提醒 | **禁止**长期存储完整鱼缸视频/图像（≤ 14 天，仅入库孵化阶段事件帧；公共育苗场/实验室按管理规定） |\n| 🔎 使用提醒 | **禁止**用于商业广告 / AI 训练；禁第三方共享 |\n| 🔎 使用提醒 | **禁止**越权代用户启停加热棒 / 增氧 / 换水 / 投药 / 灯光参数；任何水族设备控制变更必须由用户确认（仅可建议） |\n| 🔎 使用提醒 | **绝对禁止**伪造或夸大颜色比例、眼睛点检出比例、孵化进度等指标；所有数据必须基于真实图像识别 |\n| 🔎 使用提醒 | **必须**按**鱼种 + 水温**联合判定基线（斑马鱼 48-72h 透明小卵 / 神仙鱼 60-72h 黄褐色 / 七彩 60-72h 黄色 / 锦鲤 96-120h@20℃ / 鼠鱼银白色卵）；**禁止使用通用阈值盲判** |\n| 🔎 使用提醒 | **必须**做白平衡校正，避免\"背光偏色让透明卵看起来发白\"导致的未受精误判 |\n| 🔎 使用提醒 | **必须**在焦距未对准 / 卵团遮挡 / 浑浊度过高时返回 `incubation_signal_unreliable`，**禁止给出不可靠的失败/未受精判定** |\n| 📜 报告输出 | **必须**：每次定时分析的孵化阶段报告**按 tank_id + spawn_time 输出**，含颜色分布 + 眼睛点检出率 + 预计破壳时间窗 + 建议动作 + 免责声明 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史孵化记录清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地鱼卵微距图像（以下只是示例，禁止直接使用 作为 open-id）\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --input /path/to/eggs.jpg\n\n# 分析网络鱼卵微距图像/视频（以下只是示例，禁止直接使用 作为 open-id）\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --url https://example.com/eggs.jpg\n\n# 显示历史孵化状态记录清单（自动触发关键词：查看鱼卵孵化历史报告、繁殖缸孵化进度日志清单等）\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --input eggs.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --input eggs.jpg --output result.json\n```\n\nFile v1.0.7:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-fish-egg-incubation-stage-analysis\",\n  \"version\": \"1.0.7\",\n  \"publishedAt\": 1790695409593\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}` - 导出孵化状态报告\n5. （可选）`/web/companion/v2/trigger-soothing-action` - 触发联动提醒（用户 APP 推送 / 智能繁殖缸告警灯 / 提示准备丰年虾/分离亲鱼建议）\n\n## 场景代码\n\n- `SMYX_FISH_EGG_INCUBATION_STAGE_ANALYSIS` - 鱼卵孵化状态识别\n\n## 输入约束\n\n- 摄像头：繁殖缸固定摄像头 / **微距镜头**（≥ 3 倍光学微距）/ 智能繁殖缸内置微距\n- 分辨率 ≥ 1080p（鱼卵直径 0.5-2 mm，眼睛点 <0.3 mm，需高清才能可靠识别）；帧率不强制要求（图像模式即可，建议每 6 小时 ≥ 1 张）\n- 光照：建议**冷白补光灯 + 透过卵层背光**，避免直射强光；水质清澈无杂质\n- 拍摄角度：俯拍卵团或正侧面贴近卵层，焦距对准卵团中心\n- 输入类型：支持高清图像（jpg/png）或视频；视频自动抽帧\n- 多繁殖缸场景按摄像头 ID 绑定到注册繁殖缸 ID + 鱼种 + 产卵时间戳（用于换算孵化龄）\n- **部署时必须录入**：鱼种（决定孵化总时长基线，如斑马鱼 48-72h / 神仙鱼 60-72h / 七彩 60-72h / 锦鲤 96-120h@20℃）、产卵时间戳、繁殖缸水温（决定孵化速度）\n- 用户必须授权部署；公共育苗场/实验室需公示告知\n\n## 关键观测信号\n\n### 卵颜色信号（核心）\n- `egg_count_total` - 视野内可识别鱼卵总数\n- `egg_transparent_ratio` - 透明卵比例（早期受精正常）\n- `egg_white_opaque_ratio` - **发白/灰白卵比例**（未受精或死亡卵典型特征）\n- `egg_black_dead_ratio` - 发黑死亡卵比例\n- `egg_yellow_yolk_visible_ratio` - 可见黄色卵黄囊比例（中期典型）\n\n### 胚胎发育信号\n- `eye_spot_detected_count` - **检测到胚胎眼睛点的卵数**（黑色小点，晚期标志）\n- `eye_spot_detected_ratio` - 眼睛点检出比例\n- `embryo_movement_detected` - 是否检测到胚胎抽动（破壳前数小时）\n- `hatching_event_detected` - 是否检测到破壳事件（卵壳破裂 + 鱼苗游出）\n\n### 上下文与基线\n- `species` - 鱼种\n- `species_total_hatch_hours_at_baseline_temp` - 该鱼种在基线水温下的孵化总时长（如 25℃ 斑马鱼 ≈ 60h）\n- `water_temperature_c` - 当前水温\n- `hours_since_spawn` - 距产卵时间（小时，温度修正后估算孵化龄）\n\n## 综合判定（孵化阶段）\n\n- `incubation_unfertilized` - **未受精**（发白/灰白卵比例 > 70% 且持续 ≥ 24h 无颜色进展）\n- `incubation_early` - **早期**（< 30% 孵化总时长，主体透明 + 黄色卵黄囊不明显）\n- `incubation_mid` - **中期**（30-70% 总时长，黄色卵黄囊清晰 + 胚胎轮廓可见）\n- `incubation_late_eyespot` - **晚期-眼睛点**（70-90% 总时长，**黑色眼睛点出现 ≥ 50% 卵**，预计 24h 内破壳）\n- `incubation_pre_hatch` - **临破壳**（> 90% 总时长，胚胎抽动 + 眼睛点清晰）\n- `incubation_hatching` - **正在破壳**（检测到破壳事件 + 鱼苗游出）\n- `incubation_mass_failure` - **大面积失败**（发白/发黑卵 ≥ 60% 且超过预期孵化时间）\n- `incubation_signal_unreliable` - 信号不可靠（焦距未对准/光照不足/卵团遮挡/浑浊度过高）\n\n## 4 级提醒策略递进（孵化阶段更偏\"育苗助手\"，非健康告警）\n\n- Level 1（early / mid）：仅入库 + 用户 APP 进度提示\"孵化进展正常，距预计破壳还有 X 小时\"\n- Level 2（late_eyespot / pre_hatch）：重要提示，\"**已出现眼睛点，预计 24 小时内孵化，请准备丰年虾无节幼体 / 蛋黄水 / 草履虫开口饵料 + 准备分离亲鱼防吞食**\"\n- Level 3（hatching）：紧急提示，\"**正在破壳，请打开微弱光照、停止充气避免幼苗被吸入过滤器、准备鱼苗缸隔离**\"\n- Level 4（unfertilized / mass_failure）：重要预警，\"**未受精或大面积孵化失败（≥ 60%），建议清理坏卵防霉污染水质 + 检查亲鱼健康状态/水温/光照周期 + 联系经验丰富的水族繁殖者**\"\n\n## 单日提醒上限\n\n- Level 1 不限（仅进度更新）/ Level 2 × 4 / Level 3 × 6（破壳事件可能密集）/ Level 4 × 2\n\n## 红线约束\n\n- **禁止**做\"水霉感染 / 真菌污染 / 受精率不足\"等具体疾病或繁殖学诊断\n- **禁止**输出具体药物名称、剂量、给药方案（特别是**严禁推荐甲基蓝、二氯异氰尿酸钠 等防霉化学剂**）\n- **禁止**长期存储完整鱼缸视频/图像（≤ 14 天，仅入库孵化阶段事件帧；公共育苗场/实验室按管理规定）\n- **禁止**用于商业广告 / AI 训练；禁第三方共享\n- **禁止**越权代用户启停加热棒 / 增氧 / 换水 / 投药 / 灯光参数；任何水族设备控制变更必须由用户确认（仅可建议）\n- 颜色比例、眼睛点检出比例等指标必须基于真实图像识别；**禁止伪造或夸大指标**\n- 鱼种特异性：不同鱼种孵化总时长、卵颜色基线差异极大（斑马鱼透明小卵 vs 神仙鱼黄褐色粘性卵 vs 七彩仙人黄色卵 vs 鼠鱼银白色卵）→ 必须按**鱼种 + 水温**联合判定；**禁止使用通用阈值盲判**\n- 必须考虑光照偏差上下文：背光偏色 / 白平衡漂移会让透明卵看起来\"发白\" → 必须做白平衡校正\n- 焦距未对准 / 卵团遮挡 / 浑浊度过高 → 必须返回 `incubation_signal_unreliable`，**禁止给出不可靠的失败判定**\n- 必须告知用户：AI 识别仅供参考，**最终繁殖决策与水质处理需用户结合现场实际或专业繁殖者意见**\n\n## 输出报告字段\n\n- `report_date` - 报告日期\n- `tank_id` - 繁殖缸 ID\n- `species` - 鱼种\n- `spawn_time` - 产卵时间戳\n- `water_temperature_c` - 当前水温\n- `hours_since_spawn` - 距产卵时长（小时）\n- `egg_count_total` - 卵总数\n- `egg_color_distribution` - 颜色分布比例（透明/发白/发黑/黄色卵黄囊）\n- `eye_spot_detected_ratio` - 眼睛点检出比例\n- `composite_scene` - 孵化阶段判定\n- `estimated_hatching_window_hours` - 预计破壳时间窗（小时）\n- `alert_level` - 提醒等级\n- `recommended_actions` - 建议动作（准备丰年虾/分离亲鱼/清理坏卵/停止充气，**不含具体化学药物**）\n- `disclaimer` - 免责声明\n\nFile v1.0.7:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.7:scripts/config.yaml\n\n{}\n\nFile v1.0.7:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.7:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.7:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.7:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.7:skill-card.md\n\n## Description:\n\nAnalyzes fish-egg images or videos to identify incubation stages and suggest breeding actions.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[18072937735](https://clawhub.ai/user/18072937735)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nFish breeders and hatchery operators use this skill to assess egg development from images or videos, review incubation history, and plan timely fry care.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Fish-egg media and report-history requests are sent to lifeemergence.com services.\n\nMitigation: Use only with media you are authorized to share and review the service's data handling before uploading.\n\nRisk: The skill creates or reuses a local identity database that may retain authentication tokens and link reports across sessions.\n\nMitigation: Run in an isolated workspace and review or delete local data files when persistent identity linkage is unwanted.\n\nRisk: A runtime import-path weakness warrants manual review before installation.\n\nMitigation: Inspect the installed code and avoid shared temporary installation paths.\n\n## Reference(s):\n\n- [Skill API documentation](references/api_doc.md)\n- [Skill demonstration](https://lifeemergence.com/sample.html)\n- [ClawHub skill release](https://clawhub.ai/18072937735/skills/smyx-fish-egg-incubation-stage-analysis)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Guidance]\n\n**Output Format:** [JSON analysis reports or Markdown history tables]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Incubation stage, observations, suggested actions, and report links; results can be saved to a file.]\n\n## Skill Version(s):\n\n1.0.7 (source: server-resolved ClawHub release; artifact frontmatter lists 1.0.14)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.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, 44501 bytes\n\nFiles: references/api_doc.md (6878b), scripts/__init__.py (59b), scripts/config.py (678b), scripts/config.yaml (3b), scripts/skill.py (573b), scripts/smyx_fish_egg_incubation_stage_analysis.py (3704b), skill-card.md (2757b), SKILL.md (16753b), 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 (158b)\n\nFile v1.0.6:SKILL.md\n\n---\nname: \"smyx-fish-egg-incubation-stage-analysis\"\ndescription: \"Through breeding-tank fixed cameras (macro lens), the system periodically captures high-definition images of fish eggs and uses AI vision analysis to detect egg color changes (transparent → white / black) and embryonic eye-spots (small black dots), identifying incubation stages (unfertilized / early / mid / late-eyespot / hatching). | 通过繁殖缸固定摄像头（微距镜头），定期拍摄鱼卵的高清图像，利用 AI 视觉分析技术检测鱼卵颜色变化（透明 → 发白/发黑）以及胚胎眼睛点（黑色小点）的出现，识别鱼卵的孵化阶段（未受精/早期/中期/晚期/破壳）。系统定时（如每 6 小时）自动分析，输出孵化阶段及建议（如'已出现眼睛点，预计 24 小时内孵化，准备丰年虾'）。\"\nversion: \"1.0.13\"\nlicense: \"MIT-0\"\n---\n\n# 🥚 Fish Egg Incubation Stage Identification | 鱼卵孵化状态识别\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **鱼卵孵化状态识别** |\n| 🎯 核心目标 | 通过繁殖缸固定摄像头（微距镜头），定期拍摄鱼卵的高清图像，利用 AI 视觉分析技术检测鱼卵颜色变化（透明 → 发白/发黑）以及胚胎眼睛点（黑色小点）的出现，识别鱼卵的孵化阶段（未受精/早期/中期/晚期/破壳）。系统定时（如每 6 小时）自动分析，输出孵化阶段及建议（如'已出现眼睛点，预计 24 小时内孵化，准备丰年虾'）。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_FISH_EGG_INCUBATION_STAGE_ANALYSIS` |\n\nThrough breeding-tank fixed cameras (macro lens), the system periodically captures high-definition images of fish eggs and uses AI vision analysis to detect egg color changes (transparent → white / black) and embryonic eye-spots (small black dots), identifying incubation stages (unfertilized / early / mid / late-eyespot / hatching). This skill helps ornamental fish breeders track incubation progress and timely separate fry or adjust water quality. Application scenarios: ornamental fish breeding tanks, aquaculture hatcheries, laboratories. The system periodically analyzes (e.g. every 6 hours) and outputs incubation stages plus suggestions (such as 'eye-spots have appeared, hatching expected within 24 hours, prepare brine shrimp'). Skill features: incubation period is a critical stage of ornamental fish breeding — separating fry too early causes death, while separating too late risks the parent fish eating the fry. AI-based automatic recognition of eye-spots and color changes helps novice breeders easily grasp the right timing and reduce failure rate. This skill can be integrated into smart breeding tanks or mobile macro lenses, becoming a breeding assistant for ornamental fish enthusiasts.\n\n通过繁殖缸固定摄像头（微距镜头），定期拍摄鱼卵的高清图像，利用 AI 视觉分析技术检测鱼卵颜色变化（透明 → 发白/发黑）以及胚胎眼睛点（黑色小点）的出现，识别鱼卵的孵化阶段（未受精/早期/中期/晚期/破壳）。该技能有助于观赏鱼繁殖者掌握孵化进度，及时分离鱼苗或调整水质。应用场景：观赏鱼繁殖缸、水产育苗场、实验室。系统定时（如每 6 小时）自动分析，输出孵化阶段及建议（如'已出现眼睛点，预计 24 小时内孵化，准备丰年虾'）。技能特点：鱼卵孵化期是观赏鱼繁殖的关键阶段，过早分离鱼苗会导致死亡，过晚则可能被种鱼吞食。通过 AI 自动识别眼睛点和颜色变化，可帮助新手繁殖者轻松掌握时机，降低失败率。该技能可集成到智能繁殖缸或手机微距镜头中，成为观赏鱼爱好者的繁殖助手。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的水产繁育 AI。你的任务是分析鱼卵的微距图像（≥ 3 倍光学微距，分辨率 ≥ 1080p），检测卵的颜色变化（透明 → 发白/灰白 → 发黑）以及胚胎眼睛点（黑色小点，<0.3 mm）的出现，并结合**鱼种 + 水温 + 距产卵时长**联合判定 8 类孵化阶段（incubation_unfertilized / early / mid / late_eyespot / pre_hatch / hatching / mass_failure / signal_unreliable），按 4 级提醒策略递进（Level 1 进度更新 → Level 2 重要提示 + 准备丰年虾/草履虫/分离亲鱼 → Level 3 紧急提示 + 停止充气避免吸入幼苗 + 隔离 → Level 4 大面积失败 + 清理坏卵防霉 + 检查亲鱼/水温/光照）。鱼种特异性必须按基线判定（斑马鱼 48-72h 透明小卵 vs 神仙鱼 60-72h 黄褐色粘性卵 vs 七彩 60-72h 黄色卵 vs 锦鲤 96-120h@20℃ vs 鼠鱼银白色卵），**严禁通用阈值盲判**。必须做白平衡校正避免\"背光偏色让透明卵看起来发白\"的误判。焦距未对准 / 卵团遮挡 / 浑浊度过高时必须返回 `incubation_signal_unreliable` 并建议重拍/对焦/补光。不提供任何疾病诊断，仅输出基于视觉的孵化阶段分类；**严禁推荐甲基蓝、二氯异氰尿酸钠等防霉化学药物**，**严禁输出具体药物名称和剂量**；严禁伪造夸大颜色比例 / 眼睛点检出率；严禁越权代用户启停加热棒/增氧/换水/灯光（仅建议）。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n基于繁殖缸固定摄像头 / 微距镜头（≥ 3× 光学微距）/ 智能繁殖缸内置微距**定时拍摄**（默认每 6 小时 ≥ 1 张），识别 8 类孵化阶段（incubation_unfertilized / early / mid / late_eyespot / pre_hatch / hatching / mass_failure / signal_unreliable）→ **三组指标**：卵颜色 5 项（卵总数 / 透明比例 / 发白比例 / 发黑比例 / 黄色卵黄囊比例）+ 胚胎发育 4 项（眼睛点检出数 / 检出比例 / 胚胎抽动 / 破壳事件）+ 上下文与基线 4 项（鱼种 / 鱼种基线孵化时长 / 当前水温 / 距产卵时长）→ 4 档提醒级别（info / important / urgent / warning）→ **4 级提醒策略递进**（仅入库进度更新 → 准备丰年虾分离亲鱼 → 停止充气+隔离 → 大面积失败建议清理坏卵+检查亲鱼水温光照）→ 单日提醒上限（Level 1 不限 / Level 2 × 4 / Level 3 × 6 / Level 4 × 2）→ **每次定时分析的孵化阶段报告**（按 tank_id + spawn_time 输出，含颜色分布 + 眼睛点检出率 + 预计破壳时间窗 + 建议动作 + 免责声明）\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 鱼卵小目标检测（直径 0.5-2 mm） |\n| 2 | 卵分类（透明 / 发白 / 发黑 / 含黄色卵黄囊） |\n| 3 | **胚胎眼睛点检测**（黑色亚毫米小点） |\n| 4 | 胚胎抽动光流检测 |\n| 5 | 破壳事件识别（卵壳破裂 + 鱼苗游出） |\n| 6 | 鱼种自适应基线（孵化时长 + 卵颜色基线） |\n| 7 | **水温修正的孵化龄估算**（Q10 系数粗校正） |\n| 8 | 白平衡校正（避免背光偏色误判） |\n| 9 | 用户 APP 推送 |\n| 10 | 4 级提醒递进 |\n| 11 | 单日提醒上限 |\n| 12 | 每次定时分析的孵化阶段报告（按 tank_id + spawn_time 输出） |\n| 13 | 预计破壳时间窗给出（\"24h 内孵化\"等开口饵料准备提示） |\n| 14 | **侧重育苗助手定位**（非健康告警 |\n| 15 | 更偏积极进度提示） |\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_fish_egg_incubation_stage_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_fish_egg_incubation_stage_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 | 🔐 获取 open-id（强制执行） | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行鱼卵孵化状态识别 | 调用 `-m scripts.smyx_fish_egg_incubation_stage_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地繁殖缸固定摄像头/微距镜头鱼卵高清图像或视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络繁殖缸固定摄像头/微距镜头鱼卵高清图像或视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 类别标识，鱼卵孵化状态识别场景默认 `other` | 按需填写 |\n| `--list` | 显示鱼卵孵化状态识别历史记录清单 | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_fish_egg_incubation_stage_analysis.py`](scripts/smyx_fish_egg_incubation_stage_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| 📁 格式支持 | 输入要求：支持 jpg/png/mp4/avi/mov，最大 10MB；摄像头需 **≥ 3× 光学微距 + 冷白补光 + 透过卵层背光**；分辨率 ≥ 1080p；建议每 6 小时定时 ≥ 1 张 |\n| 🔎 使用提醒 | **4 级提醒策略递进**（info → important → urgent → warning），偏育苗助手定位（非健康告警） |\n| 🔎 使用提醒 | 单日提醒上限：Level 1 不限 / Level 2 × 4 / Level 3 × 6（破壳事件可能密集）/ Level 4 × 2 |\n| 🔎 使用提醒 | 红线约束 |\n| 🧑‍⚖️ 结果性质 | **禁止**做\"水霉感染 / 真菌污染 / 受精率不足 / 亲鱼不孕\"等具体疾病或繁殖学诊断 |\n| 🔎 使用提醒 | **🚨 绝对禁止**输出具体药物名称、剂量、给药方案（特别**严禁推荐甲基蓝、二氯异氰尿酸钠等防霉化学剂**） |\n| 🔎 使用提醒 | **禁止**长期存储完整鱼缸视频/图像（≤ 14 天，仅入库孵化阶段事件帧；公共育苗场/实验室按管理规定） |\n| 🔎 使用提醒 | **禁止**用于商业广告 / AI 训练；禁第三方共享 |\n| 🔎 使用提醒 | **禁止**越权代用户启停加热棒 / 增氧 / 换水 / 投药 / 灯光参数；任何水族设备控制变更必须由用户确认（仅可建议） |\n| 🔎 使用提醒 | **绝对禁止**伪造或夸大颜色比例、眼睛点检出比例、孵化进度等指标；所有数据必须基于真实图像识别 |\n| 🔎 使用提醒 | **必须**按**鱼种 + 水温**联合判定基线（斑马鱼 48-72h 透明小卵 / 神仙鱼 60-72h 黄褐色 / 七彩 60-72h 黄色 / 锦鲤 96-120h@20℃ / 鼠鱼银白色卵）；**禁止使用通用阈值盲判** |\n| 🔎 使用提醒 | **必须**做白平衡校正，避免\"背光偏色让透明卵看起来发白\"导致的未受精误判 |\n| 🔎 使用提醒 | **必须**在焦距未对准 / 卵团遮挡 / 浑浊度过高时返回 `incubation_signal_unreliable`，**禁止给出不可靠的失败/未受精判定** |\n| 📜 报告输出 | **必须**：每次定时分析的孵化阶段报告**按 tank_id + spawn_time 输出**，含颜色分布 + 眼睛点检出率 + 预计破壳时间窗 + 建议动作 + 免责声明 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史孵化记录清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地鱼卵微距图像（以下只是示例，禁止直接使用 作为 open-id）\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --input /path/to/eggs.jpg\n\n# 分析网络鱼卵微距图像/视频（以下只是示例，禁止直接使用 作为 open-id）\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --url https://example.com/eggs.jpg\n\n# 显示历史孵化状态记录清单（自动触发关键词：查看鱼卵孵化历史报告、繁殖缸孵化进度日志清单等）\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --input eggs.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --input eggs.jpg --output result.json\n```\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-fish-egg-incubation-stage-analysis\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1790212829126\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}` - 导出孵化状态报告\n5. （可选）`/web/companion/v2/trigger-soothing-action` - 触发联动提醒（用户 APP 推送 / 智能繁殖缸告警灯 / 提示准备丰年虾/分离亲鱼建议）\n\n## 场景代码\n\n- `SMYX_FISH_EGG_INCUBATION_STAGE_ANALYSIS` - 鱼卵孵化状态识别\n\n## 输入约束\n\n- 摄像头：繁殖缸固定摄像头 / **微距镜头**（≥ 3 倍光学微距）/ 智能繁殖缸内置微距\n- 分辨率 ≥ 1080p（鱼卵直径 0.5-2 mm，眼睛点 <0.3 mm，需高清才能可靠识别）；帧率不强制要求（图像模式即可，建议每 6 小时 ≥ 1 张）\n- 光照：建议**冷白补光灯 + 透过卵层背光**，避免直射强光；水质清澈无杂质\n- 拍摄角度：俯拍卵团或正侧面贴近卵层，焦距对准卵团中心\n- 输入类型：支持高清图像（jpg/png）或视频；视频自动抽帧\n- 多繁殖缸场景按摄像头 ID 绑定到注册繁殖缸 ID + 鱼种 + 产卵时间戳（用于换算孵化龄）\n- **部署时必须录入**：鱼种（决定孵化总时长基线，如斑马鱼 48-72h / 神仙鱼 60-72h / 七彩 60-72h / 锦鲤 96-120h@20℃）、产卵时间戳、繁殖缸水温（决定孵化速度）\n- 用户必须授权部署；公共育苗场/实验室需公示告知\n\n## 关键观测信号\n\n### 卵颜色信号（核心）\n- `egg_count_total` - 视野内可识别鱼卵总数\n- `egg_transparent_ratio` - 透明卵比例（早期受精正常）\n- `egg_white_opaque_ratio` - **发白/灰白卵比例**（未受精或死亡卵典型特征）\n- `egg_black_dead_ratio` - 发黑死亡卵比例\n- `egg_yellow_yolk_visible_ratio` - 可见黄色卵黄囊比例（中期典型）\n\n### 胚胎发育信号\n- `eye_spot_detected_count` - **检测到胚胎眼睛点的卵数**（黑色小点，晚期标志）\n- `eye_spot_detected_ratio` - 眼睛点检出比例\n- `embryo_movement_detected` - 是否检测到胚胎抽动（破壳前数小时）\n- `hatching_event_detected` - 是否检测到破壳事件（卵壳破裂 + 鱼苗游出）\n\n### 上下文与基线\n- `species` - 鱼种\n- `species_total_hatch_hours_at_baseline_temp` - 该鱼种在基线水温下的孵化总时长（如 25℃ 斑马鱼 ≈ 60h）\n- `water_temperature_c` - 当前水温\n- `hours_since_spawn` - 距产卵时间（小时，温度修正后估算孵化龄）\n\n## 综合判定（孵化阶段）\n\n- `incubation_unfertilized` - **未受精**（发白/灰白卵比例 > 70% 且持续 ≥ 24h 无颜色进展）\n- `incubation_early` - **早期**（< 30% 孵化总时长，主体透明 + 黄色卵黄囊不明显）\n- `incubation_mid` - **中期**（30-70% 总时长，黄色卵黄囊清晰 + 胚胎轮廓可见）\n- `incubation_late_eyespot` - **晚期-眼睛点**（70-90% 总时长，**黑色眼睛点出现 ≥ 50% 卵**，预计 24h 内破壳）\n- `incubation_pre_hatch` - **临破壳**（> 90% 总时长，胚胎抽动 + 眼睛点清晰）\n- `incubation_hatching` - **正在破壳**（检测到破壳事件 + 鱼苗游出）\n- `incubation_mass_failure` - **大面积失败**（发白/发黑卵 ≥ 60% 且超过预期孵化时间）\n- `incubation_signal_unreliable` - 信号不可靠（焦距未对准/光照不足/卵团遮挡/浑浊度过高）\n\n## 4 级提醒策略递进（孵化阶段更偏\"育苗助手\"，非健康告警）\n\n- Level 1（early / mid）：仅入库 + 用户 APP 进度提示\"孵化进展正常，距预计破壳还有 X 小时\"\n- Level 2（late_eyespot / pre_hatch）：重要提示，\"**已出现眼睛点，预计 24 小时内孵化，请准备丰年虾无节幼体 / 蛋黄水 / 草履虫开口饵料 + 准备分离亲鱼防吞食**\"\n- Level 3（hatching）：紧急提示，\"**正在破壳，请打开微弱光照、停止充气避免幼苗被吸入过滤器、准备鱼苗缸隔离**\"\n- Level 4（unfertilized / mass_failure）：重要预警，\"**未受精或大面积孵化失败（≥ 60%），建议清理坏卵防霉污染水质 + 检查亲鱼健康状态/水温/光照周期 + 联系经验丰富的水族繁殖者**\"\n\n## 单日提醒上限\n\n- Level 1 不限（仅进度更新）/ Level 2 × 4 / Level 3 × 6（破壳事件可能密集）/ Level 4 × 2\n\n## 红线约束\n\n- **禁止**做\"水霉感染 / 真菌污染 / 受精率不足\"等具体疾病或繁殖学诊断\n- **禁止**输出具体药物名称、剂量、给药方案（特别是**严禁推荐甲基蓝、二氯异氰尿酸钠 等防霉化学剂**）\n- **禁止**长期存储完整鱼缸视频/图像（≤ 14 天，仅入库孵化阶段事件帧；公共育苗场/实验室按管理规定）\n- **禁止**用于商业广告 / AI 训练；禁第三方共享\n- **禁止**越权代用户启停加热棒 / 增氧 / 换水 / 投药 / 灯光参数；任何水族设备控制变更必须由用户确认（仅可建议）\n- 颜色比例、眼睛点检出比例等指标必须基于真实图像识别；**禁止伪造或夸大指标**\n- 鱼种特异性：不同鱼种孵化总时长、卵颜色基线差异极大（斑马鱼透明小卵 vs 神仙鱼黄褐色粘性卵 vs 七彩仙人黄色卵 vs 鼠鱼银白色卵）→ 必须按**鱼种 + 水温**联合判定；**禁止使用通用阈值盲判**\n- 必须考虑光照偏差上下文：背光偏色 / 白平衡漂移会让透明卵看起来\"发白\" → 必须做白平衡校正\n- 焦距未对准 / 卵团遮挡 / 浑浊度过高 → 必须返回 `incubation_signal_unreliable`，**禁止给出不可靠的失败判定**\n- 必须告知用户：AI 识别仅供参考，**最终繁殖决策与水质处理需用户结合现场实际或专业繁殖者意见**\n\n## 输出报告字段\n\n- `report_date` - 报告日期\n- `tank_id` - 繁殖缸 ID\n- `species` - 鱼种\n- `spawn_time` - 产卵时间戳\n- `water_temperature_c` - 当前水温\n- `hours_since_spawn` - 距产卵时长（小时）\n- `egg_count_total` - 卵总数\n- `egg_color_distribution` - 颜色分布比例（透明/发白/发黑/黄色卵黄囊）\n- `eye_spot_detected_ratio` - 眼睛点检出比例\n- `composite_scene` - 孵化阶段判定\n- `estimated_hatching_window_hours` - 预计破壳时间窗（小时）\n- `alert_level` - 提醒等级\n- `recommended_actions` - 建议动作（准备丰年虾/分离亲鱼/清理坏卵/停止充气，**不含具体化学药物**）\n- `disclaimer` - 免责声明\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\nThis skill analyzes fish egg images or videos to classify incubation stages, estimate hatching progress, and provide breeder-facing recommendations based on visible color changes and embryonic eye-spot signals.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[18072937735](https://clawhub.ai/user/18072937735)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and aquaculture or ornamental fish breeders use this skill to analyze macro images or videos from breeding tanks and monitor fish egg incubation status. It supports stage reporting, expected hatching windows, and practical preparation guidance while leaving final husbandry decisions to the user.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Private fish egg images, videos, or supplied URLs may be sent to configured LifeEmergence cloud services.\n\nMitigation: Use only where users are comfortable with that transfer, and avoid submitting private or tenant media unless approved.\n\nRisk: The skill can create or reuse a persistent local identity and store service tokens in the workspace data area.\n\nMitigation: Review deployment storage practices before installation and restrict workspace access for environments handling tenant data.\n\nRisk: Incubation classifications and recommendations may be wrong when images are out of focus, occluded, poorly lit, or missing species and water-temperature context.\n\nMitigation: Treat results as advisory, require clear macro media and relevant tank context, and have users confirm final breeding or water-quality actions.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/18072937735/skills/smyx-fish-egg-incubation-stage-analysis)\n- [Skill demo](https://lifeemergence.com/sample.html)\n- [Fish egg incubation API documentation](artifact/references/api_doc.md)\n- [Shared analysis API documentation](artifact/skills/smyx_analysis/references/api_doc.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, configuration, guidance]\n\n**Output Format:** [Markdown or JSON-like structured analysis report with incubation stage, visible signal metrics, recommendations, report links, and optional saved output file]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May query historical reports and may send supplied media or URLs to configured cloud analysis services.]\n\n## Skill Version(s):\n\n1.0.6 (source: server release metadata; artifact frontmatter lists 1.0.13)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.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, 44489 bytes\n\nFiles: references/api_doc.md (6878b), scripts/__init__.py (59b), scripts/config.py (678b), scripts/config.yaml (3b), scripts/skill.py (573b), scripts/smyx_fish_egg_incubation_stage_analysis.py (3704b), skill-card.md (2729b), SKILL.md (16753b), 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 (158b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: \"smyx-fish-egg-incubation-stage-analysis\"\ndescription: \"Through breeding-tank fixed cameras (macro lens), the system periodically captures high-definition images of fish eggs and uses AI vision analysis to detect egg color changes (transparent → white / black) and embryonic eye-spots (small black dots), identifying incubation stages (unfertilized / early / mid / late-eyespot / hatching). | 通过繁殖缸固定摄像头（微距镜头），定期拍摄鱼卵的高清图像，利用 AI 视觉分析技术检测鱼卵颜色变化（透明 → 发白/发黑）以及胚胎眼睛点（黑色小点）的出现，识别鱼卵的孵化阶段（未受精/早期/中期/晚期/破壳）。系统定时（如每 6 小时）自动分析，输出孵化阶段及建议（如'已出现眼睛点，预计 24 小时内孵化，准备丰年虾'）。\"\nversion: \"1.0.11\"\nlicense: \"MIT-0\"\n---\n\n# 🥚 Fish Egg Incubation Stage Identification | 鱼卵孵化状态识别\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **鱼卵孵化状态识别** |\n| 🎯 核心目标 | 通过繁殖缸固定摄像头（微距镜头），定期拍摄鱼卵的高清图像，利用 AI 视觉分析技术检测鱼卵颜色变化（透明 → 发白/发黑）以及胚胎眼睛点（黑色小点）的出现，识别鱼卵的孵化阶段（未受精/早期/中期/晚期/破壳）。系统定时（如每 6 小时）自动分析，输出孵化阶段及建议（如'已出现眼睛点，预计 24 小时内孵化，准备丰年虾'）。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_FISH_EGG_INCUBATION_STAGE_ANALYSIS` |\n\nThrough breeding-tank fixed cameras (macro lens), the system periodically captures high-definition images of fish eggs and uses AI vision analysis to detect egg color changes (transparent → white / black) and embryonic eye-spots (small black dots), identifying incubation stages (unfertilized / early / mid / late-eyespot / hatching). This skill helps ornamental fish breeders track incubation progress and timely separate fry or adjust water quality. Application scenarios: ornamental fish breeding tanks, aquaculture hatcheries, laboratories. The system periodically analyzes (e.g. every 6 hours) and outputs incubation stages plus suggestions (such as 'eye-spots have appeared, hatching expected within 24 hours, prepare brine shrimp'). Skill features: incubation period is a critical stage of ornamental fish breeding — separating fry too early causes death, while separating too late risks the parent fish eating the fry. AI-based automatic recognition of eye-spots and color changes helps novice breeders easily grasp the right timing and reduce failure rate. This skill can be integrated into smart breeding tanks or mobile macro lenses, becoming a breeding assistant for ornamental fish enthusiasts.\n\n通过繁殖缸固定摄像头（微距镜头），定期拍摄鱼卵的高清图像，利用 AI 视觉分析技术检测鱼卵颜色变化（透明 → 发白/发黑）以及胚胎眼睛点（黑色小点）的出现，识别鱼卵的孵化阶段（未受精/早期/中期/晚期/破壳）。该技能有助于观赏鱼繁殖者掌握孵化进度，及时分离鱼苗或调整水质。应用场景：观赏鱼繁殖缸、水产育苗场、实验室。系统定时（如每 6 小时）自动分析，输出孵化阶段及建议（如'已出现眼睛点，预计 24 小时内孵化，准备丰年虾'）。技能特点：鱼卵孵化期是观赏鱼繁殖的关键阶段，过早分离鱼苗会导致死亡，过晚则可能被种鱼吞食。通过 AI 自动识别眼睛点和颜色变化，可帮助新手繁殖者轻松掌握时机，降低失败率。该技能可集成到智能繁殖缸或手机微距镜头中，成为观赏鱼爱好者的繁殖助手。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的水产繁育 AI。你的任务是分析鱼卵的微距图像（≥ 3 倍光学微距，分辨率 ≥ 1080p），检测卵的颜色变化（透明 → 发白/灰白 → 发黑）以及胚胎眼睛点（黑色小点，<0.3 mm）的出现，并结合**鱼种 + 水温 + 距产卵时长**联合判定 8 类孵化阶段（incubation_unfertilized / early / mid / late_eyespot / pre_hatch / hatching / mass_failure / signal_unreliable），按 4 级提醒策略递进（Level 1 进度更新 → Level 2 重要提示 + 准备丰年虾/草履虫/分离亲鱼 → Level 3 紧急提示 + 停止充气避免吸入幼苗 + 隔离 → Level 4 大面积失败 + 清理坏卵防霉 + 检查亲鱼/水温/光照）。鱼种特异性必须按基线判定（斑马鱼 48-72h 透明小卵 vs 神仙鱼 60-72h 黄褐色粘性卵 vs 七彩 60-72h 黄色卵 vs 锦鲤 96-120h@20℃ vs 鼠鱼银白色卵），**严禁通用阈值盲判**。必须做白平衡校正避免\"背光偏色让透明卵看起来发白\"的误判。焦距未对准 / 卵团遮挡 / 浑浊度过高时必须返回 `incubation_signal_unreliable` 并建议重拍/对焦/补光。不提供任何疾病诊断，仅输出基于视觉的孵化阶段分类；**严禁推荐甲基蓝、二氯异氰尿酸钠等防霉化学药物**，**严禁输出具体药物名称和剂量**；严禁伪造夸大颜色比例 / 眼睛点检出率；严禁越权代用户启停加热棒/增氧/换水/灯光（仅建议）。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n基于繁殖缸固定摄像头 / 微距镜头（≥ 3× 光学微距）/ 智能繁殖缸内置微距**定时拍摄**（默认每 6 小时 ≥ 1 张），识别 8 类孵化阶段（incubation_unfertilized / early / mid / late_eyespot / pre_hatch / hatching / mass_failure / signal_unreliable）→ **三组指标**：卵颜色 5 项（卵总数 / 透明比例 / 发白比例 / 发黑比例 / 黄色卵黄囊比例）+ 胚胎发育 4 项（眼睛点检出数 / 检出比例 / 胚胎抽动 / 破壳事件）+ 上下文与基线 4 项（鱼种 / 鱼种基线孵化时长 / 当前水温 / 距产卵时长）→ 4 档提醒级别（info / important / urgent / warning）→ **4 级提醒策略递进**（仅入库进度更新 → 准备丰年虾分离亲鱼 → 停止充气+隔离 → 大面积失败建议清理坏卵+检查亲鱼水温光照）→ 单日提醒上限（Level 1 不限 / Level 2 × 4 / Level 3 × 6 / Level 4 × 2）→ **每次定时分析的孵化阶段报告**（按 tank_id + spawn_time 输出，含颜色分布 + 眼睛点检出率 + 预计破壳时间窗 + 建议动作 + 免责声明）\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 鱼卵小目标检测（直径 0.5-2 mm） |\n| 2 | 卵分类（透明 / 发白 / 发黑 / 含黄色卵黄囊） |\n| 3 | **胚胎眼睛点检测**（黑色亚毫米小点） |\n| 4 | 胚胎抽动光流检测 |\n| 5 | 破壳事件识别（卵壳破裂 + 鱼苗游出） |\n| 6 | 鱼种自适应基线（孵化时长 + 卵颜色基线） |\n| 7 | **水温修正的孵化龄估算**（Q10 系数粗校正） |\n| 8 | 白平衡校正（避免背光偏色误判） |\n| 9 | 用户 APP 推送 |\n| 10 | 4 级提醒递进 |\n| 11 | 单日提醒上限 |\n| 12 | 每次定时分析的孵化阶段报告（按 tank_id + spawn_time 输出） |\n| 13 | 预计破壳时间窗给出（\"24h 内孵化\"等开口饵料准备提示） |\n| 14 | **侧重育苗助手定位**（非健康告警 |\n| 15 | 更偏积极进度提示） |\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_fish_egg_incubation_stage_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_fish_egg_incubation_stage_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 | 🔐 获取 open-id（强制执行） | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行鱼卵孵化状态识别 | 调用 `-m scripts.smyx_fish_egg_incubation_stage_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地繁殖缸固定摄像头/微距镜头鱼卵高清图像或视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络繁殖缸固定摄像头/微距镜头鱼卵高清图像或视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 类别标识，鱼卵孵化状态识别场景默认 `other` | 按需填写 |\n| `--list` | 显示鱼卵孵化状态识别历史记录清单 | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_fish_egg_incubation_stage_analysis.py`](scripts/smyx_fish_egg_incubation_stage_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| 📁 格式支持 | 输入要求：支持 jpg/png/mp4/avi/mov，最大 10MB；摄像头需 **≥ 3× 光学微距 + 冷白补光 + 透过卵层背光**；分辨率 ≥ 1080p；建议每 6 小时定时 ≥ 1 张 |\n| 🔎 使用提醒 | **4 级提醒策略递进**（info → important → urgent → warning），偏育苗助手定位（非健康告警） |\n| 🔎 使用提醒 | 单日提醒上限：Level 1 不限 / Level 2 × 4 / Level 3 × 6（破壳事件可能密集）/ Level 4 × 2 |\n| 🔎 使用提醒 | 红线约束 |\n| 🧑‍⚖️ 结果性质 | **禁止**做\"水霉感染 / 真菌污染 / 受精率不足 / 亲鱼不孕\"等具体疾病或繁殖学诊断 |\n| 🔎 使用提醒 | **🚨 绝对禁止**输出具体药物名称、剂量、给药方案（特别**严禁推荐甲基蓝、二氯异氰尿酸钠等防霉化学剂**） |\n| 🔎 使用提醒 | **禁止**长期存储完整鱼缸视频/图像（≤ 14 天，仅入库孵化阶段事件帧；公共育苗场/实验室按管理规定） |\n| 🔎 使用提醒 | **禁止**用于商业广告 / AI 训练；禁第三方共享 |\n| 🔎 使用提醒 | **禁止**越权代用户启停加热棒 / 增氧 / 换水 / 投药 / 灯光参数；任何水族设备控制变更必须由用户确认（仅可建议） |\n| 🔎 使用提醒 | **绝对禁止**伪造或夸大颜色比例、眼睛点检出比例、孵化进度等指标；所有数据必须基于真实图像识别 |\n| 🔎 使用提醒 | **必须**按**鱼种 + 水温**联合判定基线（斑马鱼 48-72h 透明小卵 / 神仙鱼 60-72h 黄褐色 / 七彩 60-72h 黄色 / 锦鲤 96-120h@20℃ / 鼠鱼银白色卵）；**禁止使用通用阈值盲判** |\n| 🔎 使用提醒 | **必须**做白平衡校正，避免\"背光偏色让透明卵看起来发白\"导致的未受精误判 |\n| 🔎 使用提醒 | **必须**在焦距未对准 / 卵团遮挡 / 浑浊度过高时返回 `incubation_signal_unreliable`，**禁止给出不可靠的失败/未受精判定** |\n| 📜 报告输出 | **必须**：每次定时分析的孵化阶段报告**按 tank_id + spawn_time 输出**，含颜色分布 + 眼睛点检出率 + 预计破壳时间窗 + 建议动作 + 免责声明 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史孵化记录清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地鱼卵微距图像（以下只是示例，禁止直接使用 作为 open-id）\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --input /path/to/eggs.jpg\n\n# 分析网络鱼卵微距图像/视频（以下只是示例，禁止直接使用 作为 open-id）\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --url https://example.com/eggs.jpg\n\n# 显示历史孵化状态记录清单（自动触发关键词：查看鱼卵孵化历史报告、繁殖缸孵化进度日志清单等）\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --input eggs.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --input eggs.jpg --output result.json\n```\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-fish-egg-incubation-stage-analysis\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1788314370482\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}` - 导出孵化状态报告\n5. （可选）`/web/companion/v2/trigger-soothing-action` - 触发联动提醒（用户 APP 推送 / 智能繁殖缸告警灯 / 提示准备丰年虾/分离亲鱼建议）\n\n## 场景代码\n\n- `SMYX_FISH_EGG_INCUBATION_STAGE_ANALYSIS` - 鱼卵孵化状态识别\n\n## 输入约束\n\n- 摄像头：繁殖缸固定摄像头 / **微距镜头**（≥ 3 倍光学微距）/ 智能繁殖缸内置微距\n- 分辨率 ≥ 1080p（鱼卵直径 0.5-2 mm，眼睛点 <0.3 mm，需高清才能可靠识别）；帧率不强制要求（图像模式即可，建议每 6 小时 ≥ 1 张）\n- 光照：建议**冷白补光灯 + 透过卵层背光**，避免直射强光；水质清澈无杂质\n- 拍摄角度：俯拍卵团或正侧面贴近卵层，焦距对准卵团中心\n- 输入类型：支持高清图像（jpg/png）或视频；视频自动抽帧\n- 多繁殖缸场景按摄像头 ID 绑定到注册繁殖缸 ID + 鱼种 + 产卵时间戳（用于换算孵化龄）\n- **部署时必须录入**：鱼种（决定孵化总时长基线，如斑马鱼 48-72h / 神仙鱼 60-72h / 七彩 60-72h / 锦鲤 96-120h@20℃）、产卵时间戳、繁殖缸水温（决定孵化速度）\n- 用户必须授权部署；公共育苗场/实验室需公示告知\n\n## 关键观测信号\n\n### 卵颜色信号（核心）\n- `egg_count_total` - 视野内可识别鱼卵总数\n- `egg_transparent_ratio` - 透明卵比例（早期受精正常）\n- `egg_white_opaque_ratio` - **发白/灰白卵比例**（未受精或死亡卵典型特征）\n- `egg_black_dead_ratio` - 发黑死亡卵比例\n- `egg_yellow_yolk_visible_ratio` - 可见黄色卵黄囊比例（中期典型）\n\n### 胚胎发育信号\n- `eye_spot_detected_count` - **检测到胚胎眼睛点的卵数**（黑色小点，晚期标志）\n- `eye_spot_detected_ratio` - 眼睛点检出比例\n- `embryo_movement_detected` - 是否检测到胚胎抽动（破壳前数小时）\n- `hatching_event_detected` - 是否检测到破壳事件（卵壳破裂 + 鱼苗游出）\n\n### 上下文与基线\n- `species` - 鱼种\n- `species_total_hatch_hours_at_baseline_temp` - 该鱼种在基线水温下的孵化总时长（如 25℃ 斑马鱼 ≈ 60h）\n- `water_temperature_c` - 当前水温\n- `hours_since_spawn` - 距产卵时间（小时，温度修正后估算孵化龄）\n\n## 综合判定（孵化阶段）\n\n- `incubation_unfertilized` - **未受精**（发白/灰白卵比例 > 70% 且持续 ≥ 24h 无颜色进展）\n- `incubation_early` - **早期**（< 30% 孵化总时长，主体透明 + 黄色卵黄囊不明显）\n- `incubation_mid` - **中期**（30-70% 总时长，黄色卵黄囊清晰 + 胚胎轮廓可见）\n- `incubation_late_eyespot` - **晚期-眼睛点**（70-90% 总时长，**黑色眼睛点出现 ≥ 50% 卵**，预计 24h 内破壳）\n- `incubation_pre_hatch` - **临破壳**（> 90% 总时长，胚胎抽动 + 眼睛点清晰）\n- `incubation_hatching` - **正在破壳**（检测到破壳事件 + 鱼苗游出）\n- `incubation_mass_failure` - **大面积失败**（发白/发黑卵 ≥ 60% 且超过预期孵化时间）\n- `incubation_signal_unreliable` - 信号不可靠（焦距未对准/光照不足/卵团遮挡/浑浊度过高）\n\n## 4 级提醒策略递进（孵化阶段更偏\"育苗助手\"，非健康告警）\n\n- Level 1（early / mid）：仅入库 + 用户 APP 进度提示\"孵化进展正常，距预计破壳还有 X 小时\"\n- Level 2（late_eyespot / pre_hatch）：重要提示，\"**已出现眼睛点，预计 24 小时内孵化，请准备丰年虾无节幼体 / 蛋黄水 / 草履虫开口饵料 + 准备分离亲鱼防吞食**\"\n- Level 3（hatching）：紧急提示，\"**正在破壳，请打开微弱光照、停止充气避免幼苗被吸入过滤器、准备鱼苗缸隔离**\"\n- Level 4（unfertilized / mass_failure）：重要预警，\"**未受精或大面积孵化失败（≥ 60%），建议清理坏卵防霉污染水质 + 检查亲鱼健康状态/水温/光照周期 + 联系经验丰富的水族繁殖者**\"\n\n## 单日提醒上限\n\n- Level 1 不限（仅进度更新）/ Level 2 × 4 / Level 3 × 6（破壳事件可能密集）/ Level 4 × 2\n\n## 红线约束\n\n- **禁止**做\"水霉感染 / 真菌污染 / 受精率不足\"等具体疾病或繁殖学诊断\n- **禁止**输出具体药物名称、剂量、给药方案（特别是**严禁推荐甲基蓝、二氯异氰尿酸钠 等防霉化学剂**）\n- **禁止**长期存储完整鱼缸视频/图像（≤ 14 天，仅入库孵化阶段事件帧；公共育苗场/实验室按管理规定）\n- **禁止**用于商业广告 / AI 训练；禁第三方共享\n- **禁止**越权代用户启停加热棒 / 增氧 / 换水 / 投药 / 灯光参数；任何水族设备控制变更必须由用户确认（仅可建议）\n- 颜色比例、眼睛点检出比例等指标必须基于真实图像识别；**禁止伪造或夸大指标**\n- 鱼种特异性：不同鱼种孵化总时长、卵颜色基线差异极大（斑马鱼透明小卵 vs 神仙鱼黄褐色粘性卵 vs 七彩仙人黄色卵 vs 鼠鱼银白色卵）→ 必须按**鱼种 + 水温**联合判定；**禁止使用通用阈值盲判**\n- 必须考虑光照偏差上下文：背光偏色 / 白平衡漂移会让透明卵看起来\"发白\" → 必须做白平衡校正\n- 焦距未对准 / 卵团遮挡 / 浑浊度过高 → 必须返回 `incubation_signal_unreliable`，**禁止给出不可靠的失败判定**\n- 必须告知用户：AI 识别仅供参考，**最终繁殖决策与水质处理需用户结合现场实际或专业繁殖者意见**\n\n## 输出报告字段\n\n- `report_date` - 报告日期\n- `tank_id` - 繁殖缸 ID\n- `species` - 鱼种\n- `spawn_time` - 产卵时间戳\n- `water_temperature_c` - 当前水温\n- `hours_since_spawn` - 距产卵时长（小时）\n- `egg_count_total` - 卵总数\n- `egg_color_distribution` - 颜色分布比例（透明/发白/发黑/黄色卵黄囊）\n- `eye_spot_detected_ratio` - 眼睛点检出比例\n- `composite_scene` - 孵化阶段判定\n- `estimated_hatching_window_hours` - 预计破壳时间窗（小时）\n- `alert_level` - 提醒等级\n- `recommended_actions` - 建议动作（准备丰年虾/分离亲鱼/清理坏卵/停止充气，**不含具体化学药物**）\n- `disclaimer` - 免责声明\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: dev\n\nFile v1.0.5:skill-card.md\n\n## Description:\n\nAnalyzes fish egg images or videos to classify incubation stages from visual signals such as egg color, embryonic eye spots, movement, and hatching events, then returns structured reports and suggested next actions.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[18072937735](https://clawhub.ai/user/18072937735)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal fish breeders, aquaculture hatchery staff, laboratory users, and developers use this skill to analyze macro fish egg media, monitor incubation progress, query prior cloud reports, and receive visual-stage guidance for hatch timing and preparation.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill uploads media and queries analysis history through the LifeEmergence/SMYX cloud service.\n\nMitigation: Use it only for authorized media and deployments where the user trusts that cloud service and its data handling.\n\nRisk: The security summary says the package silently creates or reuses identities and stores tokens locally.\n\nMitigation: Review identity and token retention before installation, run in a controlled environment, and clear local credentials when no longer needed.\n\nRisk: The security summary says the package defaults include plaintext development HTTP endpoints.\n\nMitigation: Configure approved HTTPS production endpoints before deployment and avoid development endpoint defaults in production environments.\n\nRisk: Poor focus, occlusion, turbidity, or lighting can make incubation-stage results unreliable.\n\nMitigation: Require clear macro input and treat unreliable-image outputs as prompts to retake the media rather than as hatchery decisions.\n\n## Reference(s):\n\n- [Fish egg incubation API documentation](references/api_doc.md)\n- [SMYX analysis API documentation](skills/smyx_analysis/references/api_doc.md)\n- [Skill demo](https://lifeemergence.com/sample.html)\n- [ClawHub skill page](https://clawhub.ai/18072937735/skills/smyx-fish-egg-incubation-stage-analysis)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, JSON, shell commands, guidance]\n\n**Output Format:** [Markdown and structured JSON text with report links when available]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May write output to a user-specified file and may query cloud report history.]\n\n## Skill Version(s):\n\n1.0.5 (source: server release metadata; artifact frontmatter says 1.0.11)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.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, 44369 bytes\n\nFiles: references/api_doc.md (6878b), scripts/__init__.py (59b), scripts/config.py (678b), scripts/config.yaml (3b), scripts/skill.py (573b), scripts/smyx_fish_egg_incubation_stage_analysis.py (3704b), skill-card.md (2711b), SKILL.md (16752b), 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 (158b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: \"smyx-fish-egg-incubation-stage-analysis\"\ndescription: \"Through breeding-tank fixed cameras (macro lens), the system periodically captures high-definition images of fish eggs and uses AI vision analysis to detect egg color changes (transparent → white / black) and embryonic eye-spots (small black dots), identifying incubation stages (unfertilized / early / mid / late-eyespot / hatching). | 通过繁殖缸固定摄像头（微距镜头），定期拍摄鱼卵的高清图像，利用 AI 视觉分析技术检测鱼卵颜色变化（透明 → 发白/发黑）以及胚胎眼睛点（黑色小点）的出现，识别鱼卵的孵化阶段（未受精/早期/中期/晚期/破壳）。系统定时（如每 6 小时）自动分析，输出孵化阶段及建议（如'已出现眼睛点，预计 24 小时内孵化，准备丰年虾'）。\"\nversion: \"1.0.2\"\nlicense: \"MIT-0\"\n---\n\n# 🥚 Fish Egg Incubation Stage Identification | 鱼卵孵化状态识别\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **鱼卵孵化状态识别** |\n| 🎯 核心目标 | 通过繁殖缸固定摄像头（微距镜头），定期拍摄鱼卵的高清图像，利用 AI 视觉分析技术检测鱼卵颜色变化（透明 → 发白/发黑）以及胚胎眼睛点（黑色小点）的出现，识别鱼卵的孵化阶段（未受精/早期/中期/晚期/破壳）。系统定时（如每 6 小时）自动分析，输出孵化阶段及建议（如'已出现眼睛点，预计 24 小时内孵化，准备丰年虾'）。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_FISH_EGG_INCUBATION_STAGE_ANALYSIS` |\n\nThrough breeding-tank fixed cameras (macro lens), the system periodically captures high-definition images of fish eggs and uses AI vision analysis to detect egg color changes (transparent → white / black) and embryonic eye-spots (small black dots), identifying incubation stages (unfertilized / early / mid / late-eyespot / hatching). This skill helps ornamental fish breeders track incubation progress and timely separate fry or adjust water quality. Application scenarios: ornamental fish breeding tanks, aquaculture hatcheries, laboratories. The system periodically analyzes (e.g. every 6 hours) and outputs incubation stages plus suggestions (such as 'eye-spots have appeared, hatching expected within 24 hours, prepare brine shrimp'). Skill features: incubation period is a critical stage of ornamental fish breeding — separating fry too early causes death, while separating too late risks the parent fish eating the fry. AI-based automatic recognition of eye-spots and color changes helps novice breeders easily grasp the right timing and reduce failure rate. This skill can be integrated into smart breeding tanks or mobile macro lenses, becoming a breeding assistant for ornamental fish enthusiasts.\n\n通过繁殖缸固定摄像头（微距镜头），定期拍摄鱼卵的高清图像，利用 AI 视觉分析技术检测鱼卵颜色变化（透明 → 发白/发黑）以及胚胎眼睛点（黑色小点）的出现，识别鱼卵的孵化阶段（未受精/早期/中期/晚期/破壳）。该技能有助于观赏鱼繁殖者掌握孵化进度，及时分离鱼苗或调整水质。应用场景：观赏鱼繁殖缸、水产育苗场、实验室。系统定时（如每 6 小时）自动分析，输出孵化阶段及建议（如'已出现眼睛点，预计 24 小时内孵化，准备丰年虾'）。技能特点：鱼卵孵化期是观赏鱼繁殖的关键阶段，过早分离鱼苗会导致死亡，过晚则可能被种鱼吞食。通过 AI 自动识别眼睛点和颜色变化，可帮助新手繁殖者轻松掌握时机，降低失败率。该技能可集成到智能繁殖缸或手机微距镜头中，成为观赏鱼爱好者的繁殖助手。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的水产繁育 AI。你的任务是分析鱼卵的微距图像（≥ 3 倍光学微距，分辨率 ≥ 1080p），检测卵的颜色变化（透明 → 发白/灰白 → 发黑）以及胚胎眼睛点（黑色小点，<0.3 mm）的出现，并结合**鱼种 + 水温 + 距产卵时长**联合判定 8 类孵化阶段（incubation_unfertilized / early / mid / late_eyespot / pre_hatch / hatching / mass_failure / signal_unreliable），按 4 级提醒策略递进（Level 1 进度更新 → Level 2 重要提示 + 准备丰年虾/草履虫/分离亲鱼 → Level 3 紧急提示 + 停止充气避免吸入幼苗 + 隔离 → Level 4 大面积失败 + 清理坏卵防霉 + 检查亲鱼/水温/光照）。鱼种特异性必须按基线判定（斑马鱼 48-72h 透明小卵 vs 神仙鱼 60-72h 黄褐色粘性卵 vs 七彩 60-72h 黄色卵 vs 锦鲤 96-120h@20℃ vs 鼠鱼银白色卵），**严禁通用阈值盲判**。必须做白平衡校正避免\"背光偏色让透明卵看起来发白\"的误判。焦距未对准 / 卵团遮挡 / 浑浊度过高时必须返回 `incubation_signal_unreliable` 并建议重拍/对焦/补光。不提供任何疾病诊断，仅输出基于视觉的孵化阶段分类；**严禁推荐甲基蓝、二氯异氰尿酸钠等防霉化学药物**，**严禁输出具体药物名称和剂量**；严禁伪造夸大颜色比例 / 眼睛点检出率；严禁越权代用户启停加热棒/增氧/换水/灯光（仅建议）。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n基于繁殖缸固定摄像头 / 微距镜头（≥ 3× 光学微距）/ 智能繁殖缸内置微距**定时拍摄**（默认每 6 小时 ≥ 1 张），识别 8 类孵化阶段（incubation_unfertilized / early / mid / late_eyespot / pre_hatch / hatching / mass_failure / signal_unreliable）→ **三组指标**：卵颜色 5 项（卵总数 / 透明比例 / 发白比例 / 发黑比例 / 黄色卵黄囊比例）+ 胚胎发育 4 项（眼睛点检出数 / 检出比例 / 胚胎抽动 / 破壳事件）+ 上下文与基线 4 项（鱼种 / 鱼种基线孵化时长 / 当前水温 / 距产卵时长）→ 4 档提醒级别（info / important / urgent / warning）→ **4 级提醒策略递进**（仅入库进度更新 → 准备丰年虾分离亲鱼 → 停止充气+隔离 → 大面积失败建议清理坏卵+检查亲鱼水温光照）→ 单日提醒上限（Level 1 不限 / Level 2 × 4 / Level 3 × 6 / Level 4 × 2）→ **每次定时分析的孵化阶段报告**（按 tank_id + spawn_time 输出，含颜色分布 + 眼睛点检出率 + 预计破壳时间窗 + 建议动作 + 免责声明）\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 鱼卵小目标检测（直径 0.5-2 mm） |\n| 2 | 卵分类（透明 / 发白 / 发黑 / 含黄色卵黄囊） |\n| 3 | **胚胎眼睛点检测**（黑色亚毫米小点） |\n| 4 | 胚胎抽动光流检测 |\n| 5 | 破壳事件识别（卵壳破裂 + 鱼苗游出） |\n| 6 | 鱼种自适应基线（孵化时长 + 卵颜色基线） |\n| 7 | **水温修正的孵化龄估算**（Q10 系数粗校正） |\n| 8 | 白平衡校正（避免背光偏色误判） |\n| 9 | 用户 APP 推送 |\n| 10 | 4 级提醒递进 |\n| 11 | 单日提醒上限 |\n| 12 | 每次定时分析的孵化阶段报告（按 tank_id + spawn_time 输出） |\n| 13 | 预计破壳时间窗给出（\"24h 内孵化\"等开口饵料准备提示） |\n| 14 | **侧重育苗助手定位**（非健康告警 |\n| 15 | 更偏积极进度提示） |\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_fish_egg_incubation_stage_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_fish_egg_incubation_stage_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 | 🔐 获取 open-id（强制执行） | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行鱼卵孵化状态识别 | 调用 `-m scripts.smyx_fish_egg_incubation_stage_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地繁殖缸固定摄像头/微距镜头鱼卵高清图像或视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络繁殖缸固定摄像头/微距镜头鱼卵高清图像或视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 类别标识，鱼卵孵化状态识别场景默认 `other` | 按需填写 |\n| `--list` | 显示鱼卵孵化状态识别历史记录清单 | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_fish_egg_incubation_stage_analysis.py`](scripts/smyx_fish_egg_incubation_stage_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| 📁 格式支持 | 输入要求：支持 jpg/png/mp4/avi/mov，最大 10MB；摄像头需 **≥ 3× 光学微距 + 冷白补光 + 透过卵层背光**；分辨率 ≥ 1080p；建议每 6 小时定时 ≥ 1 张 |\n| 🔎 使用提醒 | **4 级提醒策略递进**（info → important → urgent → warning），偏育苗助手定位（非健康告警） |\n| 🔎 使用提醒 | 单日提醒上限：Level 1 不限 / Level 2 × 4 / Level 3 × 6（破壳事件可能密集）/ Level 4 × 2 |\n| 🔎 使用提醒 | 红线约束 |\n| 🧑‍⚖️ 结果性质 | **禁止**做\"水霉感染 / 真菌污染 / 受精率不足 / 亲鱼不孕\"等具体疾病或繁殖学诊断 |\n| 🔎 使用提醒 | **🚨 绝对禁止**输出具体药物名称、剂量、给药方案（特别**严禁推荐甲基蓝、二氯异氰尿酸钠等防霉化学剂**） |\n| 🔎 使用提醒 | **禁止**长期存储完整鱼缸视频/图像（≤ 14 天，仅入库孵化阶段事件帧；公共育苗场/实验室按管理规定） |\n| 🔎 使用提醒 | **禁止**用于商业广告 / AI 训练；禁第三方共享 |\n| 🔎 使用提醒 | **禁止**越权代用户启停加热棒 / 增氧 / 换水 / 投药 / 灯光参数；任何水族设备控制变更必须由用户确认（仅可建议） |\n| 🔎 使用提醒 | **绝对禁止**伪造或夸大颜色比例、眼睛点检出比例、孵化进度等指标；所有数据必须基于真实图像识别 |\n| 🔎 使用提醒 | **必须**按**鱼种 + 水温**联合判定基线（斑马鱼 48-72h 透明小卵 / 神仙鱼 60-72h 黄褐色 / 七彩 60-72h 黄色 / 锦鲤 96-120h@20℃ / 鼠鱼银白色卵）；**禁止使用通用阈值盲判** |\n| 🔎 使用提醒 | **必须**做白平衡校正，避免\"背光偏色让透明卵看起来发白\"导致的未受精误判 |\n| 🔎 使用提醒 | **必须**在焦距未对准 / 卵团遮挡 / 浑浊度过高时返回 `incubation_signal_unreliable`，**禁止给出不可靠的失败/未受精判定** |\n| 📜 报告输出 | **必须**：每次定时分析的孵化阶段报告**按 tank_id + spawn_time 输出**，含颜色分布 + 眼睛点检出率 + 预计破壳时间窗 + 建议动作 + 免责声明 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史孵化记录清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地鱼卵微距图像（以下只是示例，禁止直接使用 作为 open-id）\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --input /path/to/eggs.jpg\n\n# 分析网络鱼卵微距图像/视频（以下只是示例，禁止直接使用 作为 open-id）\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --url https://example.com/eggs.jpg\n\n# 显示历史孵化状态记录清单（自动触发关键词：查看鱼卵孵化历史报告、繁殖缸孵化进度日志清单等）\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --input eggs.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --input eggs.jpg --output result.json\n```\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-fish-egg-incubation-stage-analysis\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1783454817396\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}` - 导出孵化状态报告\n5. （可选）`/web/companion/v2/trigger-soothing-action` - 触发联动提醒（用户 APP 推送 / 智能繁殖缸告警灯 / 提示准备丰年虾/分离亲鱼建议）\n\n## 场景代码\n\n- `SMYX_FISH_EGG_INCUBATION_STAGE_ANALYSIS` - 鱼卵孵化状态识别\n\n## 输入约束\n\n- 摄像头：繁殖缸固定摄像头 / **微距镜头**（≥ 3 倍光学微距）/ 智能繁殖缸内置微距\n- 分辨率 ≥ 1080p（鱼卵直径 0.5-2 mm，眼睛点 <0.3 mm，需高清才能可靠识别）；帧率不强制要求（图像模式即可，建议每 6 小时 ≥ 1 张）\n- 光照：建议**冷白补光灯 + 透过卵层背光**，避免直射强光；水质清澈无杂质\n- 拍摄角度：俯拍卵团或正侧面贴近卵层，焦距对准卵团中心\n- 输入类型：支持高清图像（jpg/png）或视频；视频自动抽帧\n- 多繁殖缸场景按摄像头 ID 绑定到注册繁殖缸 ID + 鱼种 + 产卵时间戳（用于换算孵化龄）\n- **部署时必须录入**：鱼种（决定孵化总时长基线，如斑马鱼 48-72h / 神仙鱼 60-72h / 七彩 60-72h / 锦鲤 96-120h@20℃）、产卵时间戳、繁殖缸水温（决定孵化速度）\n- 用户必须授权部署；公共育苗场/实验室需公示告知\n\n## 关键观测信号\n\n### 卵颜色信号（核心）\n- `egg_count_total` - 视野内可识别鱼卵总数\n- `egg_transparent_ratio` - 透明卵比例（早期受精正常）\n- `egg_white_opaque_ratio` - **发白/灰白卵比例**（未受精或死亡卵典型特征）\n- `egg_black_dead_ratio` - 发黑死亡卵比例\n- `egg_yellow_yolk_visible_ratio` - 可见黄色卵黄囊比例（中期典型）\n\n### 胚胎发育信号\n- `eye_spot_detected_count` - **检测到胚胎眼睛点的卵数**（黑色小点，晚期标志）\n- `eye_spot_detected_ratio` - 眼睛点检出比例\n- `embryo_movement_detected` - 是否检测到胚胎抽动（破壳前数小时）\n- `hatching_event_detected` - 是否检测到破壳事件（卵壳破裂 + 鱼苗游出）\n\n### 上下文与基线\n- `species` - 鱼种\n- `species_total_hatch_hours_at_baseline_temp` - 该鱼种在基线水温下的孵化总时长（如 25℃ 斑马鱼 ≈ 60h）\n- `water_temperature_c` - 当前水温\n- `hours_since_spawn` - 距产卵时间（小时，温度修正后估算孵化龄）\n\n## 综合判定（孵化阶段）\n\n- `incubation_unfertilized` - **未受精**（发白/灰白卵比例 > 70% 且持续 ≥ 24h 无颜色进展）\n- `incubation_early` - **早期**（< 30% 孵化总时长，主体透明 + 黄色卵黄囊不明显）\n- `incubation_mid` - **中期**（30-70% 总时长，黄色卵黄囊清晰 + 胚胎轮廓可见）\n- `incubation_late_eyespot` - **晚期-眼睛点**（70-90% 总时长，**黑色眼睛点出现 ≥ 50% 卵**，预计 24h 内破壳）\n- `incubation_pre_hatch` - **临破壳**（> 90% 总时长，胚胎抽动 + 眼睛点清晰）\n- `incubation_hatching` - **正在破壳**（检测到破壳事件 + 鱼苗游出）\n- `incubation_mass_failure` - **大面积失败**（发白/发黑卵 ≥ 60% 且超过预期孵化时间）\n- `incubation_signal_unreliable` - 信号不可靠（焦距未对准/光照不足/卵团遮挡/浑浊度过高）\n\n## 4 级提醒策略递进（孵化阶段更偏\"育苗助手\"，非健康告警）\n\n- Level 1（early / mid）：仅入库 + 用户 APP 进度提示\"孵化进展正常，距预计破壳还有 X 小时\"\n- Level 2（late_eyespot / pre_hatch）：重要提示，\"**已出现眼睛点，预计 24 小时内孵化，请准备丰年虾无节幼体 / 蛋黄水 / 草履虫开口饵料 + 准备分离亲鱼防吞食**\"\n- Level 3（hatching）：紧急提示，\"**正在破壳，请打开微弱光照、停止充气避免幼苗被吸入过滤器、准备鱼苗缸隔离**\"\n- Level 4（unfertilized / mass_failure）：重要预警，\"**未受精或大面积孵化失败（≥ 60%），建议清理坏卵防霉污染水质 + 检查亲鱼健康状态/水温/光照周期 + 联系经验丰富的水族繁殖者**\"\n\n## 单日提醒上限\n\n- Level 1 不限（仅进度更新）/ Level 2 × 4 / Level 3 × 6（破壳事件可能密集）/ Level 4 × 2\n\n## 红线约束\n\n- **禁止**做\"水霉感染 / 真菌污染 / 受精率不足\"等具体疾病或繁殖学诊断\n- **禁止**输出具体药物名称、剂量、给药方案（特别是**严禁推荐甲基蓝、二氯异氰尿酸钠 等防霉化学剂**）\n- **禁止**长期存储完整鱼缸视频/图像（≤ 14 天，仅入库孵化阶段事件帧；公共育苗场/实验室按管理规定）\n- **禁止**用于商业广告 / AI 训练；禁第三方共享\n- **禁止**越权代用户启停加热棒 / 增氧 / 换水 / 投药 / 灯光参数；任何水族设备控制变更必须由用户确认（仅可建议）\n- 颜色比例、眼睛点检出比例等指标必须基于真实图像识别；**禁止伪造或夸大指标**\n- 鱼种特异性：不同鱼种孵化总时长、卵颜色基线差异极大（斑马鱼透明小卵 vs 神仙鱼黄褐色粘性卵 vs 七彩仙人黄色卵 vs 鼠鱼银白色卵）→ 必须按**鱼种 + 水温**联合判定；**禁止使用通用阈值盲判**\n- 必须考虑光照偏差上下文：背光偏色 / 白平衡漂移会让透明卵看起来\"发白\" → 必须做白平衡校正\n- 焦距未对准 / 卵团遮挡 / 浑浊度过高 → 必须返回 `incubation_signal_unreliable`，**禁止给出不可靠的失败判定**\n- 必须告知用户：AI 识别仅供参考，**最终繁殖决策与水质处理需用户结合现场实际或专业繁殖者意见**\n\n## 输出报告字段\n\n- `report_date` - 报告日期\n- `tank_id` - 繁殖缸 ID\n- `species` - 鱼种\n- `spawn_time` - 产卵时间戳\n- `water_temperature_c` - 当前水温\n- `hours_since_spawn` - 距产卵时长（小时）\n- `egg_count_total` - 卵总数\n- `egg_color_distribution` - 颜色分布比例（透明/发白/发黑/黄色卵黄囊）\n- `eye_spot_detected_ratio` - 眼睛点检出比例\n- `composite_scene` - 孵化阶段判定\n- `estimated_hatching_window_hours` - 预计破壳时间窗（小时）\n- `alert_level` - 提醒等级\n- `recommended_actions` - 建议动作（准备丰年虾/分离亲鱼/清理坏卵/停止充气，**不含具体化学药物**）\n- `disclaimer` - 免责声明\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>\nThrough breeding-tank fixed cameras or macro-lens inputs, this skill analyzes fish-egg images or videos to identify incubation stages, report visual development signals, and provide breeding-stage recommendations. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[18072937735](https://clawhub.ai/user/18072937735) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal ornamental fish breeders, aquaculture hatchery staff, and laboratory users can use this skill to classify fish-egg incubation stages from macro images or videos, monitor eye-spot and color-change signals, and receive structured guidance about likely hatching progress. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Fish-egg images, videos, or media URLs may be sent to the publisher's cloud service for analysis. <br>\nMitigation: Use the skill only with media the user is comfortable uploading, and review the publisher's retention and account-linkage expectations before deployment. <br>\nRisk: The security scan reports silent local identity linking and local bearer-token storage. <br>\nMitigation: Run the skill in an isolated environment, inspect local credential storage, and remove or rotate stored tokens when access is no longer needed. <br>\nRisk: History lookup may fetch prior reports through the local identity associated with the skill. <br>\nMitigation: Avoid shared workstations for report lookup and confirm that historical report access matches the user's authorization and privacy expectations. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/18072937735/skills/smyx-fish-egg-incubation-stage-analysis) <br>\n- [Fish egg incubation API documentation](references/api_doc.md) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, guidance] <br>\n**Output Format:** [Markdown summaries with JSON-capable structured report fields and command snippets] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May include incubation-stage classifications, color distribution metrics, eye-spot detection ratios, recommended actions, disclaimers, report links, and history tables.] <br>\n\n## Skill Version(s): <br>\n1.0.4 (source: server release evidence; artifact frontmatter lists 1.0.2) <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, 44414 bytes\n\nFiles: references/api_doc.md (6878b), scripts/__init__.py (59b), scripts/config.py (678b), scripts/config.yaml (3b), scripts/skill.py (573b), scripts/smyx_fish_egg_incubation_stage_analysis.py (3704b), skill-card.md (2800b), SKILL.md (16752b), 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 (24279b), 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 (158b)\n\nFile v1.0.3:SKILL.md\n\n---\nname: \"smyx-fish-egg-incubation-stage-analysis\"\ndescription: \"Through breeding-tank fixed cameras (macro lens), the system periodically captures high-definition images of fish eggs and uses AI vision analysis to detect egg color changes (transparent → white / black) and embryonic eye-spots (small black dots), identifying incubation stages (unfertilized / early / mid / late-eyespot / hatching). | 通过繁殖缸固定摄像头（微距镜头），定期拍摄鱼卵的高清图像，利用 AI 视觉分析技术检测鱼卵颜色变化（透明 → 发白/发黑）以及胚胎眼睛点（黑色小点）的出现，识别鱼卵的孵化阶段（未受精/早期/中期/晚期/破壳）。系统定时（如每 6 小时）自动分析，输出孵化阶段及建议（如'已出现眼睛点，预计 24 小时内孵化，准备丰年虾'）。\"\nversion: \"1.0.1\"\nlicense: \"MIT-0\"\n---\n\n# 🥚 Fish Egg Incubation Stage Identification | 鱼卵孵化状态识别\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **鱼卵孵化状态识别** |\n| 🎯 核心目标 | 通过繁殖缸固定摄像头（微距镜头），定期拍摄鱼卵的高清图像，利用 AI 视觉分析技术检测鱼卵颜色变化（透明 → 发白/发黑）以及胚胎眼睛点（黑色小点）的出现，识别鱼卵的孵化阶段（未受精/早期/中期/晚期/破壳）。系统定时（如每 6 小时）自动分析，输出孵化阶段及建议（如'已出现眼睛点，预计 24 小时内孵化，准备丰年虾'）。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_FISH_EGG_INCUBATION_STAGE_ANALYSIS` |\n\nThrough breeding-tank fixed cameras (macro lens), the system periodically captures high-definition images of fish eggs and uses AI vision analysis to detect egg color changes (transparent → white / black) and embryonic eye-spots (small black dots), identifying incubation stages (unfertilized / early / mid / late-eyespot / hatching). This skill helps ornamental fish breeders track incubation progress and timely separate fry or adjust water quality. Application scenarios: ornamental fish breeding tanks, aquaculture hatcheries, laboratories. The system periodically analyzes (e.g. every 6 hours) and outputs incubation stages plus suggestions (such as 'eye-spots have appeared, hatching expected within 24 hours, prepare brine shrimp'). Skill features: incubation period is a critical stage of ornamental fish breeding — separating fry too early causes death, while separating too late risks the parent fish eating the fry. AI-based automatic recognition of eye-spots and color changes helps novice breeders easily grasp the right timing and reduce failure rate. This skill can be integrated into smart breeding tanks or mobile macro lenses, becoming a breeding assistant for ornamental fish enthusiasts.\n\n通过繁殖缸固定摄像头（微距镜头），定期拍摄鱼卵的高清图像，利用 AI 视觉分析技术检测鱼卵颜色变化（透明 → 发白/发黑）以及胚胎眼睛点（黑色小点）的出现，识别鱼卵的孵化阶段（未受精/早期/中期/晚期/破壳）。该技能有助于观赏鱼繁殖者掌握孵化进度，及时分离鱼苗或调整水质。应用场景：观赏鱼繁殖缸、水产育苗场、实验室。系统定时（如每 6 小时）自动分析，输出孵化阶段及建议（如'已出现眼睛点，预计 24 小时内孵化，准备丰年虾'）。技能特点：鱼卵孵化期是观赏鱼繁殖的关键阶段，过早分离鱼苗会导致死亡，过晚则可能被种鱼吞食。通过 AI 自动识别眼睛点和颜色变化，可帮助新手繁殖者轻松掌握时机，降低失败率。该技能可集成到智能繁殖缸或手机微距镜头中，成为观赏鱼爱好者的繁殖助手。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的水产繁育 AI。你的任务是分析鱼卵的微距图像（≥ 3 倍光学微距，分辨率 ≥ 1080p），检测卵的颜色变化（透明 → 发白/灰白 → 发黑）以及胚胎眼睛点（黑色小点，<0.3 mm）的出现，并结合**鱼种 + 水温 + 距产卵时长**联合判定 8 类孵化阶段（incubation_unfertilized / early / mid / late_eyespot / pre_hatch / hatching / mass_failure / signal_unreliable），按 4 级提醒策略递进（Level 1 进度更新 → Level 2 重要提示 + 准备丰年虾/草履虫/分离亲鱼 → Level 3 紧急提示 + 停止充气避免吸入幼苗 + 隔离 → Level 4 大面积失败 + 清理坏卵防霉 + 检查亲鱼/水温/光照）。鱼种特异性必须按基线判定（斑马鱼 48-72h 透明小卵 vs 神仙鱼 60-72h 黄褐色粘性卵 vs 七彩 60-72h 黄色卵 vs 锦鲤 96-120h@20℃ vs 鼠鱼银白色卵），**严禁通用阈值盲判**。必须做白平衡校正避免\"背光偏色让透明卵看起来发白\"的误判。焦距未对准 / 卵团遮挡 / 浑浊度过高时必须返回 `incubation_signal_unreliable` 并建议重拍/对焦/补光。不提供任何疾病诊断，仅输出基于视觉的孵化阶段分类；**严禁推荐甲基蓝、二氯异氰尿酸钠等防霉化学药物**，**严禁输出具体药物名称和剂量**；严禁伪造夸大颜色比例 / 眼睛点检出率；严禁越权代用户启停加热棒/增氧/换水/灯光（仅建议）。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n基于繁殖缸固定摄像头 / 微距镜头（≥ 3× 光学微距）/ 智能繁殖缸内置微距**定时拍摄**（默认每 6 小时 ≥ 1 张），识别 8 类孵化阶段（incubation_unfertilized / early / mid / late_eyespot / pre_hatch / hatching / mass_failure / signal_unreliable）→ **三组指标**：卵颜色 5 项（卵总数 / 透明比例 / 发白比例 / 发黑比例 / 黄色卵黄囊比例）+ 胚胎发育 4 项（眼睛点检出数 / 检出比例 / 胚胎抽动 / 破壳事件）+ 上下文与基线 4 项（鱼种 / 鱼种基线孵化时长 / 当前水温 / 距产卵时长）→ 4 档提醒级别（info / important / urgent / warning）→ **4 级提醒策略递进**（仅入库进度更新 → 准备丰年虾分离亲鱼 → 停止充气+隔离 → 大面积失败建议清理坏卵+检查亲鱼水温光照）→ 单日提醒上限（Level 1 不限 / Level 2 × 4 / Level 3 × 6 / Level 4 × 2）→ **每次定时分析的孵化阶段报告**（按 tank_id + spawn_time 输出，含颜色分布 + 眼睛点检出率 + 预计破壳时间窗 + 建议动作 + 免责声明）\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 鱼卵小目标检测（直径 0.5-2 mm） |\n| 2 | 卵分类（透明 / 发白 / 发黑 / 含黄色卵黄囊） |\n| 3 | **胚胎眼睛点检测**（黑色亚毫米小点） |\n| 4 | 胚胎抽动光流检测 |\n| 5 | 破壳事件识别（卵壳破裂 + 鱼苗游出） |\n| 6 | 鱼种自适应基线（孵化时长 + 卵颜色基线） |\n| 7 | **水温修正的孵化龄估算**（Q10 系数粗校正） |\n| 8 | 白平衡校正（避免背光偏色误判） |\n| 9 | 用户 APP 推送 |\n| 10 | 4 级提醒递进 |\n| 11 | 单日提醒上限 |\n| 12 | 每次定时分析的孵化阶段报告（按 tank_id + spawn_time 输出） |\n| 13 | 预计破壳时间窗给出（\"24h 内孵化\"等开口饵料准备提示） |\n| 14 | **侧重育苗助手定位**（非健康告警 |\n| 15 | 更偏积极进度提示） |\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_fish_egg_incubation_stage_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_fish_egg_incubation_stage_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 | 🔐 获取 open-id（强制执行） | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行鱼卵孵化状态识别 | 调用 `-m scripts.smyx_fish_egg_incubation_stage_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地繁殖缸固定摄像头/微距镜头鱼卵高清图像或视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络繁殖缸固定摄像头/微距镜头鱼卵高清图像或视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 类别标识，鱼卵孵化状态识别场景默认 `other` | 按需填写 |\n| `--list` | 显示鱼卵孵化状态识别历史记录清单 | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_fish_egg_incubation_stage_analysis.py`](scripts/smyx_fish_egg_incubation_stage_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| 📁 格式支持 | 输入要求：支持 jpg/png/mp4/avi/mov，最大 10MB；摄像头需 **≥ 3× 光学微距 + 冷白补光 + 透过卵层背光**；分辨率 ≥ 1080p；建议每 6 小时定时 ≥ 1 张 |\n| 🔎 使用提醒 | **4 级提醒策略递进**（info → important → urgent → warning），偏育苗助手定位（非健康告警） |\n| 🔎 使用提醒 | 单日提醒上限：Level 1 不限 / Level 2 × 4 / Level 3 × 6（破壳事件可能密集）/ Level 4 × 2 |\n| 🔎 使用提醒 | 红线约束 |\n| 🧑‍⚖️ 结果性质 | **禁止**做\"水霉感染 / 真菌污染 / 受精率不足 / 亲鱼不孕\"等具体疾病或繁殖学诊断 |\n| 🔎 使用提醒 | **🚨 绝对禁止**输出具体药物名称、剂量、给药方案（特别**严禁推荐甲基蓝、二氯异氰尿酸钠等防霉化学剂**） |\n| 🔎 使用提醒 | **禁止**长期存储完整鱼缸视频/图像（≤ 14 天，仅入库孵化阶段事件帧；公共育苗场/实验室按管理规定） |\n| 🔎 使用提醒 | **禁止**用于商业广告 / AI 训练；禁第三方共享 |\n| 🔎 使用提醒 | **禁止**越权代用户启停加热棒 / 增氧 / 换水 / 投药 / 灯光参数；任何水族设备控制变更必须由用户确认（仅可建议） |\n| 🔎 使用提醒 | **绝对禁止**伪造或夸大颜色比例、眼睛点检出比例、孵化进度等指标；所有数据必须基于真实图像识别 |\n| 🔎 使用提醒 | **必须**按**鱼种 + 水温**联合判定基线（斑马鱼 48-72h 透明小卵 / 神仙鱼 60-72h 黄褐色 / 七彩 60-72h 黄色 / 锦鲤 96-120h@20℃ / 鼠鱼银白色卵）；**禁止使用通用阈值盲判** |\n| 🔎 使用提醒 | **必须**做白平衡校正，避免\"背光偏色让透明卵看起来发白\"导致的未受精误判 |\n| 🔎 使用提醒 | **必须**在焦距未对准 / 卵团遮挡 / 浑浊度过高时返回 `incubation_signal_unreliable`，**禁止给出不可靠的失败/未受精判定** |\n| 📜 报告输出 | **必须**：每次定时分析的孵化阶段报告**按 tank_id + spawn_time 输出**，含颜色分布 + 眼睛点检出率 + 预计破壳时间窗 + 建议动作 + 免责声明 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史孵化记录清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地鱼卵微距图像（以下只是示例，禁止直接使用 作为 open-id）\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --input /path/to/eggs.jpg\n\n# 分析网络鱼卵微距图像/视频（以下只是示例，禁止直接使用 作为 open-id）\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --url https://example.com/eggs.jpg\n\n# 显示历史孵化状态记录清单（自动触发关键词：查看鱼卵孵化历史报告、繁殖缸孵化进度日志清单等）\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --input eggs.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --input eggs.jpg --output result.json\n```\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-fish-egg-incubation-stage-analysis\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1783080332952\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}` - 导出孵化状态报告\n5. （可选）`/web/companion/v2/trigger-soothing-action` - 触发联动提醒（用户 APP 推送 / 智能繁殖缸告警灯 / 提示准备丰年虾/分离亲鱼建议）\n\n## 场景代码\n\n- `SMYX_FISH_EGG_INCUBATION_STAGE_ANALYSIS` - 鱼卵孵化状态识别\n\n## 输入约束\n\n- 摄像头：繁殖缸固定摄像头 / **微距镜头**（≥ 3 倍光学微距）/ 智能繁殖缸内置微距\n- 分辨率 ≥ 1080p（鱼卵直径 0.5-2 mm，眼睛点 <0.3 mm，需高清才能可靠识别）；帧率不强制要求（图像模式即可，建议每 6 小时 ≥ 1 张）\n- 光照：建议**冷白补光灯 + 透过卵层背光**，避免直射强光；水质清澈无杂质\n- 拍摄角度：俯拍卵团或正侧面贴近卵层，焦距对准卵团中心\n- 输入类型：支持高清图像（jpg/png）或视频；视频自动抽帧\n- 多繁殖缸场景按摄像头 ID 绑定到注册繁殖缸 ID + 鱼种 + 产卵时间戳（用于换算孵化龄）\n- **部署时必须录入**：鱼种（决定孵化总时长基线，如斑马鱼 48-72h / 神仙鱼 60-72h / 七彩 60-72h / 锦鲤 96-120h@20℃）、产卵时间戳、繁殖缸水温（决定孵化速度）\n- 用户必须授权部署；公共育苗场/实验室需公示告知\n\n## 关键观测信号\n\n### 卵颜色信号（核心）\n- `egg_count_total` - 视野内可识别鱼卵总数\n- `egg_transparent_ratio` - 透明卵比例（早期受精正常）\n- `egg_white_opaque_ratio` - **发白/灰白卵比例**（未受精或死亡卵典型特征）\n- `egg_black_dead_ratio` - 发黑死亡卵比例\n- `egg_yellow_yolk_visible_ratio` - 可见黄色卵黄囊比例（中期典型）\n\n### 胚胎发育信号\n- `eye_spot_detected_count` - **检测到胚胎眼睛点的卵数**（黑色小点，晚期标志）\n- `eye_spot_detected_ratio` - 眼睛点检出比例\n- `embryo_movement_detected` - 是否检测到胚胎抽动（破壳前数小时）\n- `hatching_event_detected` - 是否检测到破壳事件（卵壳破裂 + 鱼苗游出）\n\n### 上下文与基线\n- `species` - 鱼种\n- `species_total_hatch_hours_at_baseline_temp` - 该鱼种在基线水温下的孵化总时长（如 25℃ 斑马鱼 ≈ 60h）\n- `water_temperature_c` - 当前水温\n- `hours_since_spawn` - 距产卵时间（小时，温度修正后估算孵化龄）\n\n## 综合判定（孵化阶段）\n\n- `incubation_unfertilized` - **未受精**（发白/灰白卵比例 > 70% 且持续 ≥ 24h 无颜色进展）\n- `incubation_early` - **早期**（< 30% 孵化总时长，主体透明 + 黄色卵黄囊不明显）\n- `incubation_mid` - **中期**（30-70% 总时长，黄色卵黄囊清晰 + 胚胎轮廓可见）\n- `incubation_late_eyespot` - **晚期-眼睛点**（70-90% 总时长，**黑色眼睛点出现 ≥ 50% 卵**，预计 24h 内破壳）\n- `incubation_pre_hatch` - **临破壳**（> 90% 总时长，胚胎抽动 + 眼睛点清晰）\n- `incubation_hatching` - **正在破壳**（检测到破壳事件 + 鱼苗游出）\n- `incubation_mass_failure` - **大面积失败**（发白/发黑卵 ≥ 60% 且超过预期孵化时间）\n- `incubation_signal_unreliable` - 信号不可靠（焦距未对准/光照不足/卵团遮挡/浑浊度过高）\n\n## 4 级提醒策略递进（孵化阶段更偏\"育苗助手\"，非健康告警）\n\n- Level 1（early / mid）：仅入库 + 用户 APP 进度提示\"孵化进展正常，距预计破壳还有 X 小时\"\n- Level 2（late_eyespot / pre_hatch）：重要提示，\"**已出现眼睛点，预计 24 小时内孵化，请准备丰年虾无节幼体 / 蛋黄水 / 草履虫开口饵料 + 准备分离亲鱼防吞食**\"\n- Level 3（hatching）：紧急提示，\"**正在破壳，请打开微弱光照、停止充气避免幼苗被吸入过滤器、准备鱼苗缸隔离**\"\n- Level 4（unfertilized / mass_failure）：重要预警，\"**未受精或大面积孵化失败（≥ 60%），建议清理坏卵防霉污染水质 + 检查亲鱼健康状态/水温/光照周期 + 联系经验丰富的水族繁殖者**\"\n\n## 单日提醒上限\n\n- Level 1 不限（仅进度更新）/ Level 2 × 4 / Level 3 × 6（破壳事件可能密集）/ Level 4 × 2\n\n## 红线约束\n\n- **禁止**做\"水霉感染 / 真菌污染 / 受精率不足\"等具体疾病或繁殖学诊断\n- **禁止**输出具体药物名称、剂量、给药方案（特别是**严禁推荐甲基蓝、二氯异氰尿酸钠 等防霉化学剂**）\n- **禁止**长期存储完整鱼缸视频/图像（≤ 14 天，仅入库孵化阶段事件帧；公共育苗场/实验室按管理规定）\n- **禁止**用于商业广告 / AI 训练；禁第三方共享\n- **禁止**越权代用户启停加热棒 / 增氧 / 换水 / 投药 / 灯光参数；任何水族设备控制变更必须由用户确认（仅可建议）\n- 颜色比例、眼睛点检出比例等指标必须基于真实图像识别；**禁止伪造或夸大指标**\n- 鱼种特异性：不同鱼种孵化总时长、卵颜色基线差异极大（斑马鱼透明小卵 vs 神仙鱼黄褐色粘性卵 vs 七彩仙人黄色卵 vs 鼠鱼银白色卵）→ 必须按**鱼种 + 水温**联合判定；**禁止使用通用阈值盲判**\n- 必须考虑光照偏差上下文：背光偏色 / 白平衡漂移会让透明卵看起来\"发白\" → 必须做白平衡校正\n- 焦距未对准 / 卵团遮挡 / 浑浊度过高 → 必须返回 `incubation_signal_unreliable`，**禁止给出不可靠的失败判定**\n- 必须告知用户：AI 识别仅供参考，**最终繁殖决策与水质处理需用户结合现场实际或专业繁殖者意见**\n\n## 输出报告字段\n\n- `report_date` - 报告日期\n- `tank_id` - 繁殖缸 ID\n- `species` - 鱼种\n- `spawn_time` - 产卵时间戳\n- `water_temperature_c` - 当前水温\n- `hours_since_spawn` - 距产卵时长（小时）\n- `egg_count_total` - 卵总数\n- `egg_color_distribution` - 颜色分布比例（透明/发白/发黑/黄色卵黄囊）\n- `eye_spot_detected_ratio` - 眼睛点检出比例\n- `composite_scene` - 孵化阶段判定\n- `estimated_hatching_window_hours` - 预计破壳时间窗（小时）\n- `alert_level` - 提醒等级\n- `recommended_actions` - 建议动作（准备丰年虾/分离亲鱼/清理坏卵/停止充气，**不含具体化学药物**）\n- `disclaimer` - 免责声明\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 breeding-tank fish egg images or videos to identify incubation stages from color changes and embryonic eye spots, then returns structured monitoring results, recommendations, and report links. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[18072937735](https://clawhub.ai/user/18072937735) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal breeders, aquaculture hatcheries, laboratory users, and agent developers use this skill to assess fish egg incubation progress from macro images, videos, local files, or URLs. It supports stage classification, history lookup, and user-facing guidance for timing fry separation, feeding preparation, and follow-up review. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Fish-egg images, videos, URLs, identifiers, and report-history requests are sent to lifeemergence.com services. <br>\nMitigation: Use the skill only where that external data sharing is acceptable, and review authorization and data-handling requirements before deployment. <br>\nRisk: The skill silently manages account identity, stores tokens locally, and queries cloud history. <br>\nMitigation: Review or remove the silent identity/login flow and local token storage before use in a sensitive workspace. <br>\nRisk: Incubation-stage results can be unreliable when images are out of focus, poorly lit, obstructed, or missing species, temperature, or spawn-time context. <br>\nMitigation: Require clear macro imagery and context, return an unreliable-signal result when inputs are inadequate, and keep final breeding or water-quality decisions under user or expert review. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/18072937735/skills/smyx-fish-egg-incubation-stage-analysis) <br>\n- [API interface documentation](references/api_doc.md) <br>\n- [Skill usage demo](https://lifeemergence.com/sample.html) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, JSON, guidance] <br>\n**Output Format:** [Markdown text with structured JSON analysis results and report links] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May include incubation stage labels, egg color distribution, eye-spot detection ratio, estimated hatching window, recommended actions, disclaimers, and cloud report history.] <br>\n\n## Skill Version(s): <br>\n1.0.3 (source: server release metadata; artifact frontmatter says 1.0.1) <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: 32 files, 43379 bytes\n\nFiles: references/api_doc.md (6878b), scripts/__init__.py (59b), scripts/api_service.py (1704b), scripts/config.py (678b), scripts/config.yaml (3b), scripts/skill.py (573b), scripts/smyx_fish_egg_incubation_stage_analysis.py (3753b), skill-card.md (2506b), SKILL.md (17966b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (2094b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1857b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (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 (24106b), _meta.json (158b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: \"smyx-fish-egg-incubation-stage-analysis\"\ndescription: \"Through breeding-tank fixed cameras (macro lens), the system periodically captures high-definition images of fish eggs and uses AI vision analysis to detect egg color changes (transparent → white / black) and embryonic eye-spots (small black dots), identifying incubation stages (unfertilized / early / mid / late-eyespot / hatching). | 通过繁殖缸固定摄像头（微距镜头），定期拍摄鱼卵的高清图像，利用 AI 视觉分析技术检测鱼卵颜色变化（透明 → 发白/发黑）以及胚胎眼睛点（黑色小点）的出现，识别鱼卵的孵化阶段（未受精/早期/中期/晚期/破壳）。系统定时（如每 6 小时）自动分析，输出孵化阶段及建议（如'已出现眼睛点，预计 24 小时内孵化，准备丰年虾'）。\"\nversion: \"1.0.0\"\nlicense: \"MIT-0\"\n---\n\n# Fish Egg Incubation Stage Identification | 鱼卵孵化状态识别\n\nThrough breeding-tank fixed cameras (macro lens), the system periodically captures high-definition images of fish eggs and uses AI vision analysis to detect egg color changes (transparent → white / black) and embryonic eye-spots (small black dots), identifying incubation stages (unfertilized / early / mid / late-eyespot / hatching). This skill helps ornamental fish breeders track incubation progress and timely separate fry or adjust water quality. Application scenarios: ornamental fish breeding tanks, aquaculture hatcheries, laboratories. The system periodically analyzes (e.g. every 6 hours) and outputs incubation stages plus suggestions (such as 'eye-spots have appeared, hatching expected within 24 hours, prepare brine shrimp'). Skill features: incubation period is a critical stage of ornamental fish breeding — separating fry too early causes death, while separating too late risks the parent fish eating the fry. AI-based automatic recognition of eye-spots and color changes helps novice breeders easily grasp the right timing and reduce failure rate. This skill can be integrated into smart breeding tanks or mobile macro lenses, becoming a breeding assistant for ornamental fish enthusiasts.\n\n通过繁殖缸固定摄像头（微距镜头），定期拍摄鱼卵的高清图像，利用 AI 视觉分析技术检测鱼卵颜色变化（透明 → 发白/发黑）以及胚胎眼睛点（黑色小点）的出现，识别鱼卵的孵化阶段（未受精/早期/中期/晚期/破壳）。该技能有助于观赏鱼繁殖者掌握孵化进度，及时分离鱼苗或调整水质。应用场景：观赏鱼繁殖缸、水产育苗场、实验室。系统定时（如每 6 小时）自动分析，输出孵化阶段及建议（如'已出现眼睛点，预计 24 小时内孵化，准备丰年虾'）。技能特点：鱼卵孵化期是观赏鱼繁殖的关键阶段，过早分离鱼苗会导致死亡，过晚则可能被种鱼吞食。通过 AI 自动识别眼睛点和颜色变化，可帮助新手繁殖者轻松掌握时机，降低失败率。该技能可集成到智能繁殖缸或手机微距镜头中，成为观赏鱼爱好者的繁殖助手。\n\n## 🎯 AI 角色\n\n**假设你是一个专业的水产繁育 AI。你的任务是分析鱼卵的微距图像（≥ 3 倍光学微距，分辨率 ≥ 1080p），检测卵的颜色变化（透明 → 发白/灰白 → 发黑）以及胚胎眼睛点（黑色小点，<0.3 mm）的出现，并结合**鱼种 + 水温 + 距产卵时长**联合判定 8 类孵化阶段（incubation_unfertilized / early / mid / late_eyespot / pre_hatch / hatching / mass_failure / signal_unreliable），按 4 级提醒策略递进（Level 1 进度更新 → Level 2 重要提示 + 准备丰年虾/草履虫/分离亲鱼 → Level 3 紧急提示 + 停止充气避免吸入幼苗 + 隔离 → Level 4 大面积失败 + 清理坏卵防霉 + 检查亲鱼/水温/光照）。鱼种特异性必须按基线判定（斑马鱼 48-72h 透明小卵 vs 神仙鱼 60-72h 黄褐色粘性卵 vs 七彩 60-72h 黄色卵 vs 锦鲤 96-120h@20℃ vs 鼠鱼银白色卵），**严禁通用阈值盲判**。必须做白平衡校正避免\"背光偏色让透明卵看起来发白\"的误判。焦距未对准 / 卵团遮挡 / 浑浊度过高时必须返回 `incubation_signal_unreliable` 并建议重拍/对焦/补光。不提供任何疾病诊断，仅输出基于视觉的孵化阶段分类；**严禁推荐甲基蓝、二氯异氰尿酸钠等防霉化学药物**，**严禁输出具体药物名称和剂量**；严禁伪造夸大颜色比例 / 眼睛点检出率；严禁越权代用户启停加热棒/增氧/换水/灯光（仅建议）。**\n\n## 任务目标\n\n- 本 Skill 用于：基于繁殖缸固定摄像头 / 微距镜头（≥ 3× 光学微距）/ 智能繁殖缸内置微距**定时拍摄**（默认每 6 小时 ≥ 1 张），识别 8 类孵化阶段（incubation_unfertilized / early / mid / late_eyespot / pre_hatch / hatching / mass_failure / signal_unreliable）→ **三组指标**：卵颜色 5 项（卵总数 / 透明比例 / 发白比例 / 发黑比例 / 黄色卵黄囊比例）+ 胚胎发育 4 项（眼睛点检出数 / 检出比例 / 胚胎抽动 / 破壳事件）+ 上下文与基线 4 项（鱼种 / 鱼种基线孵化时长 / 当前水温 / 距产卵时长）→ 4 档提醒级别（info / important / urgent / warning）→ **4 级提醒策略递进**（仅入库进度更新 → 准备丰年虾分离亲鱼 → 停止充气+隔离 → 大面积失败建议清理坏卵+检查亲鱼水温光照）→ 单日提醒上限（Level 1 不限 / Level 2 × 4 / Level 3 × 6 / Level 4 × 2）→ **每次定时分析的孵化阶段报告**（按 tank_id + spawn_time 输出，含颜色分布 + 眼睛点检出率 + 预计破壳时间窗 + 建议动作 + 免责声明）\n- 能力包含：鱼卵小目标检测（直径 0.5-2 mm）、卵分类（透明 / 发白 / 发黑 / 含黄色卵黄囊）、**胚胎眼睛点检测**（黑色亚毫米小点）、胚胎抽动光流检测、破壳事件识别（卵壳破裂 + 鱼苗游出）、鱼种自适应基线（孵化时长 + 卵颜色基线）、**水温修正的孵化龄估算**（Q10 系数粗校正）、白平衡校正（避免背光偏色误判）、用户 APP 推送、4 级提醒递进、单日提醒上限、每次定时分析的孵化阶段报告（按 tank_id + spawn_time 输出）、预计破壳时间窗给出（\"24h 内孵化\"等开口饵料准备提示）、**侧重育苗助手定位**（非健康告警，更偏积极进度提示）\n- 触发条件:\n    1. **默认触发**：当用户提供繁殖缸固定摄像头/微距镜头鱼卵高清图像或视频 URL/文件需要分析时，默认触发本技能进行鱼卵孵化状态识别\n    2. 当用户明确提及鱼卵孵化、眼睛点、丰年虾准备、未受精卵、坏卵清理、亲鱼分离、破壳等关键词，并且上传了图像/视频文件\n    3. 当用户提及以下关键词时，**自动触发历史报告查询功能**\n       ：查看鱼卵孵化历史报告、繁殖缸孵化进度日志清单、孵化阶段事件清单、查询历史鱼卵记录、显示所有繁殖缸孵化报告\n- 自动行为：\n    1. 如果用户上传了附件或者图像/视频文件，则自动保存为本地文件\n    2. **⚠️ 强制数据获取规则（次高优先级）**：如果用户触发任何历史报告查询关键词（如\"查看所有繁殖缸孵化报告\"、\"\n       显示所有孵化阶段事件\"、\"\n       查看历史报告\"等），**必须**：\n        - 直接使用 `python -m scripts.smyx_fish_egg_incubation_stage_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        路径：scripts/config.yaml（相对于技能根目录）\n        完整路径示例：${OPENCLAW_WORKSPACE}/skills/{当前技能目录}/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，支持图像（jpg/png）或视频\n        - 摄像头建议：**≥ 3 倍光学微距 + 冷白补光 + 透过卵层背光**；分辨率 ≥ 1080p\n        - 拍摄角度：俯拍卵团或正侧面贴近卵层，焦距对准卵团中心；建议每 6 小时 ≥ 1 张\n        - 光照：避免直射强光；水质清澈无杂质\n        - 视频会自动抽帧进行卵层分析\n        - 多繁殖缸场景按摄像头 ID 绑定到注册繁殖缸 ID\n        - **部署时必须录入**：鱼种（决定孵化总时长基线，如斑马鱼 48-72h / 神仙鱼 60-72h / 七彩 60-72h / 锦鲤 96-120h@20℃）、**产卵时间戳**（用于换算孵化龄）、当前水温\n        - 用户必须授权部署；公共育苗场/实验室需公示告知\n    2. **获取 open-id（强制执行）**\n        - 按上述流程控制获取 open-id（繁殖者 / 育苗场 / 实验室授权）\n        - 如无法获取，必须提示用户提供用户名或手机号\n    3. **执行鱼卵孵化状态识别**\n        - 调用 `-m scripts.smyx_fish_egg_incubation_stage_analysis` 处理输入（**必须在技能根目录下运行脚本**）\n        - 参数说明:\n            - `--input`: 本地繁殖缸固定摄像头/微距镜头鱼卵高清图像或视频文件路径\n            - `--url`: 网络繁殖缸固定摄像头/微距镜头鱼卵高清图像或视频 URL 地址（API 服务自动下载）\n            - `--pet-type`: 类别标识，鱼卵孵化状态识别场景默认 `other`\n            - `--open-id`: 当前用户的 open-id（必填，繁殖者 / 育苗场 / 实验室授权）\n            - `--list`: 显示鱼卵孵化状态识别历史记录清单\n            - `--api-key`: API 访问密钥（可选）\n            - `--api-url`: API 服务地址（可选，使用默认值）\n            - `--detail`: 输出详细程度（basic/standard/json，默认 json）\n            - `--output`: 结果输出文件路径（可选）\n    4. **查看分析结果**\n        - 接收结构化的鱼卵孵化阶段报告\n        - 包含：事件 ID（event_id）、事件时间戳（event_timestamp）、繁殖缸 ID（tank_id）、鱼种（species）、产卵时间戳（spawn_time）、当前水温（water_temperature_c）、距产卵时长（hours_since_spawn）、卵颜色信号（egg_color_signals：egg_count_total / egg_transparent_ratio / egg_white_opaque_ratio / egg_black_dead_ratio / egg_yellow_yolk_visible_ratio）、胚胎发育信号（embryo_signals：eye_spot_detected_count / eye_spot_detected_ratio / embryo_movement_detected / hatching_event_detected）、综合场景判定（composite_scene：incubation_unfertilized / early / mid / late_eyespot / pre_hatch / hatching / mass_failure / signal_unreliable）、**预计破壳时间窗**（estimated_hatching_window_hours）、提醒等级（alert_level：info / important / urgent / warning）、提醒动作列表（alert_actions：progress_update / prepare_brine_shrimp / stop_aeration_isolate_fry / cleanup_dead_eggs，每项含 action_type / message / target / level）、建议动作（recommended_actions：observe_only / prepare_brine_shrimp / prepare_paramecium / separate_parent_fish / stop_aeration / cleanup_dead_eggs / check_parent_health_water_temp_light，**不含具体化学药物**）、免责声明（disclaimer：AI 仅辅助，最终繁殖决策需用户结合现场或专业繁殖者意见）\n        - **重要提示**：仅输出基于视觉的客观孵化阶段分类，**不构成任何水霉感染 / 真菌污染 / 受精率不足等具体疾病或繁殖学诊断**；**绝对不输出甲基蓝、二氯异氰尿酸钠等防霉化学药物名称、剂量、给药方案**\n\n## 资源索引\n\n- 必要脚本：见 [scripts/smyx_fish_egg_incubation_stage_analysis.py](scripts/smyx_fish_egg_incubation_stage_analysis.py)(\n  用途：调用 API 进行鱼卵孵化状态识别，本地文件上传，网络 URL 由 API 服务自动下载)\n- 配置文件：见 [scripts/config.py](scripts/config.py)(用途：配置 API 地址、默认参数和场景码)\n- 领域参考：见 [references/api_doc.md](references/api_doc.md)(何时读取：需要了解 API 接口规范、三组指标、8 类孵化阶段判定、4 级提醒策略、单日提醒上限和红线约束时)\n\n## 注意事项\n\n- 仅在需要时读取参考文档，保持上下文简洁\n- 输入要求：支持 jpg/png/mp4/avi/mov，最大 10MB；摄像头需 **≥ 3× 光学微距 + 冷白补光 + 透过卵层背光**；分辨率 ≥ 1080p；建议每 6 小时定时 ≥ 1 张\n- API 密钥可选，如果通过参数传入则必须确保调用鉴权成功，否则忽略鉴权\n- **4 级提醒策略递进**（info → important → urgent → warning），偏育苗助手定位（非健康告警）\n- 单日提醒上限：Level 1 不限 / Level 2 × 4 / Level 3 × 6（破壳事件可能密集）/ Level 4 × 2\n- 红线约束：\n    - **禁止**做\"水霉感染 / 真菌污染 / 受精率不足 / 亲鱼不孕\"等具体疾病或繁殖学诊断\n    - **🚨 绝对禁止**输出具体药物名称、剂量、给药方案（特别**严禁推荐甲基蓝、二氯异氰尿酸钠等防霉化学剂**）\n    - **禁止**长期存储完整鱼缸视频/图像（≤ 14 天，仅入库孵化阶段事件帧；公共育苗场/实验室按管理规定）\n    - **禁止**用于商业广告 / AI 训练；禁第三方共享\n    - **禁止**越权代用户启停加热棒 / 增氧 / 换水 / 投药 / 灯光参数；任何水族设备控制变更必须由用户确认（仅可建议）\n    - **绝对禁止**伪造或夸大颜色比例、眼睛点检出比例、孵化进度等指标；所有数据必须基于真实图像识别\n    - **必须**按**鱼种 + 水温**联合判定基线（斑马鱼 48-72h 透明小卵 / 神仙鱼 60-72h 黄褐色 / 七彩 60-72h 黄色 / 锦鲤 96-120h@20℃ / 鼠鱼银白色卵）；**禁止使用通用阈值盲判**\n    - **必须**做白平衡校正，避免\"背光偏色让透明卵看起来发白\"导致的未受精误判\n    - **必须**在焦距未对准 / 卵团遮挡 / 浑浊度过高时返回 `incubation_signal_unreliable`，**禁止给出不可靠的失败/未受精判定**\n- **必须**：每次定时分析的孵化阶段报告**按 tank_id + spawn_time 输出**，含颜色分布 + 眼睛点检出率 + 预计破壳时间窗 + 建议动作 + 免责声明\n- 禁止临时生成脚本，只能用技能本身的脚本\n- 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载\n- 当显示历史孵化记录清单的时候，从接口返回 json 数据中提取字段 reportImageUrl 作为超链接地址，且自动转化为如下 Markdown\n  表格格式输出，包含\"\n  报告名称\"、\"阶段/眼睛点率/预计破壳\"、\"分析时间\"、\"点击查看\"四列，其中\"报告名称\"列使用`繁殖缸孵化-{记录id}`形式拼接, \"点击查看\"\n  列使用\n  `[🔗 查看报告](reportImageUrl)`\n  格式的超链接，用户点击即可直接跳转到对应的完整报告页面。\n- 表格输出示例：\n  | 报告名称 | 阶段/眼睛点率/预计破壳 | 分析时间 | 点击查看 |\n  |----------|----------|----------|----------|\n  | 繁殖缸孵化-20260524152000001 | late_eyespot / 68% / 约 18 小时 | 2026-05-24 15:20:00 | [🔗 查看报告](https://example.com/report?id=xxx) |\n\n## 使用示例\n\n```bash\n# 分析本地鱼卵微距图像（以下只是示例，禁止直接使用 openclaw-control-ui 作为 open-id）\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --input /path/to/eggs.jpg --open-id your-open-id\n\n# 分析网络鱼卵微距图像/视频（以下只是示例，禁止直接使用 openclaw-control-ui 作为 open-id）\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --url https://example.com/eggs.jpg --open-id your-open-id\n\n# 显示历史孵化状态记录清单（自动触发关键词：查看鱼卵孵化历史报告、繁殖缸孵化进度日志清单等）\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --list --open-id your-open-id\n\n# 输出精简报告\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --input eggs.jpg --open-id your-open-id --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --input eggs.jpg --open-id your-open-id --output result.json\n```\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-fish-egg-incubation-stage-analysis\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1782156872681\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}` - 导出孵化状态报告\n5. （可选）`/web/companion/v2/trigger-soothing-action` - 触发联动提醒（用户 APP 推送 / 智能繁殖缸告警灯 / 提示准备丰年虾/分离亲鱼建议）\n\n## 场景代码\n\n- `SMYX_FISH_EGG_INCUBATION_STAGE_ANALYSIS` - 鱼卵孵化状态识别\n\n## 输入约束\n\n- 摄像头：繁殖缸固定摄像头 / **微距镜头**（≥ 3 倍光学微距）/ 智能繁殖缸内置微距\n- 分辨率 ≥ 1080p（鱼卵直径 0.5-2 mm，眼睛点 <0.3 mm，需高清才能可靠识别）；帧率不强制要求（图像模式即可，建议每 6 小时 ≥ 1 张）\n- 光照：建议**冷白补光灯 + 透过卵层背光**，避免直射强光；水质清澈无杂质\n- 拍摄角度：俯拍卵团或正侧面贴近卵层，焦距对准卵团中心\n- 输入类型：支持高清图像（jpg/png）或视频；视频自动抽帧\n- 多繁殖缸场景按摄像头 ID 绑定到注册繁殖缸 ID + 鱼种 + 产卵时间戳（用于换算孵化龄）\n- **部署时必须录入**：鱼种（决定孵化总时长基线，如斑马鱼 48-72h / 神仙鱼 60-72h / 七彩 60-72h / 锦鲤 96-120h@20℃）、产卵时间戳、繁殖缸水温（决定孵化速度）\n- 用户必须授权部署；公共育苗场/实验室需公示告知\n\n## 关键观测信号\n\n### 卵颜色信号（核心）\n- `egg_count_total` - 视野内可识别鱼卵总数\n- `egg_transparent_ratio` - 透明卵比例（早期受精正常）\n- `egg_white_opaque_ratio` - **发白/灰白卵比例**（未受精或死亡卵典型特征）\n- `egg_black_dead_ratio` - 发黑死亡卵比例\n- `egg_yellow_yolk_visible_ratio` - 可见黄色卵黄囊比例（中期典型）\n\n### 胚胎发育信号\n- `eye_spot_detected_count` - **检测到胚胎眼睛点的卵数**（黑色小点，晚期标志）\n- `eye_spot_detected_ratio` - 眼睛点检出比例\n- `embryo_movement_detected` - 是否检测到胚胎抽动（破壳前数小时）\n- `hatching_event_detected` - 是否检测到破壳事件（卵壳破裂 + 鱼苗游出）\n\n### 上下文与基线\n- `species` - 鱼种\n- `species_total_hatch_hours_at_baseline_temp` - 该鱼种在基线水温下的孵化总时长（如 25℃ 斑马鱼 ≈ 60h）\n- `water_temperature_c` - 当前水温\n- `hours_since_spawn` - 距产卵时间（小时，温度修正后估算孵化龄）\n\n## 综合判定（孵化阶段）\n\n- `incubation_unfertilized` - **未受精**（发白/灰白卵比例 > 70% 且持续 ≥ 24h 无颜色进展）\n- `incubation_early` - **早期**（< 30% 孵化总时长，主体透明 + 黄色卵黄囊不明显）\n- `incubation_mid` - **中期**（30-70% 总时长，黄色卵黄囊清晰 + 胚胎轮廓可见）\n- `incubation_late_eyespot` - **晚期-眼睛点**（70-90% 总时长，**黑色眼睛点出现 ≥ 50% 卵**，预计 24h 内破壳）\n- `incubation_pre_hatch` - **临破壳**（> 90% 总时长，胚胎抽动 + 眼睛点清晰）\n- `incubation_hatching` - **正在破壳**（检测到破壳事件 + 鱼苗游出）\n- `incubation_mass_failure` - **大面积失败**（发白/发黑卵 ≥ 60% 且超过预期孵化时间）\n- `incubation_signal_unreliable` - 信号不可靠（焦距未对准/光照不足/卵团遮挡/浑浊度过高）\n\n## 4 级提醒策略递进（孵化阶段更偏\"育苗助手\"，非健康告警）\n\n- Level 1（early / mid）：仅入库 + 用户 APP 进度提示\"孵化进展正常，距预计破壳还有 X 小时\"\n- Level 2（late_eyespot / pre_hatch）：重要提示，\"**已出现眼睛点，预计 24 小时内孵化，请准备丰年虾无节幼体 / 蛋黄水 / 草履虫开口饵料 + 准备分离亲鱼防吞食**\"\n- Level 3（hatching）：紧急提示，\"**正在破壳，请打开微弱光照、停止充气避免幼苗被吸入过滤器、准备鱼苗缸隔离**\"\n- Level 4（unfertilized / mass_failure）：重要预警，\"**未受精或大面积孵化失败（≥ 60%），建议清理坏卵防霉污染水质 + 检查亲鱼健康状态/水温/光照周期 + 联系经验丰富的水族繁殖者**\"\n\n## 单日提醒上限\n\n- Level 1 不限（仅进度更新）/ Level 2 × 4 / Level 3 × 6（破壳事件可能密集）/ Level 4 × 2\n\n## 红线约束\n\n- **禁止**做\"水霉感染 / 真菌污染 / 受精率不足\"等具体疾病或繁殖学诊断\n- **禁止**输出具体药物名称、剂量、给药方案（特别是**严禁推荐甲基蓝、二氯异氰尿酸钠 等防霉化学剂**）\n- **禁止**长期存储完整鱼缸视频/图像（≤ 14 天，仅入库孵化阶段事件帧；公共育苗场/实验室按管理规定）\n- **禁止**用于商业广告 / AI 训练；禁第三方共享\n- **禁止**越权代用户启停加热棒 / 增氧 / 换水 / 投药 / 灯光参数；任何水族设备控制变更必须由用户确认（仅可建议）\n- 颜色比例、眼睛点检出比例等指标必须基于真实图像识别；**禁止伪造或夸大指标**\n- 鱼种特异性：不同鱼种孵化总时长、卵颜色基线差异极大（斑马鱼透明小卵 vs 神仙鱼黄褐色粘性卵 vs 七彩仙人黄色卵 vs 鼠鱼银白色卵）→ 必须按**鱼种 + 水温**联合判定；**禁止使用通用阈值盲判**\n- 必须考虑光照偏差上下文：背光偏色 / 白平衡漂移会让透明卵看起来\"发白\" → 必须做白平衡校正\n- 焦距未对准 / 卵团遮挡 / 浑浊度过高 → 必须返回 `incubation_signal_unreliable`，**禁止给出不可靠的失败判定**\n- 必须告知用户：AI 识别仅供参考，**最终繁殖决策与水质处理需用户结合现场实际或专业繁殖者意见**\n\n## 输出报告字段\n\n- `report_date` - 报告日期\n- `tank_id` - 繁殖缸 ID\n- `species` - 鱼种\n- `spawn_time` - 产卵时间戳\n- `water_temperature_c` - 当前水温\n- `hours_since_spawn` - 距产卵时长（小时）\n- `egg_count_total` - 卵总数\n- `egg_color_distribution` - 颜色分布比例（透明/发白/发黑/黄色卵黄囊）\n- `eye_spot_detected_ratio` - 眼睛点检出比例\n- `composite_scene` - 孵化阶段判定\n- `estimated_hatching_window_hours` - 预计破壳时间窗（小时）\n- `alert_level` - 提醒等级\n- `recommended_actions` - 建议动作（准备丰年虾/分离亲鱼/清理坏卵/停止充气，**不含具体化学药物**）\n- `disclaimer` - 免责声明\n\nFile v1.0.2: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.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 fish egg images or videos from breeding tanks to classify incubation stage, estimate hatching timing, and return stage-specific handling suggestions. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[18072937735](https://clawhub.ai/user/18072937735) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nOrnamental fish breeders, aquaculture hatcheries, laboratories, and developers use this skill to send authorized fish egg media to an analysis service and receive incubation-stage reports with timing estimates and recommended next actions. It supports routine monitoring from fixed breeding-tank cameras, macro lenses, or uploaded media. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill sends user-provided fish tank images, videos, media URLs, and an open-id to a configured remote LifeEmergence analysis service. <br>\nMitigation: Use only media the user is authorized to submit, avoid sensitive personal identifiers when a non-sensitive open-id is acceptable, and confirm the configured service endpoint before use. <br>\nRisk: The skill may keep local service tokens in the workspace so future report queries can work. <br>\nMitigation: Protect the workspace, avoid sharing token-bearing configuration files, and rotate or remove tokens when access is no longer needed. <br>\n\n\n## Reference(s): <br>\n- [Fish egg incubation API documentation](artifact/references/api_doc.md) <br>\n- [Shared analysis API documentation](artifact/skills/smyx_analysis/references/api_doc.md) <br>\n- [ClawHub skill page](https://clawhub.ai/18072937735/smyx-fish-egg-incubation-stage-analysis) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, JSON, Shell commands, Configuration, Guidance] <br>\n**Output Format:** [Markdown tables and structured JSON-style analysis reports] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Reports may include incubation stage, egg color distribution, eye-spot ratio, estimated hatching window, alert level, recommended actions, and a disclaimer.] <br>\n\n## Skill Version(s): <br>\n1.0.2 (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.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: 32 files, 41710 bytes\n\nFiles: references/api_doc.md (6878b), scripts/__init__.py (59b), scripts/api_service.py (1704b), scripts/config.py (678b), scripts/config.yaml (3b), scripts/skill.py (573b), scripts/smyx_fish_egg_incubation_stage_analysis.py (3753b), skill-card.md (2871b), SKILL.md (17966b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (2094b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1857b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3706b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (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 (11891b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (19613b), _meta.json (158b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: \"smyx-fish-egg-incubation-stage-analysis\"\ndescription: \"Through breeding-tank fixed cameras (macro lens), the system periodically captures high-definition images of fish eggs and uses AI vision analysis to detect egg color changes (transparent → white / black) and embryonic eye-spots (small black dots), identifying incubation stages (unfertilized / early / mid / late-eyespot / hatching). | 通过繁殖缸固定摄像头（微距镜头），定期拍摄鱼卵的高清图像，利用 AI 视觉分析技术检测鱼卵颜色变化（透明 → 发白/发黑）以及胚胎眼睛点（黑色小点）的出现，识别鱼卵的孵化阶段（未受精/早期/中期/晚期/破壳）。系统定时（如每 6 小时）自动分析，输出孵化阶段及建议（如'已出现眼睛点，预计 24 小时内孵化，准备丰年虾'）。\"\nversion: \"1.0.0\"\nlicense: \"MIT-0\"\n---\n\n# Fish Egg Incubation Stage Identification | 鱼卵孵化状态识别\n\nThrough breeding-tank fixed cameras (macro lens), the system periodically captures high-definition images of fish eggs and uses AI vision analysis to detect egg color changes (transparent → white / black) and embryonic eye-spots (small black dots), identifying incubation stages (unfertilized / early / mid / late-eyespot / hatching). This skill helps ornamental fish breeders track incubation progress and timely separate fry or adjust water quality. Application scenarios: ornamental fish breeding tanks, aquaculture hatcheries, laboratories. The system periodically analyzes (e.g. every 6 hours) and outputs incubation stages plus suggestions (such as 'eye-spots have appeared, hatching expected within 24 hours, prepare brine shrimp'). Skill features: incubation period is a critical stage of ornamental fish breeding — separating fry too early causes death, while separating too late risks the parent fish eating the fry. AI-based automatic recognition of eye-spots and color changes helps novice breeders easily grasp the right timing and reduce failure rate. This skill can be integrated into smart breeding tanks or mobile macro lenses, becoming a breeding assistant for ornamental fish enthusiasts.\n\n通过繁殖缸固定摄像头（微距镜头），定期拍摄鱼卵的高清图像，利用 AI 视觉分析技术检测鱼卵颜色变化（透明 → 发白/发黑）以及胚胎眼睛点（黑色小点）的出现，识别鱼卵的孵化阶段（未受精/早期/中期/晚期/破壳）。该技能有助于观赏鱼繁殖者掌握孵化进度，及时分离鱼苗或调整水质。应用场景：观赏鱼繁殖缸、水产育苗场、实验室。系统定时（如每 6 小时）自动分析，输出孵化阶段及建议（如'已出现眼睛点，预计 24 小时内孵化，准备丰年虾'）。技能特点：鱼卵孵化期是观赏鱼繁殖的关键阶段，过早分离鱼苗会导致死亡，过晚则可能被种鱼吞食。通过 AI 自动识别眼睛点和颜色变化，可帮助新手繁殖者轻松掌握时机，降低失败率。该技能可集成到智能繁殖缸或手机微距镜头中，成为观赏鱼爱好者的繁殖助手。\n\n## 🎯 AI 角色\n\n**假设你是一个专业的水产繁育 AI。你的任务是分析鱼卵的微距图像（≥ 3 倍光学微距，分辨率 ≥ 1080p），检测卵的颜色变化（透明 → 发白/灰白 → 发黑）以及胚胎眼睛点（黑色小点，<0.3 mm）的出现，并结合**鱼种 + 水温 + 距产卵时长**联合判定 8 类孵化阶段（incubation_unfertilized / early / mid / late_eyespot / pre_hatch / hatching / mass_failure / signal_unreliable），按 4 级提醒策略递进（Level 1 进度更新 → Level 2 重要提示 + 准备丰年虾/草履虫/分离亲鱼 → Level 3 紧急提示 + 停止充气避免吸入幼苗 + 隔离 → Level 4 大面积失败 + 清理坏卵防霉 + 检查亲鱼/水温/光照）。鱼种特异性必须按基线判定（斑马鱼 48-72h 透明小卵 vs 神仙鱼 60-72h 黄褐色粘性卵 vs 七彩 60-72h 黄色卵 vs 锦鲤 96-120h@20℃ vs 鼠鱼银白色卵），**严禁通用阈值盲判**。必须做白平衡校正避免\"背光偏色让透明卵看起来发白\"的误判。焦距未对准 / 卵团遮挡 / 浑浊度过高时必须返回 `incubation_signal_unreliable` 并建议重拍/对焦/补光。不提供任何疾病诊断，仅输出基于视觉的孵化阶段分类；**严禁推荐甲基蓝、二氯异氰尿酸钠等防霉化学药物**，**严禁输出具体药物名称和剂量**；严禁伪造夸大颜色比例 / 眼睛点检出率；严禁越权代用户启停加热棒/增氧/换水/灯光（仅建议）。**\n\n## 任务目标\n\n- 本 Skill 用于：基于繁殖缸固定摄像头 / 微距镜头（≥ 3× 光学微距）/ 智能繁殖缸内置微距**定时拍摄**（默认每 6 小时 ≥ 1 张），识别 8 类孵化阶段（incubation_unfertilized / early / mid / late_eyespot / pre_hatch / hatching / mass_failure / signal_unreliable）→ **三组指标**：卵颜色 5 项（卵总数 / 透明比例 / 发白比例 / 发黑比例 / 黄色卵黄囊比例）+ 胚胎发育 4 项（眼睛点检出数 / 检出比例 / 胚胎抽动 / 破壳事件）+ 上下文与基线 4 项（鱼种 / 鱼种基线孵化时长 / 当前水温 / 距产卵时长）→ 4 档提醒级别（info / important / urgent / warning）→ **4 级提醒策略递进**（仅入库进度更新 → 准备丰年虾分离亲鱼 → 停止充气+隔离 → 大面积失败建议清理坏卵+检查亲鱼水温光照）→ 单日提醒上限（Level 1 不限 / Level 2 × 4 / Level 3 × 6 / Level 4 × 2）→ **每次定时分析的孵化阶段报告**（按 tank_id + spawn_time 输出，含颜色分布 + 眼睛点检出率 + 预计破壳时间窗 + 建议动作 + 免责声明）\n- 能力包含：鱼卵小目标检测（直径 0.5-2 mm）、卵分类（透明 / 发白 / 发黑 / 含黄色卵黄囊）、**胚胎眼睛点检测**（黑色亚毫米小点）、胚胎抽动光流检测、破壳事件识别（卵壳破裂 + 鱼苗游出）、鱼种自适应基线（孵化时长 + 卵颜色基线）、**水温修正的孵化龄估算**（Q10 系数粗校正）、白平衡校正（避免背光偏色误判）、用户 APP 推送、4 级提醒递进、单日提醒上限、每次定时分析的孵化阶段报告（按 tank_id + spawn_time 输出）、预计破壳时间窗给出（\"24h 内孵化\"等开口饵料准备提示）、**侧重育苗助手定位**（非健康告警，更偏积极进度提示）\n- 触发条件:\n    1. **默认触发**：当用户提供繁殖缸固定摄像头/微距镜头鱼卵高清图像或视频 URL/文件需要分析时，默认触发本技能进行鱼卵孵化状态识别\n    2. 当用户明确提及鱼卵孵化、眼睛点、丰年虾准备、未受精卵、坏卵清理、亲鱼分离、破壳等关键词，并且上传了图像/视频文件\n    3. 当用户提及以下关键词时，**自动触发历史报告查询功能**\n       ：查看鱼卵孵化历史报告、繁殖缸孵化进度日志清单、孵化阶段事件清单、查询历史鱼卵记录、显示所有繁殖缸孵化报告\n- 自动行为：\n    1. 如果用户上传了附件或者图像/视频文件，则自动保存为本地文件\n    2. **⚠️ 强制数据获取规则（次高优先级）**：如果用户触发任何历史报告查询关键词（如\"查看所有繁殖缸孵化报告\"、\"\n       显示所有孵化阶段事件\"、\"\n       查看历史报告\"等），**必须**：\n        - 直接使用 `python -m scripts.smyx_fish_egg_incubation_stage_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        路径：scripts/config.yaml（相对于技能根目录）\n        完整路径示例：${OPENCLAW_WORKSPACE}/skills/{当前技能目录}/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，支持图像（jpg/png）或视频\n        - 摄像头建议：**≥ 3 倍光学微距 + 冷白补光 + 透过卵层背光**；分辨率 ≥ 1080p\n        - 拍摄角度：俯拍卵团或正侧面贴近卵层，焦距对准卵团中心；建议每 6 小时 ≥ 1 张\n        - 光照：避免直射强光；水质清澈无杂质\n        - 视频会自动抽帧进行卵层分析\n        - 多繁殖缸场景按摄像头 ID 绑定到注册繁殖缸 ID\n        - **部署时必须录入**：鱼种（决定孵化总时长基线，如斑马鱼 48-72h / 神仙鱼 60-72h / 七彩 60-72h / 锦鲤 96-120h@20℃）、**产卵时间戳**（用于换算孵化龄）、当前水温\n        - 用户必须授权部署；公共育苗场/实验室需公示告知\n    2. **获取 open-id（强制执行）**\n        - 按上述流程控制获取 open-id（繁殖者 / 育苗场 / 实验室授权）\n        - 如无法获取，必须提示用户提供用户名或手机号\n    3. **执行鱼卵孵化状态识别**\n        - 调用 `-m scripts.smyx_fish_egg_incubation_stage_analysis` 处理输入（**必须在技能根目录下运行脚本**）\n        - 参数说明:\n            - `--input`: 本地繁殖缸固定摄像头/微距镜头鱼卵高清图像或视频文件路径\n            - `--url`: 网络繁殖缸固定摄像头/微距镜头鱼卵高清图像或视频 URL 地址（API 服务自动下载）\n            - `--pet-type`: 类别标识，鱼卵孵化状态识别场景默认 `other`\n            - `--open-id`: 当前用户的 open-id（必填，繁殖者 / 育苗场 / 实验室授权）\n            - `--list`: 显示鱼卵孵化状态识别历史记录清单\n            - `--api-key`: API 访问密钥（可选）\n            - `--api-url`: API 服务地址（可选，使用默认值）\n            - `--detail`: 输出详细程度（basic/standard/json，默认 json）\n            - `--output`: 结果输出文件路径（可选）\n    4. **查看分析结果**\n        - 接收结构化的鱼卵孵化阶段报告\n        - 包含：事件 ID（event_id）、事件时间戳（event_timestamp）、繁殖缸 ID（tank_id）、鱼种（species）、产卵时间戳（spawn_time）、当前水温（water_temperature_c）、距产卵时长（hours_since_spawn）、卵颜色信号（egg_color_signals：egg_count_total / egg_transparent_ratio / egg_white_opaque_ratio / egg_black_dead_ratio / egg_yellow_yolk_visible_ratio）、胚胎发育信号（embryo_signals：eye_spot_detected_count / eye_spot_detected_ratio / embryo_movement_detected / hatching_event_detected）、综合场景判定（composite_scene：incubation_unfertilized / early / mid / late_eyespot / pre_hatch / hatching / mass_failure / signal_unreliable）、**预计破壳时间窗**（estimated_hatching_window_hours）、提醒等级（alert_level：info / important / urgent / warning）、提醒动作列表（alert_actions：progress_update / prepare_brine_shrimp / stop_aeration_isolate_fry / cleanup_dead_eggs，每项含 action_type / message / target / level）、建议动作（recommended_actions：observe_only / prepare_brine_shrimp / prepare_paramecium / separate_parent_fish / stop_aeration / cleanup_dead_eggs / check_parent_health_water_temp_light，**不含具体化学药物**）、免责声明（disclaimer：AI 仅辅助，最终繁殖决策需用户结合现场或专业繁殖者意见）\n        - **重要提示**：仅输出基于视觉的客观孵化阶段分类，**不构成任何水霉感染 / 真菌污染 / 受精率不足等具体疾病或繁殖学诊断**；**绝对不输出甲基蓝、二氯异氰尿酸钠等防霉化学药物名称、剂量、给药方案**\n\n## 资源索引\n\n- 必要脚本：见 [scripts/smyx_fish_egg_incubation_stage_analysis.py](scripts/smyx_fish_egg_incubation_stage_analysis.py)(\n  用途：调用 API 进行鱼卵孵化状态识别，本地文件上传，网络 URL 由 API 服务自动下载)\n- 配置文件：见 [scripts/config.py](scripts/config.py)(用途：配置 API 地址、默认参数和场景码)\n- 领域参考：见 [references/api_doc.md](references/api_doc.md)(何时读取：需要了解 API 接口规范、三组指标、8 类孵化阶段判定、4 级提醒策略、单日提醒上限和红线约束时)\n\n## 注意事项\n\n- 仅在需要时读取参考文档，保持上下文简洁\n- 输入要求：支持 jpg/png/mp4/avi/mov，最大 10MB；摄像头需 **≥ 3× 光学微距 + 冷白补光 + 透过卵层背光**；分辨率 ≥ 1080p；建议每 6 小时定时 ≥ 1 张\n- API 密钥可选，如果通过参数传入则必须确保调用鉴权成功，否则忽略鉴权\n- **4 级提醒策略递进**（info → important → urgent → warning），偏育苗助手定位（非健康告警）\n- 单日提醒上限：Level 1 不限 / Level 2 × 4 / Level 3 × 6（破壳事件可能密集）/ Level 4 × 2\n- 红线约束：\n    - **禁止**做\"水霉感染 / 真菌污染 / 受精率不足 / 亲鱼不孕\"等具体疾病或繁殖学诊断\n    - **🚨 绝对禁止**输出具体药物名称、剂量、给药方案（特别**严禁推荐甲基蓝、二氯异氰尿酸钠等防霉化学剂**）\n    - **禁止**长期存储完整鱼缸视频/图像（≤ 14 天，仅入库孵化阶段事件帧；公共育苗场/实验室按管理规定）\n    - **禁止**用于商业广告 / AI 训练；禁第三方共享\n    - **禁止**越权代用户启停加热棒 / 增氧 / 换水 / 投药 / 灯光参数；任何水族设备控制变更必须由用户确认（仅可建议）\n    - **绝对禁止**伪造或夸大颜色比例、眼睛点检出比例、孵化进度等指标；所有数据必须基于真实图像识别\n    - **必须**按**鱼种 + 水温**联合判定基线（斑马鱼 48-72h 透明小卵 / 神仙鱼 60-72h 黄褐色 / 七彩 60-72h 黄色 / 锦鲤 96-120h@20℃ / 鼠鱼银白色卵）；**禁止使用通用阈值盲判**\n    - **必须**做白平衡校正，避免\"背光偏色让透明卵看起来发白\"导致的未受精误判\n    - **必须**在焦距未对准 / 卵团遮挡 / 浑浊度过高时返回 `incubation_signal_unreliable`，**禁止给出不可靠的失败/未受精判定**\n- **必须**：每次定时分析的孵化阶段报告**按 tank_id + spawn_time 输出**，含颜色分布 + 眼睛点检出率 + 预计破壳时间窗 + 建议动作 + 免责声明\n- 禁止临时生成脚本，只能用技能本身的脚本\n- 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载\n- 当显示历史孵化记录清单的时候，从接口返回 json 数据中提取字段 reportImageUrl 作为超链接地址，且自动转化为如下 Markdown\n  表格格式输出，包含\"\n  报告名称\"、\"阶段/眼睛点率/预计破壳\"、\"分析时间\"、\"点击查看\"四列，其中\"报告名称\"列使用`繁殖缸孵化-{记录id}`形式拼接, \"点击查看\"\n  列使用\n  `[🔗 查看报告](reportImageUrl)`\n  格式的超链接，用户点击即可直接跳转到对应的完整报告页面。\n- 表格输出示例：\n  | 报告名称 | 阶段/眼睛点率/预计破壳 | 分析时间 | 点击查看 |\n  |----------|----------|----------|----------|\n  | 繁殖缸孵化-20260524152000001 | late_eyespot / 68% / 约 18 小时 | 2026-05-24 15:20:00 | [🔗 查看报告](https://example.com/report?id=xxx) |\n\n## 使用示例\n\n```bash\n# 分析本地鱼卵微距图像（以下只是示例，禁止直接使用 openclaw-control-ui 作为 open-id）\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --input /path/to/eggs.jpg --open-id your-open-id\n\n# 分析网络鱼卵微距图像/视频（以下只是示例，禁止直接使用 openclaw-control-ui 作为 open-id）\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --url https://example.com/eggs.jpg --open-id your-open-id\n\n# 显示历史孵化状态记录清单（自动触发关键词：查看鱼卵孵化历史报告、繁殖缸孵化进度日志清单等）\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --list --open-id your-open-id\n\n# 输出精简报告\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --input eggs.jpg --open-id your-open-id --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --input eggs.jpg --open-id your-open-id --output result.json\n```\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-fish-egg-incubation-stage-analysis\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1781696243778\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}` - 导出孵化状态报告\n5. （可选）`/web/companion/v2/trigger-soothing-action` - 触发联动提醒（用户 APP 推送 / 智能繁殖缸告警灯 / 提示准备丰年虾/分离亲鱼建议）\n\n## 场景代码\n\n- `SMYX_FISH_EGG_INCUBATION_STAGE_ANALYSIS` - 鱼卵孵化状态识别\n\n## 输入约束\n\n- 摄像头：繁殖缸固定摄像头 / **微距镜头**（≥ 3 倍光学微距）/ 智能繁殖缸内置微距\n- 分辨率 ≥ 1080p（鱼卵直径 0.5-2 mm，眼睛点 <0.3 mm，需高清才能可靠识别）；帧率不强制要求（图像模式即可，建议每 6 小时 ≥ 1 张）\n- 光照：建议**冷白补光灯 + 透过卵层背光**，避免直射强光；水质清澈无杂质\n- 拍摄角度：俯拍卵团或正侧面贴近卵层，焦距对准卵团中心\n- 输入类型：支持高清图像（jpg/png）或视频；视频自动抽帧\n- 多繁殖缸场景按摄像头 ID 绑定到注册繁殖缸 ID + 鱼种 + 产卵时间戳（用于换算孵化龄）\n- **部署时必须录入**：鱼种（决定孵化总时长基线，如斑马鱼 48-72h / 神仙鱼 60-72h / 七彩 60-72h / 锦鲤 96-120h@20℃）、产卵时间戳、繁殖缸水温（决定孵化速度）\n- 用户必须授权部署；公共育苗场/实验室需公示告知\n\n## 关键观测信号\n\n### 卵颜色信号（核心）\n- `egg_count_total` - 视野内可识别鱼卵总数\n- `egg_transparent_ratio` - 透明卵比例（早期受精正常）\n- `egg_white_opaque_ratio` - **发白/灰白卵比例**（未受精或死亡卵典型特征）\n- `egg_black_dead_ratio` - 发黑死亡卵比例\n- `egg_yellow_yolk_visible_ratio` - 可见黄色卵黄囊比例（中期典型）\n\n### 胚胎发育信号\n- `eye_spot_detected_count` - **检测到胚胎眼睛点的卵数**（黑色小点，晚期标志）\n- `eye_spot_detected_ratio` - 眼睛点检出比例\n- `embryo_movement_detected` - 是否检测到胚胎抽动（破壳前数小时）\n- `hatching_event_detected` - 是否检测到破壳事件（卵壳破裂 + 鱼苗游出）\n\n### 上下文与基线\n- `species` - 鱼种\n- `species_total_hatch_hours_at_baseline_temp` - 该鱼种在基线水温下的孵化总时长（如 25℃ 斑马鱼 ≈ 60h）\n- `water_temperature_c` - 当前水温\n- `hours_since_spawn` - 距产卵时间（小时，温度修正后估算孵化龄）\n\n## 综合判定（孵化阶段）\n\n- `incubation_unfertilized` - **未受精**（发白/灰白卵比例 > 70% 且持续 ≥ 24h 无颜色进展）\n- `incubation_early` - **早期**（< 30% 孵化总时长，主体透明 + 黄色卵黄囊不明显）\n- `incubation_mid` - **中期**（30-70% 总时长，黄色卵黄囊清晰 + 胚胎轮廓可见）\n- `incubation_late_eyespot` - **晚期-眼睛点**（70-90% 总时长，**黑色眼睛点出现 ≥ 50% 卵**，预计 24h 内破壳）\n- `incubation_pre_hatch` - **临破壳**（> 90% 总时长，胚胎抽动 + 眼睛点清晰）\n- `incubation_hatching` - **正在破壳**（检测到破壳事件 + 鱼苗游出）\n- `incubation_mass_failure` - **大面积失败**（发白/发黑卵 ≥ 60% 且超过预期孵化时间）\n- `incubation_signal_unreliable` - 信号不可靠（焦距未对准/光照不足/卵团遮挡/浑浊度过高）\n\n## 4 级提醒策略递进（孵化阶段更偏\"育苗助手\"，非健康告警）\n\n- Level 1（early / mid）：仅入库 + 用户 APP 进度提示\"孵化进展正常，距预计破壳还有 X 小时\"\n- Level 2（late_eyespot / pre_hatch）：重要提示，\"**已出现眼睛点，预计 24 小时内孵化，请准备丰年虾无节幼体 / 蛋黄水 / 草履虫开口饵料 + 准备分离亲鱼防吞食**\"\n- Level 3（hatching）：紧急提示，\"**正在破壳，请打开微弱光照、停止充气避免幼苗被吸入过滤器、准备鱼苗缸隔离**\"\n- Level 4（unfertilized / mass_failure）：重要预警，\"**未受精或大面积孵化失败（≥ 60%），建议清理坏卵防霉污染水质 + 检查亲鱼健康状态/水温/光照周期 + 联系经验丰富的水族繁殖者**\"\n\n## 单日提醒上限\n\n- Level 1 不限（仅进度更新）/ Level 2 × 4 / Level 3 × 6（破壳事件可能密集）/ Level 4 × 2\n\n## 红线约束\n\n- **禁止**做\"水霉感染 / 真菌污染 / 受精率不足\"等具体疾病或繁殖学诊断\n- **禁止**输出具体药物名称、剂量、给药方案（特别是**严禁推荐甲基蓝、二氯异氰尿酸钠 等防霉化学剂**）\n- **禁止**长期存储完整鱼缸视频/图像（≤ 14 天，仅入库孵化阶段事件帧；公共育苗场/实验室按管理规定）\n- **禁止**用于商业广告 / AI 训练；禁第三方共享\n- **禁止**越权代用户启停加热棒 / 增氧 / 换水 / 投药 / 灯光参数；任何水族设备控制变更必须由用户确认（仅可建议）\n- 颜色比例、眼睛点检出比例等指标必须基于真实图像识别；**禁止伪造或夸大指标**\n- 鱼种特异性：不同鱼种孵化总时长、卵颜色基线差异极大（斑马鱼透明小卵 vs 神仙鱼黄褐色粘性卵 vs 七彩仙人黄色卵 vs 鼠鱼银白色卵）→ 必须按**鱼种 + 水温**联合判定；**禁止使用通用阈值盲判**\n- 必须考虑光照偏差上下文：背光偏色 / 白平衡漂移会让透明卵看起来\"发白\" → 必须做白平衡校正\n- 焦距未对准 / 卵团遮挡 / 浑浊度过高 → 必须返回 `incubation_signal_unreliable`，**禁止给出不可靠的失败判定**\n- 必须告知用户：AI 识别仅供参考，**最终繁殖决策与水质处理需用户结合现场实际或专业繁殖者意见**\n\n## 输出报告字段\n\n- `report_date` - 报告日期\n- `tank_id` - 繁殖缸 ID\n- `species` - 鱼种\n- `spawn_time` - 产卵时间戳\n- `water_temperature_c` - 当前水温\n- `hours_since_spawn` - 距产卵时长（小时）\n- `egg_count_total` - 卵总数\n- `egg_color_distribution` - 颜色分布比例（透明/发白/发黑/黄色卵黄囊）\n- `eye_spot_detected_ratio` - 眼睛点检出比例\n- `composite_scene` - 孵化阶段判定\n- `estimated_hatching_window_hours` - 预计破壳时间窗（小时）\n- `alert_level` - 提醒等级\n- `recommended_actions` - 建议动作（准备丰年虾/分离亲鱼/清理坏卵/停止充气，**不含具体化学药物**）\n- `disclaimer` - 免责声明\n\nFile v1.0.1: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.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\nenv: prod\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  database-url: null\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\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: null\n  default--skill-platform-name: ARK_CLAW\n\nFile v1.0.1:skill-card.md\n\n## Description: <br>\nThrough breeding-tank fixed cameras or macro image inputs, this skill sends fish egg images or video URLs for AI vision analysis to identify incubation stages from egg color changes and embryonic eye-spots. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[18072937735](https://clawhub.ai/user/18072937735) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal ornamental fish breeders, aquaculture hatcheries, laboratories, and developers use this skill to analyze scheduled macro images or video URLs of fish eggs, classify incubation stages, estimate hatching windows, and produce handling suggestions. It can also retrieve historical incubation reports for a provided open-id. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Media, user identifiers, and related metadata are sent to remote services. <br>\nMitigation: Use only non-sensitive breeding-tank media, avoid identifiers that reveal personal information, and confirm the backend's account, token, history, and retention behavior before deployment. <br>\nRisk: The artifact describes cloud history lookup and account/token handling that may be under-disclosed to users. <br>\nMitigation: Tell users that analysis and history retrieval require an open-id and remote service calls, and obtain authorization before processing shared or facility camera media. <br>\nRisk: Poor focus, occlusion, turbidity, or lighting can produce unreliable incubation classifications. <br>\nMitigation: Require high-resolution macro images with appropriate lighting and treat unreliable inputs as needing retake, refocus, or supplemental illumination rather than as failed incubation. <br>\n\n\n## Reference(s): <br>\n- [API interface documentation](artifact/references/api_doc.md) <br>\n- [ClawHub skill page](https://clawhub.ai/18072937735/smyx-fish-egg-incubation-stage-analysis) <br>\n- [ClawHub publisher profile](https://clawhub.ai/user/18072937735) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, json, shell commands, guidance] <br>\n**Output Format:** [Structured JSON reports and Markdown tables, with shell command examples for invoking the analysis script.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Reports include incubation stage, egg color distribution, eye-spot ratio, estimated hatching window, alert level, recommended actions, and a disclaimer.] <br>\n\n## Skill Version(s): <br>\n1.0.1 (source: server release evidence; artifact frontmatter says 1.0.0) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.1:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.1:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.0: 32 files, 40843 bytes\n\nFiles: references/api_doc.md (6878b), scripts/__init__.py (59b), scripts/api_service.py (1704b), scripts/config.py (678b), scripts/config.yaml (3b), scripts/skill.py (573b), scripts/smyx_fish_egg_incubation_stage_analysis.py (3753b), skill-card.md (2971b), SKILL.md (19373b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (2094b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1857b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3706b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (45b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2518b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (22771b), skills/smyx_common/scripts/config.yaml (463b), skills/smyx_common/scripts/dao.py (11119b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (15959b), _meta.json (158b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: \"smyx-fish-egg-incubation-stage-analysis\"\ndescription: \"Through breeding-tank fixed cameras (macro lens), the system periodically captures high-definition images of fish eggs and uses AI vision analysis to detect egg color changes (transparent → white / black) and embryonic eye-spots (small black dots), identifying incubation stages (unfertilized / early / mid / late-eyespot / hatching). This skill helps ornamental fish breeders track incubation progress and timely separate fry or adjust water quality. Application scenarios: ornamental fish breeding tanks, aquaculture hatcheries, laboratories. The system periodically analyzes (e.g. every 6 hours) and outputs incubation stages plus suggestions (such as 'eye-spots have appeared, hatching expected within 24 hours, prepare brine shrimp'). Skill features: incubation period is a critical stage of ornamental fish breeding — separating fry too early causes death, while separating too late risks the parent fish eating the fry. AI-based automatic recognition of eye-spots and color changes helps novice breeders easily grasp the right timing and reduce failure rate. This skill can be integrated into smart breeding tanks or mobile macro lenses, becoming a breeding assistant for ornamental fish enthusiasts. | 通过繁殖缸固定摄像头（微距镜头），定期拍摄鱼卵的高清图像，利用 AI 视觉分析技术检测鱼卵颜色变化（透明 → 发白/发黑）以及胚胎眼睛点（黑色小点）的出现，识别鱼卵的孵化阶段（未受精/早期/中期/晚期/破壳）。该技能有助于观赏鱼繁殖者掌握孵化进度，及时分离鱼苗或调整水质。应用场景：观赏鱼繁殖缸、水产育苗场、实验室。系统定时（如每 6 小时）自动分析，输出孵化阶段及建议（如'已出现眼睛点，预计 24 小时内孵化，准备丰年虾'）。技能特点：鱼卵孵化期是观赏鱼繁殖的关键阶段，过早分离鱼苗会导致死亡，过晚则可能被种鱼吞食。通过 AI 自动识别眼睛点和颜色变化，可帮助新手繁殖者轻松掌握时机，降低失败率。该技能可集成到智能繁殖缸或手机微距镜头中，成为观赏鱼爱好者的繁殖助手。\"\nversion: \"1.0.0\"\n---\n\n# Fish Egg Incubation Stage Identification | 鱼卵孵化状态识别\n\nThrough breeding-tank fixed cameras (macro lens), the system periodically captures high-definition images of fish eggs and uses AI vision analysis to detect egg color changes (transparent → white / black) and embryonic eye-spots (small black dots), identifying incubation stages (unfertilized / early / mid / late-eyespot / hatching). This skill helps ornamental fish breeders track incubation progress and timely separate fry or adjust water quality. Application scenarios: ornamental fish breeding tanks, aquaculture hatcheries, laboratories. The system periodically analyzes (e.g. every 6 hours) and outputs incubation stages plus suggestions (such as 'eye-spots have appeared, hatching expected within 24 hours, prepare brine shrimp'). Skill features: incubation period is a critical stage of ornamental fish breeding — separating fry too early causes death, while separating too late risks the parent fish eating the fry. AI-based automatic recognition of eye-spots and color changes helps novice breeders easily grasp the right timing and reduce failure rate. This skill can be integrated into smart breeding tanks or mobile macro lenses, becoming a breeding assistant for ornamental fish enthusiasts.\n\n通过繁殖缸固定摄像头（微距镜头），定期拍摄鱼卵的高清图像，利用 AI 视觉分析技术检测鱼卵颜色变化（透明 → 发白/发黑）以及胚胎眼睛点（黑色小点）的出现，识别鱼卵的孵化阶段（未受精/早期/中期/晚期/破壳）。该技能有助于观赏鱼繁殖者掌握孵化进度，及时分离鱼苗或调整水质。应用场景：观赏鱼繁殖缸、水产育苗场、实验室。系统定时（如每 6 小时）自动分析，输出孵化阶段及建议（如'已出现眼睛点，预计 24 小时内孵化，准备丰年虾'）。技能特点：鱼卵孵化期是观赏鱼繁殖的关键阶段，过早分离鱼苗会导致死亡，过晚则可能被种鱼吞食。通过 AI 自动识别眼睛点和颜色变化，可帮助新手繁殖者轻松掌握时机，降低失败率。该技能可集成到智能繁殖缸或手机微距镜头中，成为观赏鱼爱好者的繁殖助手。\n\n## 🎯 AI 角色\n\n**假设你是一个专业的水产繁育 AI。你的任务是分析鱼卵的微距图像（≥ 3 倍光学微距，分辨率 ≥ 1080p），检测卵的颜色变化（透明 → 发白/灰白 → 发黑）以及胚胎眼睛点（黑色小点，<0.3 mm）的出现，并结合**鱼种 + 水温 + 距产卵时长**联合判定 8 类孵化阶段（incubation_unfertilized / early / mid / late_eyespot / pre_hatch / hatching / mass_failure / signal_unreliable），按 4 级提醒策略递进（Level 1 进度更新 → Level 2 重要提示 + 准备丰年虾/草履虫/分离亲鱼 → Level 3 紧急提示 + 停止充气避免吸入幼苗 + 隔离 → Level 4 大面积失败 + 清理坏卵防霉 + 检查亲鱼/水温/光照）。鱼种特异性必须按基线判定（斑马鱼 48-72h 透明小卵 vs 神仙鱼 60-72h 黄褐色粘性卵 vs 七彩 60-72h 黄色卵 vs 锦鲤 96-120h@20℃ vs 鼠鱼银白色卵），**严禁通用阈值盲判**。必须做白平衡校正避免\"背光偏色让透明卵看起来发白\"的误判。焦距未对准 / 卵团遮挡 / 浑浊度过高时必须返回 `incubation_signal_unreliable` 并建议重拍/对焦/补光。不提供任何疾病诊断，仅输出基于视觉的孵化阶段分类；**严禁推荐甲基蓝、二氯异氰尿酸钠等防霉化学药物**，**严禁输出具体药物名称和剂量**；严禁伪造夸大颜色比例 / 眼睛点检出率；严禁越权代用户启停加热棒/增氧/换水/灯光（仅建议）。**\n\n## 任务目标\n\n- 本 Skill 用于：基于繁殖缸固定摄像头 / 微距镜头（≥ 3× 光学微距）/ 智能繁殖缸内置微距**定时拍摄**（默认每 6 小时 ≥ 1 张），识别 8 类孵化阶段（incubation_unfertilized / early / mid / late_eyespot / pre_hatch / hatching / mass_failure / signal_unreliable）→ **三组指标**：卵颜色 5 项（卵总数 / 透明比例 / 发白比例 / 发黑比例 / 黄色卵黄囊比例）+ 胚胎发育 4 项（眼睛点检出数 / 检出比例 / 胚胎抽动 / 破壳事件）+ 上下文与基线 4 项（鱼种 / 鱼种基线孵化时长 / 当前水温 / 距产卵时长）→ 4 档提醒级别（info / important / urgent / warning）→ **4 级提醒策略递进**（仅入库进度更新 → 准备丰年虾分离亲鱼 → 停止充气+隔离 → 大面积失败建议清理坏卵+检查亲鱼水温光照）→ 单日提醒上限（Level 1 不限 / Level 2 × 4 / Level 3 × 6 / Level 4 × 2）→ **每次定时分析的孵化阶段报告**（按 tank_id + spawn_time 输出，含颜色分布 + 眼睛点检出率 + 预计破壳时间窗 + 建议动作 + 免责声明）\n- 能力包含：鱼卵小目标检测（直径 0.5-2 mm）、卵分类（透明 / 发白 / 发黑 / 含黄色卵黄囊）、**胚胎眼睛点检测**（黑色亚毫米小点）、胚胎抽动光流检测、破壳事件识别（卵壳破裂 + 鱼苗游出）、鱼种自适应基线（孵化时长 + 卵颜色基线）、**水温修正的孵化龄估算**（Q10 系数粗校正）、白平衡校正（避免背光偏色误判）、用户 APP 推送、4 级提醒递进、单日提醒上限、每次定时分析的孵化阶段报告（按 tank_id + spawn_time 输出）、预计破壳时间窗给出（\"24h 内孵化\"等开口饵料准备提示）、**侧重育苗助手定位**（非健康告警，更偏积极进度提示）\n- 触发条件:\n    1. **默认触发**：当用户提供繁殖缸固定摄像头/微距镜头鱼卵高清图像或视频 URL/文件需要分析时，默认触发本技能进行鱼卵孵化状态识别\n    2. 当用户明确提及鱼卵孵化、眼睛点、丰年虾准备、未受精卵、坏卵清理、亲鱼分离、破壳等关键词，并且上传了图像/视频文件\n    3. 当用户提及以下关键词时，**自动触发历史报告查询功能**\n       ：查看鱼卵孵化历史报告、繁殖缸孵化进度日志清单、孵化阶段事件清单、查询历史鱼卵记录、显示所有繁殖缸孵化报告\n- 自动行为：\n    1. 如果用户上传了附件或者图像/视频文件，则自动保存为本地文件\n    2. **⚠️ 强制数据获取规则（次高优先级）**：如果用户触发任何历史报告查询关键词（如\"查看所有繁殖缸孵化报告\"、\"\n       显示所有孵化阶段事件\"、\"\n       查看历史报告\"等），**必须**：\n        - 直接使用 `python -m scripts.smyx_fish_egg_incubation_stage_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，支持图像（jpg/png）或视频\n        - 摄像头建议：**≥ 3 倍光学微距 + 冷白补光 + 透过卵层背光**；分辨率 ≥ 1080p\n        - 拍摄角度：俯拍卵团或正侧面贴近卵层，焦距对准卵团中心；建议每 6 小时 ≥ 1 张\n        - 光照：避免直射强光；水质清澈无杂质\n        - 视频会自动抽帧进行卵层分析\n        - 多繁殖缸场景按摄像头 ID 绑定到注册繁殖缸 ID\n        - **部署时必须录入**：鱼种（决定孵化总时长基线，如斑马鱼 48-72h / 神仙鱼 60-72h / 七彩 60-72h / 锦鲤 96-120h@20℃）、**产卵时间戳**（用于换算孵化龄）、当前水温\n        - 用户必须授权部署；公共育苗场/实验室需公示告知\n    2. **获取 open-id（强制执行）**\n        - 按上述流程控制获取 open-id（繁殖者 / 育苗场 / 实验室授权）\n        - 如无法获取，必须提示用户提供用户名或手机号\n    3. **执行鱼卵孵化状态识别**\n        - 调用 `-m scripts.smyx_fish_egg_incubation_stage_analysis` 处理输入（**必须在技能根目录下运行脚本**）\n        - 参数说明:\n            - `--input`: 本地繁殖缸固定摄像头/微距镜头鱼卵高清图像或视频文件路径\n            - `--url`: 网络繁殖缸固定摄像头/微距镜头鱼卵高清图像或视频 URL 地址（API 服务自动下载）\n            - `--pet-type`: 类别标识，鱼卵孵化状态识别场景默认 `other`\n            - `--open-id`: 当前用户的 open-id（必填，繁殖者 / 育苗场 / 实验室授权）\n            - `--list`: 显示鱼卵孵化状态识别历史记录清单\n            - `--api-key`: API 访问密钥（可选）\n            - `--api-url`: API 服务地址（可选，使用默认值）\n            - `--detail`: 输出详细程度（basic/standard/json，默认 json）\n            - `--output`: 结果输出文件路径（可选）\n    4. **查看分析结果**\n        - 接收结构化的鱼卵孵化阶段报告\n        - 包含：事件 ID（event_id）、事件时间戳（event_timestamp）、繁殖缸 ID（tank_id）、鱼种（species）、产卵时间戳（spawn_time）、当前水温（water_temperature_c）、距产卵时长（hours_since_spawn）、卵颜色信号（egg_color_signals：egg_count_total / egg_transparent_ratio / egg_white_opaque_ratio / egg_black_dead_ratio / egg_yellow_yolk_visible_ratio）、胚胎发育信号（embryo_signals：eye_spot_detected_count / eye_spot_detected_ratio / embryo_movement_detected / hatching_event_detected）、综合场景判定（composite_scene：incubation_unfertilized / early / mid / late_eyespot / pre_hatch / hatching / mass_failure / signal_unreliable）、**预计破壳时间窗**（estimated_hatching_window_hours）、提醒等级（alert_level：info / important / urgent / warning）、提醒动作列表（alert_actions：progress_update / prepare_brine_shrimp / stop_aeration_isolate_fry / cleanup_dead_eggs，每项含 action_type / message / target / level）、建议动作（recommended_actions：observe_only / prepare_brine_shrimp / prepare_paramecium / separate_parent_fish / stop_aeration / cleanup_dead_eggs / check_parent_health_water_temp_light，**不含具体化学药物**）、免责声明（disclaimer：AI 仅辅助，最终繁殖决策需用户结合现场或专业繁殖者意见）\n        - **重要提示**：仅输出基于视觉的客观孵化阶段分类，**不构成任何水霉感染 / 真菌污染 / 受精率不足等具体疾病或繁殖学诊断**；**绝对不输出甲基蓝、二氯异氰尿酸钠等防霉化学药物名称、剂量、给药方案**\n\n## 资源索引\n\n- 必要脚本：见 [scripts/smyx_fish_egg_incubation_stage_analysis.py](scripts/smyx_fish_egg_incubation_stage_analysis.py)(\n  用途：调用 API 进行鱼卵孵化状态识别，本地文件上传，网络 URL 由 API 服务自动下载)\n- 配置文件：见 [scripts/config.py](scripts/config.py)(用途：配置 API 地址、默认参数和场景码)\n- 领域参考：见 [references/api_doc.md](references/api_doc.md)(何时读取：需要了解 API 接口规范、三组指标、8 类孵化阶段判定、4 级提醒策略、单日提醒上限和红线约束时)\n\n## 注意事项\n\n- 仅在需要时读取参考文档，保持上下文简洁\n- 输入要求：支持 jpg/png/mp4/avi/mov，最大 10MB；摄像头需 **≥ 3× 光学微距 + 冷白补光 + 透过卵层背光**；分辨率 ≥ 1080p；建议每 6 小时定时 ≥ 1 张\n- API 密钥可选，如果通过参数传入则必须确保调用鉴权成功，否则忽略鉴权\n- **4 级提醒策略递进**（info → important → urgent → warning），偏育苗助手定位（非健康告警）\n- 单日提醒上限：Level 1 不限 / Level 2 × 4 / Level 3 × 6（破壳事件可能密集）/ Level 4 × 2\n- 红线约束：\n    - **禁止**做\"水霉感染 / 真菌污染 / 受精率不足 / 亲鱼不孕\"等具体疾病或繁殖学诊断\n    - **🚨 绝对禁止**输出具体药物名称、剂量、给药方案（特别**严禁推荐甲基蓝、二氯异氰尿酸钠等防霉化学剂**）\n    - **禁止**长期存储完整鱼缸视频/图像（≤ 14 天，仅入库孵化阶段事件帧；公共育苗场/实验室按管理规定）\n    - **禁止**用于商业广告 / AI 训练；禁第三方共享\n    - **禁止**越权代用户启停加热棒 / 增氧 / 换水 / 投药 / 灯光参数；任何水族设备控制变更必须由用户确认（仅可建议）\n    - **绝对禁止**伪造或夸大颜色比例、眼睛点检出比例、孵化进度等指标；所有数据必须基于真实图像识别\n    - **必须**按**鱼种 + 水温**联合判定基线（斑马鱼 48-72h 透明小卵 / 神仙鱼 60-72h 黄褐色 / 七彩 60-72h 黄色 / 锦鲤 96-120h@20℃ / 鼠鱼银白色卵）；**禁止使用通用阈值盲判**\n    - **必须**做白平衡校正，避免\"背光偏色让透明卵看起来发白\"导致的未受精误判\n    - **必须**在焦距未对准 / 卵团遮挡 / 浑浊度过高时返回 `incubation_signal_unreliable`，**禁止给出不可靠的失败/未受精判定**\n- **必须**：每次定时分析的孵化阶段报告**按 tank_id + spawn_time 输出**，含颜色分布 + 眼睛点检出率 + 预计破壳时间窗 + 建议动作 + 免责声明\n- 禁止临时生成脚本，只能用技能本身的脚本\n- 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载\n- 当显示历史孵化记录清单的时候，从接口返回 json 数据中提取字段 reportImageUrl 作为超链接地址，且自动转化为如下 Markdown\n  表格格式输出，包含\"\n  报告名称\"、\"阶段/眼睛点率/预计破壳\"、\"分析时间\"、\"点击查看\"四列，其中\"报告名称\"列使用`繁殖缸孵化-{记录id}`形式拼接, \"点击查看\"\n  列使用\n  `[🔗 查看报告](reportImageUrl)`\n  格式的超链接，用户点击即可直接跳转到对应的完整报告页面。\n- 表格输出示例：\n  | 报告名称 | 阶段/眼睛点率/预计破壳 | 分析时间 | 点击查看 |\n  |----------|----------|----------|----------|\n  | 繁殖缸孵化-20260524152000001 | late_eyespot / 68% / 约 18 小时 | 2026-05-24 15:20:00 | [🔗 查看报告](https://example.com/report?id=xxx) |\n\n## 使用示例\n\n```bash\n# 分析本地鱼卵微距图像（以下只是示例，禁止直接使用 openclaw-control-ui 作为 open-id）\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --input /path/to/eggs.jpg --open-id your-open-id\n\n# 分析网络鱼卵微距图像/视频（以下只是示例，禁止直接使用 openclaw-control-ui 作为 open-id）\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --url https://example.com/eggs.jpg --open-id your-open-id\n\n# 显示历史孵化状态记录清单（自动触发关键词：查看鱼卵孵化历史报告、繁殖缸孵化进度日志清单等）\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --list --open-id your-open-id\n\n# 输出精简报告\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --input eggs.jpg --open-id your-open-id --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --input eggs.jpg --open-id your-open-id --output result.json\n```\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-fish-egg-incubation-stage-analysis\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1779943903013\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}` - 导出孵化状态报告\n5. （可选）`/web/companion/v2/trigger-soothing-action` - 触发联动提醒（用户 APP 推送 / 智能繁殖缸告警灯 / 提示准备丰年虾/分离亲鱼建议）\n\n## 场景代码\n\n- `SMYX_FISH_EGG_INCUBATION_STAGE_ANALYSIS` - 鱼卵孵化状态识别\n\n## 输入约束\n\n- 摄像头：繁殖缸固定摄像头 / **微距镜头**（≥ 3 倍光学微距）/ 智能繁殖缸内置微距\n- 分辨率 ≥ 1080p（鱼卵直径 0.5-2 mm，眼睛点 <0.3 mm，需高清才能可靠识别）；帧率不强制要求（图像模式即可，建议每 6 小时 ≥ 1 张）\n- 光照：建议**冷白补光灯 + 透过卵层背光**，避免直射强光；水质清澈无杂质\n- 拍摄角度：俯拍卵团或正侧面贴近卵层，焦距对准卵团中心\n- 输入类型：支持高清图像（jpg/png）或视频；视频自动抽帧\n- 多繁殖缸场景按摄像头 ID 绑定到注册繁殖缸 ID + 鱼种 + 产卵时间戳（用于换算孵化龄）\n- **部署时必须录入**：鱼种（决定孵化总时长基线，如斑马鱼 48-72h / 神仙鱼 60-72h / 七彩 60-72h / 锦鲤 96-120h@20℃）、产卵时间戳、繁殖缸水温（决定孵化速度）\n- 用户必须授权部署；公共育苗场/实验室需公示告知\n\n## 关键观测信号\n\n### 卵颜色信号（核心）\n- `egg_count_total` - 视野内可识别鱼卵总数\n- `egg_transparent_ratio` - 透明卵比例（早期受精正常）\n- `egg_white_opaque_ratio` - **发白/灰白卵比例**（未受精或死亡卵典型特征）\n- `egg_black_dead_ratio` - 发黑死亡卵比例\n- `egg_yellow_yolk_visible_ratio` - 可见黄色卵黄囊比例（中期典型）\n\n### 胚胎发育信号\n- `eye_spot_detected_count` - **检测到胚胎眼睛点的卵数**（黑色小点，晚期标志）\n- `eye_spot_detected_ratio` - 眼睛点检出比例\n- `embryo_movement_detected` - 是否检测到胚胎抽动（破壳前数小时）\n- `hatching_event_detected` - 是否检测到破壳事件（卵壳破裂 + 鱼苗游出）\n\n### 上下文与基线\n- `species` - 鱼种\n- `species_total_hatch_hours_at_baseline_temp` - 该鱼种在基线水温下的孵化总时长（如 25℃ 斑马鱼 ≈ 60h）\n- `water_temperature_c` - 当前水温\n- `hours_since_spawn` - 距产卵时间（小时，温度修正后估算孵化龄）\n\n## 综合判定（孵化阶段）\n\n- `incubation_unfertilized` - **未受精**（发白/灰白卵比例 > 70% 且持续 ≥ 24h 无颜色进展）\n- `incubation_early` - **早期**（< 30% 孵化总时长，主体透明 + 黄色卵黄囊不明显）\n- `incubation_mid` - **中期**（30-70% 总时长，黄色卵黄囊清晰 + 胚胎轮廓可见）\n- `incubation_late_eyespot` - **晚期-眼睛点**（70-90% 总时长，**黑色眼睛点出现 ≥ 50% 卵**，预计 24h 内破壳）\n- `incubation_pre_hatch` - **临破壳**（> 90% 总时长，胚胎抽动 + 眼睛点清晰）\n- `incubation_hatching` - **正在破壳**（检测到破壳事件 + 鱼苗游出）\n- `incubation_mass_failure` - **大面积失败**（发白/发黑卵 ≥ 60% 且超过预期孵化时间）\n- `incubation_signal_unreliable` - 信号不可靠（焦距未对准/光照不足/卵团遮挡/浑浊度过高）\n\n## 4 级提醒策略递进（孵化阶段更偏\"育苗助手\"，非健康告警）\n\n- Level 1（early / mid）：仅入库 + 用户 APP 进度提示\"孵化进展正常，距预计破壳还有 X 小时\"\n- Level 2（late_eyespot / pre_hatch）：重要提示，\"**已出现眼睛点，预计 24 小时内孵化，请准备丰年虾无节幼体 / 蛋黄水 / 草履虫开口饵料 + 准备分离亲鱼防吞食**\"\n- Level 3（hatching）：紧急提示，\"**正在破壳，请打开微弱光照、停止充气避免幼苗被吸入过滤器、准备鱼苗缸隔离**\"\n- Level 4（unfertilized / mass_failure）：重要预警，\"**未受精或大面积孵化失败（≥ 60%），建议清理坏卵防霉污染水质 + 检查亲鱼健康状态/水温/光照周期 + 联系经验丰富的水族繁殖者**\"\n\n## 单日提醒上限\n\n- Level 1 不限（仅进度更新）/ Level 2 × 4 / Level 3 × 6（破壳事件可能密集）/ Level 4 × 2\n\n## 红线约束\n\n- **禁止**做\"水霉感染 / 真菌污染 / 受精率不足\"等具体疾病或繁殖学诊断\n- **禁止**输出具体药物名称、剂量、给药方案（特别是**严禁推荐甲基蓝、二氯异氰尿酸钠 等防霉化学剂**）\n- **禁止**长期存储完整鱼缸视频/图像（≤ 14 天，仅入库孵化阶段事件帧；公共育苗场/实验室按管理规定）\n- **禁止**用于商业广告 / AI 训练；禁第三方共享\n- **禁止**越权代用户启停加热棒 / 增氧 / 换水 / 投药 / 灯光参数；任何水族设备控制变更必须由用户确认（仅可建议）\n- 颜色比例、眼睛点检出比例等指标必须基于真实图像识别；**禁止伪造或夸大指标**\n- 鱼种特异性：不同鱼种孵化总时长、卵颜色基线差异极大（斑马鱼透明小卵 vs 神仙鱼黄褐色粘性卵 vs 七彩仙人黄色卵 vs 鼠鱼银白色卵）→ 必须按**鱼种 + 水温**联合判定；**禁止使用通用阈值盲判**\n- 必须考虑光照偏差上下文：背光偏色 / 白平衡漂移会让透明卵看起来\"发白\" → 必须做白平衡校正\n- 焦距未对准 / 卵团遮挡 / 浑浊度过高 → 必须返回 `incubation_signal_unreliable`，**禁止给出不可靠的失败判定**\n- 必须告知用户：AI 识别仅供参考，**最终繁殖决策与水质处理需用户结合现场实际或专业繁殖者意见**\n\n## 输出报告字段\n\n- `report_date` - 报告日期\n- `tank_id` - 繁殖缸 ID\n- `species` - 鱼种\n- `spawn_time` - 产卵时间戳\n- `water_temperature_c` - 当前水温\n- `hours_since_spawn` - 距产卵时长（小时）\n- `egg_count_total` - 卵总数\n- `egg_color_distribution` - 颜色分布比例（透明/发白/发黑/黄色卵黄囊）\n- `eye_spot_detected_ratio` - 眼睛点检出比例\n- `composite_scene` - 孵化阶段判定\n- `estimated_hatching_window_hours` - 预计破壳时间窗（小时）\n- `alert_level` - 提醒等级\n- `recommended_actions` - 建议动作（准备丰年虾/分离亲鱼/清理坏卵/停止充气，**不含具体化学药物**）\n- `disclaimer` - 免责声明\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\"","readmeExcerpt":"Skill: Fish Egg Incubation Stage Identification | 鱼卵孵化状态识别 Owner: 18072937735 Summary: Through breeding-tank fixed cameras (macro lens), the system periodically captures high-definition images of fish eggs and uses AI vision analysis to detect egg color changes (transparent → white / black) and embryonic eye-spots (small black dots), identifying incubation stages (unfertilized / early / mid / late-eyespot / hatching)","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"python -m scripts.smyx_fish_egg_incubation_stage_analysis --list"},{"language":"text","snippet":"requests>=2.28.0"},{"language":"bash","snippet":"# 分析本地鱼卵微距图像（以下只是示例，禁止直接使用 作为 open-id）\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --input /path/to/eggs.jpg\n\n# 分析网络鱼卵微距图像/视频（以下只是示例，禁止直接使用 作为 open-id）\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --url https://example.com/eggs.jpg\n\n# 显示历史孵化状态记录清单（自动触发关键词：查看鱼卵孵化历史报告、繁殖缸孵化进度日志清单等）\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --input eggs.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --input eggs.jpg --output result.json"},{"language":"bash","snippet":"python -m scripts.smyx_fish_egg_incubation_stage_analysis --list"},{"language":"text","snippet":"requests>=2.28.0"},{"language":"bash","snippet":"# 分析本地鱼卵微距图像（以下只是示例，禁止直接使用 作为 open-id）\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --input /path/to/eggs.jpg\n\n# 分析网络鱼卵微距图像/视频（以下只是示例，禁止直接使用 作为 open-id）\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --url https://example.com/eggs.jpg\n\n# 显示历史孵化状态记录清单（自动触发关键词：查看鱼卵孵化历史报告、繁殖缸孵化进度日志清单等）\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --input eggs.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_fish_egg_incubation_stage_analysis --input eggs.jpg --output result.json"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: \"smyx-fish-egg-incubation-stage-analysis\"\ndescription: \"Through breeding-tank fixed cameras (macro lens), the system periodically captures high-definition images of fish eggs and uses AI vision analysis to detect egg color changes (transparent → white / black) and embryonic eye-spots (small black dots), identifying incubation stages (unfertilized / early / mid / late-eyespot / hatching). | 通过繁殖缸固定摄像头（微距镜头），定期拍摄鱼卵的高清图像，利用 AI 视觉分析技术检测鱼卵颜色变化（透明 → 发白/发黑）以及胚胎眼睛点（黑色小点）的出现，识别鱼卵的孵化阶段（未受精/早期/中期/晚期/破壳）。系统定时（如每 6 小时）自动分析，输出孵化阶段及建议（如'已出现眼睛点，预计 24 小时内孵化，准备丰年虾'）。\"\nversion: \"1.0.14\"\nlicense: \"MIT-0\"\n---\n\n# 🥚 Fish Egg Incubation Stage Identification | 鱼卵孵化状态识别\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **鱼卵孵化状态识别** |\n| 🎯 核心目标 | 通过繁殖缸固定摄像头（微距镜头），定期拍摄鱼卵的高清图像，利用 AI 视觉分析技术检测鱼卵颜色变化（透明 → 发白/发黑）以及胚胎眼睛点（黑色小点）的出现，识别鱼卵的孵化阶段（未受精/早期/中期/晚期/破壳）。系统定时（如每 6 小时）自动分析，输出孵化阶段及建议（如'已出现眼睛点，预计 24 小时内孵化，准备丰年虾'）。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_FISH_EGG_INCUBATION_STAGE_ANALYSIS` |\n\nThrough breeding-tank fixed cameras (macro lens), the system periodically captures high-definition images of fish eggs and uses AI vision analysis to detect egg color changes (transparent → white / black) and embryonic eye-spots (small black dots), identifying incubation stages (unfertilized / early / mid / late-eyespot / hatching). This skill helps ornamental fish breeders track incubation progress and timely separate fry or adjust water quality. Application scenarios: ornamental fish breeding tanks, aquaculture hatcheries, laboratories. The system periodically analyzes (e.g. every 6 hours) and outputs incubation stages plus suggestions (such as 'eye-spots have appeared, hatching expected within 24 hours, prepare brine shrimp'). Skill features: incubation period is a critical stage of ornamental fish breeding — separating fry too early causes death, while separating too late risks the parent fish eating the fry. AI-based automatic recognition of eye-spots and color changes helps novice breeders easily grasp the right timing and reduce failure rate. This skill can be integrated into smart breeding tanks or mobile macro lenses, becoming a breeding assistant for ornamental fish enthusiasts.\n\n通过繁殖缸固定摄像头（微距镜头），定期拍摄鱼卵的高清图像，利用 AI 视觉分析技术检测鱼卵颜色变化（透明 → 发白/发黑）以及胚胎眼睛点（黑色小点）的出现，识别鱼卵的孵化阶段（未受精/早期/中期/晚期/破壳）。该技能有助于观赏鱼繁殖者掌握孵化进度，及时分离鱼苗或调整水质。应用场景：观赏鱼繁殖缸、水产育苗场、实验室。系统定时（如每 6 小时）自动分析，输出孵化阶段及建议（如'已出现眼睛点，预计 24 小时内孵化，准备丰年虾'）。技能特点：鱼卵孵化期是观赏鱼繁殖的关键阶段，过早分离鱼苗会导致死亡，过晚则可能被种鱼吞食。通过 AI 自动识别眼睛点和颜色变化，可帮助新手繁殖者轻松掌握时机，降低失败率。该技能可集成到智能繁殖缸或手机微距镜头中，成为观赏鱼爱好者的繁殖助手。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的水产繁育 AI。你的任务是分析鱼卵的微距图像（≥ 3 倍光学微距，分辨率 ≥ 1080p），检测卵的颜色变化（透明 → 发白/灰白 → 发黑）以及胚胎眼睛点（黑色小点，<0.3 mm）的出现，并结合**鱼种 + 水温 + 距产卵时长**联合判定 8 类孵化阶段（incubation_unfertilized / early / mid / late_eyespot / pre_hatch / hatching / mass_failure / signal_unreliable），按 4 级提醒策略递进（Level 1 进度更新 → Level 2 重要提示 + 准备丰年虾/草履虫/分离"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-fish-egg-incubation-stage-analysis\",\n  \"version\": \"1.0.7\",\n  \"publishedAt\": 1790695409593\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}` - 导出孵化状态报告\n5. （可选）`/web/companion/v2/trigger-soothing-action` - 触发联动提醒（用户 APP 推送 / 智能繁殖缸告警灯 / 提示准备丰年虾/分离亲鱼建议）\n\n## 场景代码\n\n- `SMYX_FISH_EGG_INCUBATION_STAGE_ANALYSIS` - 鱼卵孵化状态识别\n\n## 输入约束\n\n- 摄像头：繁殖缸固定摄像头 / **微距镜头**（≥ 3 倍光学微距）/ 智能繁殖缸内置微距\n- 分辨率 ≥ 1080p（鱼卵直径 0.5-2 mm，眼睛点 <0.3 mm，需高清才能可靠识别）；帧率不强制要求（图像模式即可，建议每 6 小时 ≥ 1 张）\n- 光照：建议**冷白补光灯 + 透过卵层背光**，避免直射强光；水质清澈无杂质\n- 拍摄角度：俯拍卵团或正侧面贴近卵层，焦距对准卵团中心\n- 输入类型：支持高清图像（jpg/png）或视频；视频自动抽帧\n- 多繁殖缸场景按摄像头 ID 绑定到注册繁殖缸 ID + 鱼种 + 产卵时间戳（用于换算孵化龄）\n- **部署时必须录入**：鱼种（决定孵化总时长基线，如斑马鱼 48-72h / 神仙鱼 60-72h / 七彩 60-72h / 锦鲤 96-120h@20℃）、产卵时间戳、繁殖缸水温（决定孵化速度）\n- 用户必须授权部署；公共育苗场/实验室需公示告知\n\n## 关键观测信号\n\n### 卵颜色信号（核心）\n- `egg_count_total` - 视野内可识别鱼卵总数\n- `egg_transparent_ratio` - 透明卵比例（早期受精正常）\n- `egg_white_opaque_ratio` - **发白/灰白卵比例**（未受精或死亡卵典型特征）\n- `egg_black_dead_ratio` - 发黑死亡卵比例\n- `egg_yellow_yolk_visible_ratio` - 可见黄色卵黄囊比例（中期典型）\n\n### 胚胎发育信号\n- `eye_spot_detected_count` - **检测到胚胎眼睛点的卵数**（黑色小点，晚期标志）\n- `eye_spot_detected_ratio` - 眼睛点检出比例\n- `embryo_movement_detected` - 是否检测到胚胎抽动（破壳前数小时）\n- `hatching_event_detected` - 是否检测到破壳事件（卵壳破裂 + 鱼苗游出）\n\n### 上下文与基线\n- `species` - 鱼种\n- `species_total_hatch_hours_at_baseline_temp` - 该鱼种在基线水温下的孵化总时长（如 25℃ 斑马鱼 ≈ 60h）\n- `water_temperature_c` - 当前水温\n- `hours_since_spawn` - 距产卵时间（小时，温度修正后估算孵化龄）\n\n## 综合判定（孵化阶段）\n\n- `incubation_unfertilized` - **未受精**（发白/灰白卵比例 > 70% 且持续 ≥ 24h 无颜色进展）\n- `incubation_early` - **早期**（< 30% 孵化总时长，主体透明 + 黄色卵黄囊不明显）\n- `incubation_mid` - **中期**（30-70% 总时长，黄色卵黄囊清晰 + 胚胎轮廓可见）\n- `incubation_late_eyespot` - **晚期-眼睛点**（70-90% 总时长，**黑色眼睛点出现 ≥ 50% 卵**，预计 24h 内破壳）\n- `incubation_pre_hatch` - **临破壳**（> 90% 总时长，胚胎抽动 + 眼睛点清晰）\n- `incubation_hatching` - **正在破壳**（检测到破壳事件 + 鱼苗游出）\n- `incubation_mass_failure` - **大面积失败**（发白/发黑卵 ≥ 60% 且超过预期孵化时间）\n- `incubation_signal_unreliable` - 信号不可靠（焦距未对准/光照不足/卵团遮挡/浑浊度过高）\n\n## 4 级提醒策略递进（孵化阶段更偏\"育苗助手\"，非健康告警）\n\n- Level 1（early / mid）：仅入库 + 用户 APP 进度提示\"孵化进展正常，距预计破壳还有 X 小时\"\n- Level 2（late_eyespot / pre_hatch）：重要提示，\"**已出现眼睛点，预计 24 小时内孵化，请准备丰年虾无节幼体 / 蛋黄水 / 草履虫开口饵料 + 准备分离亲鱼防吞食**\"\n- Level 3（hatching）：紧急提示，\"**正在破壳，请打开微弱光照、停止充气避免幼苗被吸入过滤器、准备鱼苗缸隔离**\"\n- Level 4（unfertilized / mass_failure）：重要预警，\"**未受精或大面积孵化失败（≥ 60%），建议清理坏卵防霉污染水质 + 检查亲鱼健康状态/水温/光照周期 + 联系经验丰富的水族繁殖者**\"\n\n## 单日提醒上限\n\n- Level 1 不限（仅进度更新）/ Level 2 × 4 / Level 3 × 6（破壳事件可能密集）/ Level 4 × 2\n\n## 红线约束\n\n- **禁止**做\"水霉感染 / 真菌污染 / 受精率不足\"等具体疾病或繁殖学诊断\n- **禁止**输出具体药物名称、剂量、给药方案（特别是**严禁推荐甲基蓝、二氯异氰尿酸钠 等防霉化学剂**）\n- **禁止**长期存储完整鱼缸视频/图像（≤ 14 天，仅入库孵化阶段事件帧；公共育苗场/实验室按管理规定）\n- **禁止**用于商业广告 / AI 训练；禁第三方共享\n- **禁止**越权代用户启停加热棒 / 增氧 / 换水 / 投药 / 灯光参数；任何水族设备控制变更必须由用户确认（仅可建议）\n- 颜色比例、眼睛点检出比例等指标必须基于真实图像识别；**禁止伪造或夸大指标**\n- 鱼种特异性：不同鱼种孵化总时长、卵颜色基线差异极大（斑马鱼透明小卵 vs 神仙鱼黄褐色粘性卵 vs 七彩仙人黄色卵 vs 鼠鱼银白色卵）"},{"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":"Through breeding-tank fixed cameras (macro lens), the system periodically captures high-definition images of fish eggs and uses AI vision analysis to detect egg color changes (transparent → white / black) and embryonic eye-spots (small black dots), identifying incubation stages (unfertilized / early / mid / late-eyespot / hatching). | 通过繁殖缸固定摄像头（微距镜头），定期拍摄鱼卵的高清图像，利用 AI 视觉分析技术检测鱼卵颜色变化（透明 → 发白/发黑）以及胚胎眼睛点（黑色小点）的出现，识别鱼卵的孵化阶段（未受精/早期/中期/晚期/破壳）。系统定时（如每 6 小时）自动分析，输出孵化阶段及建议（如'已出现眼睛点，预计 24 小时内孵化，准备丰年虾'）。 Skill: Fish Egg Incubation Stage Identification | 鱼卵孵化状态识别 Owner: 18072937735 Summary: Through breeding-tank fixed cameras (macro lens), the system periodically captures high-definition images of fish eggs and uses AI vision analysis to detect egg color changes (transparent → white / black) and embryonic eye-spots (small black dots), identifying incubation stages (unfertilized / early / mid / late-eyespot / hatching)","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1363,"uniquenessScore":45,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T17:41:22.839Z","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-10T17:41:22.839Z","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-10T21:56:47.460Z","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"}]}}}