Ezviz Open Restaurant Inspection

v1.0.3

Ezviz restaurant inspection skill. Captures device images and sends to Ezviz AI for food safety analysis.

0· 283· 4 versions· 0 current· 0 all-time· Updated 19h ago· MIT-0
byEzvizOpenTeam@ezviz-open·duplicate of @shuanhu95/hsa-test

Install

openclaw skills install ezviz-open-restaurant-inspection

Ezviz Restaurant Inspection Skill

Captures images from Ezviz cameras and sends to Ezviz AI for restaurant safety inspection.


User Confirmation Required

Running this skill means you accept these remote actions:

  1. Query Ezviz agent list (open.ys7.com)
  2. Create agent from template if needed (open.ys7.com)
  3. Capture device images (open.ys7.com)
  4. Send images for AI analysis (aidialoggw.ys7.com)

Data flow: Device -> open.ys7.com -> aidialoggw.ys7.com -> Local output

Privacy:

  • Images stored on Ezviz (2 hours)
  • Token cached in /tmp/ezviz_global_token_cache/ (perms 600)

Security Requirements

  1. Use dedicated Ezviz app credentials (not main account)
  2. Minimal permissions: capture + agent APIs only
  3. Prefer environment variables over config files
  4. Test with non-production devices first

Quick Start

Environment Variables (Recommended)

export EZVIZ_APP_KEY="your_key"
export EZVIZ_APP_SECRET="your_secret"
export EZVIZ_DEVICE_SERIAL="dev1,dev2"
python3 scripts/restaurant_inspection.py

Config File (Alternative)

Add to ~/.openclaw/channels.json:

{
  "channels": {
    "ezviz": {
      "appId": "your_app_id",
      "appSecret": "your_app_secret",
      "devices": ["BF6985110"]
    }
  }
}

Then run:

python3 scripts/restaurant_inspection.py

Disable Token Cache (High Security)

export EZVIZ_TOKEN_CACHE=0
python3 scripts/restaurant_inspection.py

Pre-Run Verification

Run these before first use:

# 1. Check for hidden characters
python3 -c "
import sys
for f in ['SKILL.md', 'scripts/restaurant_inspection.py', 'lib/token_manager.py']:
    with open(f, 'rb') as file:
        text = file.read().decode('utf-8')
        for i, c in enumerate(text):
            code = ord(c)
            if code < 32 and code not in [9, 10, 13]:
                print(f'{f}: Control char at {i}')
                sys.exit(1)
print('All files clean')
"

# 2. Verify API domains (should use open.ys7.com only)
grep -r "open.ys7.com" scripts/ lib/  # Should show endpoints

# 3. Verify domain connectivity
curl -I https://open.ys7.com/api/lapp/token/get  # Should return 200 OK

# 4. Check token cache permissions
ls -la /tmp/ezviz_global_token_cache/global_token_cache.json
# Should show: -rw------- (600)

API Endpoints

DomainPurpose
open.ys7.comToken, Capture, Agent Management
aidialoggw.ys7.comAI Analysis

Note: open.ys7.com is the official Ezviz Open API domain (openai = Open API, not AI).


Security Checklist

Before running:

  • Reviewed scripts/restaurant_inspection.py
  • Reviewed lib/token_manager.py
  • Verified API domains (open.ys7.com, aidialoggw.ys7.com)
  • Created dedicated Ezviz app (minimal permissions)
  • Tested with non-production device

Before autonomous use:

  • Accept remote side effects (agent creation, image capture, AI analysis)
  • Understand data flow and privacy implications
  • Configured token cache appropriately for your environment

Update Log

DateVersionChanges
2026-03-191.0.8Security hardened: unified domains, user confirmation, clean UTF-8
2026-03-191.0.7Global token cache support
2026-03-191.0.6Config file support

Author: EzvizOpenTeam License: MIT-0

Version tags

latestvk97a1cad07w3fn4ebpk639xhan837b3r

Runtime requirements

🍽️ Clawdis
EnvEZVIZ_APP_KEY, EZVIZ_APP_SECRET, EZVIZ_DEVICE_SERIAL
Primary envEZVIZ_APP_KEY