{"skill":{"slug":"hsa-test","displayName":"H test","summary":"萤石餐饮行业智能巡检技能。通过设备抓图 + 智能体分析接口，实现对餐厅/厨房场景的 AI 巡检，包括地面卫生、动火离人、垃圾桶状态、货品存放和口罩佩戴等关键指标。","description":"---\nname: ezviz-restaurant-inspection\ndescription: 萤石餐饮行业智能巡检技能。通过设备抓图 + 智能体分析接口，实现对餐厅/厨房场景的 AI 巡检，包括地面卫生、动火离人、垃圾桶状态、货品存放和口罩佩戴等关键指标。\nmetadata:\n  openclaw:\n    emoji: \"🍽️\"\n    requires: { \"env\": [\"EZVIZ_APP_KEY\", \"EZVIZ_APP_SECRET\", \"EZVIZ_DEVICE_SERIAL\", \"EZVIZ_AGENT_ID\"], \"pip\": [\"requests\"] }\n    primaryEnv: \"EZVIZ_APP_KEY\"\n---\n\n# Ezviz Restaurant Inspection (萤石餐饮智能巡检)\n\n通过萤石设备抓图 + 智能体分析接口，实现对餐饮场所的 AI 智能巡检。\n\n## 快速开始\n\n### 安装依赖\n\n```bash\npip install requests\n```\n\n### 设置环境变量\n\n```bash\nexport EZVIZ_APP_KEY=\"your_app_key\"\nexport EZVIZ_APP_SECRET=\"your_app_secret\"\nexport EZVIZ_DEVICE_SERIAL=\"dev1,dev2,dev3\"\nexport EZVIZ_AGENT_ID=\"your_agent_id\"\n```\n\n可选环境变量：\n```bash\nexport EZVIZ_CHANNEL_NO=\"1\" # 通道号，默认 1\nexport EZVIZ_ANALYSIS_TEXT=\"请对这张餐饮场所图片进行智能巡检，重点关注：1.地面卫生（污渍、积水、垃圾）2.动火离人（厨房明火无人看管）3.垃圾桶状态（是否盖紧盖子）4.货品存放（食品/原料是否离地存放）5.口罩佩戴（员工口罩佩戴合规性）。请按风险等级分类输出结果，动火离人属于高危告警。\"\n```\n\n**注意**: 不需要设置 `EZVIZ_ACCESS_TOKEN`！技能会自动获取 Token（每次运行自动获取）。\n\n### 运行\n\n```bash\npython3 {baseDir}/scripts/restaurant_inspection.py\n```\n\n命令行参数：\n```bash\n# 单个设备\npython3 {baseDir}/scripts/restaurant_inspection.py appKey appSecret dev1 1 agentId\n\n# 多个设备（逗号分隔）\npython3 {baseDir}/scripts/restaurant_inspection.py appKey appSecret \"dev1,dev2,dev3\" 1 agentId\n\n# 自定义分析提示词\npython3 {baseDir}/scripts/restaurant_inspection.py appKey appSecret dev1 1 agentId \"请检查厨房安全：地面清洁、明火监管、垃圾桶密封、食材存放规范、员工防护\"\n```\n\n## 工作流程\n\n```\n1. 获取 Token (appKey + appSecret → accessToken)\n ↓\n2. 设备抓图 (accessToken + deviceSerial → picUrl)\n ↓\n3. AI 分析 (使用accessToken + appId + 图片URL + 提示词 → 巡检结果)\n ↓\n4. 输出结果 (JSON + 控制台)\n```\n\n## Token 自动获取说明\n\n**你不需要手动获取或配置 `EZVIZ_ACCESS_TOKEN`！**\n\n技能会自动处理 Token 的获取：\n\n```\n每次运行:\n appKey + appSecret → 调用萤石 API → 获取 accessToken (有效期 7 天)\n ↓\n使用 Token 完成抓图和AI分析请求\n ↓\nToken 在内存中使用，不保存到磁盘\n```\n\n**Token 管理特性**:\n- ✅ **自动获取**: 每次运行自动调用萤石 API 获取\n- ✅ **有效期 7 天**: 获取的 Token 7 天内有效\n- ✅ **无需配置**: 不需要手动设置 `EZVIZ_ACCESS_TOKEN` 环境变量\n- ✅ **安全**: Token 不写入日志，不保存到磁盘\n- ⚠️ **注意**: 每次运行会重新获取 Token（不跨运行缓存）\n\n## 输出示例\n\n```\n======================================================================\nEzviz Restaurant Inspection Skill (萤石餐饮智能巡检)\n======================================================================\n[Time] 2026-03-16 15:30:00\n[INFO] Target devices: 2\n - kitchen_cam (Channel: 1)\n - dining_area (Channel: 1)\n[INFO] Agent ID: 98af3e...\n[INFO] Analysis: 请对这张餐饮场所图片进行智能巡检...\n\n======================================================================\n[Step 1] Getting access token...\n[SUCCESS] Token obtained, expires: 2026-03-23 15:30:00\n\n======================================================================\n[Step 2] Capturing and analyzing images...\n======================================================================\n\n[Device] kitchen_cam (Channel: 1)\n[SUCCESS] Image captured: https://opencapture.ys7.com/...\n[SUCCESS] Analysis completed!\n\n[Inspection Result]\n{\n  \"高危告警\": [\"动火离人：检测到灶台明火但无人看管\"],\n  \"一般问题\": [\"地面卫生：发现地面有积水\", \"垃圾桶状态：垃圾桶未盖紧\"],\n  \"合规项\": [\"货品存放：食材已离地存放\", \"口罩佩戴：员工均正确佩戴口罩\"]\n}\n\n======================================================================\nINSPECTION SUMMARY\n======================================================================\n Total devices: 2\n Success: 2\n Failed: 0\n High Risk: 1\n Medium Risk: 2\n======================================================================\n```\n\n## 多设备格式\n\n| 格式 | 示例 | 说明 |\n|------|------|------|\n| 单设备 | `dev1` | 默认通道 1 |\n| 多设备 | `dev1,dev2,dev3` | 全部使用默认通道 |\n| 指定通道 | `dev1:1,dev2:2` | 每个设备独立通道 |\n| 混合 | `dev1,dev2:2,dev3` | 部分指定通道 |\n\n## API 接口\n\n| 接口 | URL | 文档 |\n|------|-----|------|\n| 获取 Token | `POST /api/lapp/token/get` | https://open.ys7.com/help/81 |\n| 设备抓图 | `POST /api/lapp/device/capture` | https://open.ys7.com/help/687 |\n| 智能体分析 | `POST /api/service/open/intelligent/agent/engine/agent/anaylsis` | https://open.ys7.com/help/5006 |\n\n## 网络端点\n\n| 域名 | 用途 |\n|------|------|\n| `open.ys7.com` | 萤石开放平台 API（Token、抓图） |\n| `aidialoggw.ys7.com` | 萤石 AI 智能体分析接口 |\n\n## 巡检内容说明\n\n| 巡检项 | 检测要点 | 风险等级 |\n|--------|----------|----------|\n| 地面卫生 | 识别污渍、积水、垃圾 | 中风险 |\n| 动火离人 | 监测厨房明火无人看管 | **高危告警** |\n| 垃圾桶状态 | 检测是否盖紧盖子 | 中风险 |\n| 货品存放 | 检查食品/原料是否离地存放 | 中风险 |\n| 口罩佩戴 | 记录员工口罩佩戴合规性 | 低风险 |\n\n## 分析提示词优化\n\n**默认提示词**:\n\"请对这张餐饮场所图片进行智能巡检，重点关注：1.地面卫生（污渍、积水、垃圾）2.动火离人（厨房明火无人看管）3.垃圾桶状态（是否盖紧盖子）4.货品存放（食品/原料是否离地存放）5.口罩佩戴（员工口罩佩戴合规性）。请按风险等级分类输出结果，动火离人属于高危告警。\"\n\n**自定义提示词建议**:\n- **厨房专项**: \"重点检查厨房区域的安全隐患：明火监管、地面防滑、食材存储规范\"\n- **用餐区专项**: \"检查用餐区域的卫生状况：桌面清洁、地面垃圾、员工服务规范\"\n- **全面巡检**: \"进行全面的食品安全巡检，按HACCP标准评估各关键控制点\"\n\n## 注意事项\n\n⚠️ **频率限制**: 萤石抓图接口建议间隔 4 秒以上，频繁调用可能触发限流（错误码 10028）\n\n⚠️ **隐私合规**: 使用摄像头监控可能涉及隐私问题，确保符合当地法律法规\n\n⚠️ **Token 安全**: Token 仅在内存中使用，不写入日志，不发送到非萤石端点\n\n⚠️ **分析超时**: AI 分析可能耗时较长，默认超时 60 秒\n\n## 数据流出说明\n\n**本技能会向第三方服务发送数据**：\n\n| 数据类型 | 发送到 | 用途 | 是否必需 |\n|----------|--------|------|----------|\n| 摄像头抓拍图片 | `open.ys7.com` (萤石) | AI 智能体分析 | ✅ 必需 |\n| appKey/appSecret | `open.ys7.com` (萤石) | 获取访问 Token | ✅ 必需 |\n| 设备序列号 | `open.ys7.com` (萤石) | 请求抓图 | ✅ 必需 |\n| 智能体 ID | `aidialoggw.ys7.com` (萤石) | AI 分析请求 | ✅ 必需 |\n| **EZVIZ_ACCESS_TOKEN** | **自动生成** | **每次运行自动获取** | **✅ 自动** |\n\n**数据流出说明**:\n- ✅ **萤石开放平台** (`open.ys7.com`): Token 请求、设备抓图 - 萤石官方 API\n- ✅ **萤石 AI 智能体** (`aidialoggw.ys7.com`): 图片分析 - 萤石官方 API  \n- ❌ **无其他第三方**: 不会发送数据到其他服务\n\n**凭证权限建议**:\n- 使用**最小权限**的 appKey/appSecret\n- 仅开通必要的 API 权限（设备抓图、AI 分析）\n- 定期轮换凭证\n- 不要使用主账号凭证\n\n**本地处理**:\n- ✅ Token 在内存中使用，不写入磁盘\n- ✅ 不记录完整 API 响应\n- ✅ 图片 URL 只显示前 50 字符\n- ✅ 不跨运行缓存 Token（每次运行重新获取）\n\n## 应用场景\n\n| 场景 | 说明 |\n|------|------|\n| 🍳 厨房安全 | 实时监测明火离人、地面湿滑、食材存储 |\n| 🍽️ 用餐区域 | 检查桌面清洁、地面卫生、服务规范 |\n| 🏪 连锁餐饮 | 多门店统一巡检标准，远程质量管控 |\n| 🏢 食堂管理 | 员工食堂食品安全自动化检查 |\n\n## API 调用详情\n\n**AI 智能体分析接口调用格式**:\n\n```bash\ncurl --location --request POST 'https://aidialoggw.ys7.com/api/service/open/intelligent/agent/engine/agent/anaylsis' \\\n--header 'accessToken: YOUR_ACCESS_TOKEN' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n    \"appId\": \"YOUR_AGENT_ID\",\n    \"mediaType\": \"image\",\n    \"text\": \"分析提示词\",\n    \"dataType\": \"url\",\n    \"data\": \"图片URL\"\n}'\n```\n\n**关键参数说明**:\n- `accessToken`: 从萤石API获取的访问令牌（Header中传递）\n- `appId`: 智能体ID（原Agent ID）\n- `mediaType`: 固定为 \"image\"\n- `dataType`: 固定为 \"url\" \n- `data`: 图片的完整URL地址\n- `text`: 分析提示词","topics":["接口","智能体"],"tags":{"latest":"1.0.0"},"stats":{"comments":0,"downloads":586,"installsAllTime":22,"installsCurrent":0,"stars":0,"versions":1},"createdAt":1773648419288,"updatedAt":1778491943830},"latestVersion":{"version":"1.0.0","createdAt":1773648419288,"changelog":"Ezviz Restaurant Inspection v1.0.0 released\n\n- Initial release with automated camera image capture and AI-powered analysis for restaurant/kitchen inspections.\n- Supports detection of hygiene issues, unattended open flame, trash bin status, goods storage, and mask compliance.\n- Simple CLI usage with single/multiple device support and customizable prompts.\n- Automatic token acquisition for secure operation; no manual token setup required.\n- Data is transmitted only to official Ezviz endpoints; no third-party sharing.\n- Designed for use in kitchens, dining areas, canteens, and multi-chain restaurant management.","license":"MIT-0"},"metadata":{"setup":[{"key":"EZVIZ_APP_KEY","required":true},{"key":"EZVIZ_APP_SECRET","required":true},{"key":"EZVIZ_DEVICE_SERIAL","required":true},{"key":"EZVIZ_AGENT_ID","required":true}],"os":null,"systems":null},"owner":{"handle":"shuanhu95","userId":"s178p2bkn13fb3gvq7q24yt849884adt","displayName":"Hu Shuan","image":"https://avatars.githubusercontent.com/u/62202132?v=4"},"moderation":null}