Skill: 18072937735/smyx-fire-detection-analysis (version 1.0.3)

--- name: "fire-detection-analysis" description: "Real-time detection of flames and smoke in video and image scenes. Suitable for fire early warning in industrial parks, forests, warehouses, and other locations. | 火情烟雾检测技能，实时检测视频/图片场景中的火焰、烟雾，适用于工业园区、森林、仓库等场所火情预警" --- This capability supports real-time detection of flames and smoke in video streams or images, making it suitable for high fire-risk locations such as industrial parks, forests, and warehouses. Based on color features, dynamic texture analysis, and smoke diffusion models, the system can rapidly identify early-stage fire conditions while filtering out interferences like lighting changes and steam. Once an anomaly is detected, it immediately triggers local audio-visual alarms and pushes remote warning messages, facilitating second-level discovery and rapid response to fire incidents, effectively reducing the risk of fire spread. 本技能支持对视频流或图片中的火焰、烟雾进行实时检测，适用于工业园区、森林、仓库等高火险场所。系统基于颜色特征、动态纹理与烟雾扩散模型，能够快速识别早期火情并排除光照、蒸汽等干扰。一旦检测到异常，立即触发本地声光报警并远程推送预警信息，助力实现火情的秒级发现与快速处置，有效降低火灾蔓延风险。 # Fire & Smoke Detection Skill | 火情烟雾检测技能 ## ⚠️ 强制记忆规则（最高优先级） **本技能明确约定：** - **绝对禁止读取任何本地记忆文件**：包括但不限于 `memory/YYYY-MM-DD.md`、`MEMORY.md` 等本地文件 - **绝对禁止从 LanceDB 长期记忆中检索信息** - **所有历史报告查询必须从云端接口获取**，不得使用本地记忆中的历史数据 - 即使技能调用失败或接口异常，也不得回退到本地记忆汇总 ## 任务目标 - 本 Skill 用于：检测图片/视频场景中的火情，识别火焰和烟雾，及时发出预警 - 能力包含：火焰检测、烟雾识别、位置标定、置信度评估、火情等级判断 - **适用场景**：工业园区消防安全、森林火情监测、仓库/机房防火预警、住宅小区消防监控 - 支持检测：明火火焰、早期烟雾 - 触发条件: 1. **默认触发**：当用户提供监控视频/图片需要检测火情烟雾时，默认触发本技能 2. 当用户明确需要火情检测、火灾预警时，提及火焰检测、烟雾识别、火情预警、火灾检测等关键词，并且上传了视频/图片 3. 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史检测报告、火情检测报告清单、检测报告列表、查询历史检测报告、显示所有检测报告、火情分析报告，查询火情检测分析报告 - 自动行为： 1. 如果用户上传了附件或者视频/图片文件，则自动保存到技能目录下 attachments 2. **⚠️ 强制数据获取规则（次高优先级）**：如果用户触发任何历史报告查询关键词（如"查看所有检测报告"、"显示历史火情记录"、" 查看历史报告"等），**必须**： - 直接使用 `python -m scripts.fire_detection_analysis --list --open-id` 参数调用 API 查询云端的历史报告数据 - **严格禁止**：从本地 memory 目录读取历史会话信息、严格禁止手动汇总本地记录中的报告、严格禁止从长期记忆中提取报告 - **必须统一**从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 ## 前置准备 - 依赖说明:scripts 脚本所需的依赖包及版本 ``` requests>=2.28.0 ``` ## 检测要求（获得准确结果的前提） 为了获得准确的火情检测，请确保： 1. **监控画面清晰**，尽量覆盖容易起火的重点区域 2. **避免大面积遮挡**，保证疑似火源区域完整可见 3. 支持白天和夜间红外监控，确保人形/火源轮廓可见 ## 操作步骤 ### 🔒 open-id 获取流程控制（强制执行，防止遗漏） **在执行火情检测分析前，必须按以下优先级顺序获取 open-id：** ``` 第 1 步：【最高优先级】检查技能所在目录的配置文件（优先） 路径：skills/smyx_common/scripts/config.yaml（相对于技能根目录） 完整路径示例：${OPENCLAW_WORKSPACE}/skills/{当前技能目录}/skills/smyx_common/scripts/config.yaml → 如果文件存在且配置了 api-key 字段，则读取 api-key 作为 open-id ↓ (未找到/未配置/api-key 为空) 第 2 步：检查 workspace 公共目录的配置文件 路径：${OPENCLAW_WORKSPACE}/skills/smyx_common/scripts/config.yaml → 如果文件存在且配置了 api-key 字段，则读取 api-key 作为 open-id ↓ (未找到/未配置) 第 3 步：检查用户是否在消息中明确提供了 open-id ↓ (未提供) 第 4 步：❗ 必须暂停执行，明确提示用户提供用户名或手机号作为 open-id ``` **⚠️ 关键约束：** - **禁止**自行假设,自行推导,自行生成 open-id 值（如 openclaw-control-ui、default、fire123、safety456 等） - **禁止**跳过 open-id 验证直接调用 API - **必须**在获取到有效 open-id 后才能继续执行分析 - 如果用户拒绝提供 open-id，说明用途（用于保存和查询检测报告记录），并询问是否继续 --- - 标准流程: 1. **准备监控图片/视频输入** - 提供本地文件路径或网络 URL - 覆盖重点防火区域 2. **获取 open-id（强制执行）** - 按上述流程控制获取 open-id - 如无法获取，必须提示用户提供用户名或手机号 3. **执行火情检测分析** - 调用 `-m scripts.fire_detection_analysis` 处理输入（**必须在技能根目录下运行脚本**） - 参数说明: - `--input`: 本地图片/视频文件路径（使用 multipart/form-data 方式上传） - `--url`: 网络图片/视频 URL 地址（API 服务自动下载） - `--open-id`: 当前用户的 open-id（必填，按上述流程获取） - `--list`: 显示历史火情检测分析报告列表清单（可以输入起始日期参数过滤数据范围） - `--api-key`: API 访问密钥（可选） - `--api-url`: API 服务地址（可选，使用默认值） - `--detail`: 输出详细程度（basic/standard/json，默认 json） - `--output`: 结果输出文件路径（可选） 4. **查看分析结果** - 接收结构化的火情检测分析报告 - 包含：输入基本信息、检测到的火情区域数量、火焰/烟雾判断、置信度、火情等级、应急建议 ## 资源索引 - 必要脚本：见 [scripts/fire_detection_analysis.py](scripts/fire_detection_analysis.py)(用途：调用 API 进行火情检测分析，本地文件使用 multipart/form-data 方式上传，网络 URL 由 API 服务自动下载) - 配置文件：见 [scripts/config.py](scripts/config.py)(用途：配置 API 地址、默认参数和格式限制) - 领域参考：见 [references/api_doc.md](references/api_doc.md)(何时读取：需要了解 API 接口详细规范和错误码时) ## 注意事项 - 仅在需要时读取参考文档，保持上下文简洁 - 支持格式：jpg/jpeg/png/mp4/avi/mov，最大 100MB - API 密钥可选，如果通过参数传入则必须确保调用鉴权成功，否则忽略鉴权 - **⚠️ 重要提醒**：本检测结果仅供安防预警参考，发现火情报警请立即拨打火警电话，由专业人员现场确认处置 - 禁止临时生成脚本，只能用技能本身的脚本 - 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 - 当显示历史分析报告清单的时候，从数据 json 中提取字段 reportImageUrl 作为超链接地址，使用 Markdown 表格格式输出，包含" 报告名称"、"检测区域"、"火情等级"、"检测时间"、"点击查看"五列，其中"报告名称"列使用`火情检测报告-{记录id}`形式拼接, " 点击查看"列使用 `[🔗 查看报告](reportImageUrl)` 格式的超链接，用户点击即可直接跳转到对应的完整报告页面。 - 表格输出示例： | 报告名称 | 检测区域 | 火情等级 | 检测时间 | 点击查看 | |----------|----------|----------|----------|----------| | 火情检测报告 -20260329000500001 | 东仓库 | 无火情 | 2026-03-29 00: 05 | [🔗 查看报告](https://example.com/report?id=xxx) | ## 使用示例 ```bash # 检测本地监控图片（以下只是示例，禁止直接使用openclaw-control-ui 作为 open-id） python -m scripts.fire_detection_analysis --input /path/to/monitor.jpg --open-id openclaw-control-ui # 检测本地监控视频（以下只是示例，禁止直接使用openclaw-control-ui 作为 open-id） python -m scripts.fire_detection_analysis --input /path/to/camera.mp4 --open-id openclaw-control-ui # 检测网络图片/视频（以下只是示例，禁止直接使用openclaw-control-ui 作为 open-id） python -m scripts.fire_detection_analysis --url https://example.com/camera.jpg --open-id openclaw-control-ui # 显示历史检测报告/显示检测报告清单列表/显示历史火情检测（自动触发关键词：查看历史检测报告、历史报告、检测报告清单等） python -m scripts.fire_detection_analysis --list --open-id openclaw-control-ui # 输出精简报告 python -m scripts.fire_detection_analysis --input camera.jpg --open-id your-open-id --detail basic # 保存结果到文件 python -m scripts.fire_detection_analysis --input camera.jpg --open-id your-open-id --output result.json ```

path: scripts/config.yaml

path: skills/face_analysis/scripts/config.yaml

Security scan verdicts — ClawScan: suspicious | static analysis: suspicious | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)