← 返回
未分类 Key 中文

Ezviz Open Camera Video

Ezviz camera video streaming skill. Generates PC and mobile links for live and playback streams. Use when: Need to view camera live feed, playback recordings...
Ezviz摄像头视频流技能。生成PC与移动端链接,用于实时流和回放流。使用时机:需要查看摄像头实时画面或回放录像。
ezviz-open ezviz-open 来源
未分类 clawhub v1.0.1 1 版本 100000 Key: 需要
★ 0
Stars
📥 518
下载
💾 0
安装
1
版本
#latest

概述

Ezviz Open Video (萤石设备视频流)

Generate Ezviz camera live and playback streaming links for PC and mobile devices.


⚠️ Security Warning (Read Before Installation)

Complete the following security checks before using this skill:

#CheckStatusDescription
-------------------------------
1Credential Permissions⚠️ RequiredUse minimal permission AppKey/AppSecret, do not use master account credentials
2Config File Reading⚠️ NoteSkill reads ~/.openclaw/*.json files (but environment variables have higher priority)
3Token Caching⚠️ NoteToken cached in /tmp/ezviz_global_token_cache/ (permissions 600, shared across skills)
4API Domain✅ Verifiedopenai.ys7.com is official Ezviz API endpoint
5Code Review✅ RecommendedReview scripts/generate_preview.py and lib/token_manager.py
6Python Dependencies⚠️ RequiredRequires requests library - install via pip install requests

🔒 Config File Reading Details

Credential Priority (high to low):

┌─────────────────────────────────────────────────────────────┐
│ 1. Environment Variables (Highest Priority - Recommended)   │
│    ├─ EZVIZ_APP_KEY                                         │
│    ├─ EZVIZ_APP_SECRET                                      │
│    └─ EZVIZ_DEVICE_SERIAL                                   │
│    ✅ Advantage: No config file reading, fully isolated      │
├─────────────────────────────────────────────────────────────┤
│ 2. OpenClaw Config Files (Only when env vars not set)       │
│    ├─ ~/.openclaw/config.json                               │
│    ├─ ~/.openclaw/gateway/config.json                       │
│    └─ ~/.openclaw/channels.json                             │
│    ⚠️ Note: Only reads channels.ezviz field                 │
├─────────────────────────────────────────────────────────────┤
│ 3. Command Line Arguments (Lowest Priority)                 │
│    python3 generate_preview.py appKey appSecret deviceSerial│
└─────────────────────────────────────────────────────────────┘

Security Recommendations:

  • Best Practice: Use environment variables, completely avoid config file reading
  • Isolated Config: Store Ezviz credentials in dedicated config file, don't mix with other services
  • ⚠️ Risk Mitigation: Set environment variables to override config files (will be ignored even if config exists)

Quick Secure Configuration

# 1. Use environment variables (highest priority, avoids accidental config file use)
export EZVIZ_APP_KEY="your_dedicated_app_key"
export EZVIZ_APP_SECRET="your_dedicated_app_secret"
export EZVIZ_DEVICE_SERIAL="BF6985110"

# 2. High security: Disable token caching
export EZVIZ_TOKEN_CACHE=0

# 3. Test credentials (recommended to use test account first)
# Login to https://openai.ys7.com/ to create dedicated app with only preview permissions

Quick Start

Install Dependencies

pip install requests

Set Environment Variables

export EZVIZ_APP_KEY="your_app_key"
export EZVIZ_APP_SECRET="your_app_secret"
export EZVIZ_DEVICE_SERIAL="BF6985110"

Optional environment variables:

export EZVIZ_CHANNEL_NO="1"     # Channel number, default 1
export EZVIZ_TOKEN_CACHE="1"    # Token cache: 1=enabled (default), 0=disabled

Run

python3 {baseDir}/scripts/generate_preview.py

Command line arguments:

# Single device
python3 {baseDir}/scripts/generate_preview.py appKey appSecret BF6985110 1

# Specify channel number
python3 {baseDir}/scripts/generate_preview.py appKey appSecret BF6985110 1

Channels Configuration (Recommended)

Skill supports automatically reading Ezviz credentials from OpenClaw channels configuration.

Configuration

Add to ~/.openclaw/config.json or ~/.openclaw/channels.json:

{
  "channels": {
    "ezviz": {
      "appId": "your_app_id",
      "appSecret": "your_app_secret",
      "domain": "https://openai.ys7.com",
      "enabled": true
    }
  }
}

Priority

Credential priority:

  1. Environment Variables (Highest)
  2. Channels Config (Medium)
  3. Command Line Arguments (Lowest)

Workflow

1. Get Token (appKey + appSecret → accessToken)
 ↓
2. Generate Links (accessToken + deviceSerial → preview/playback URLs)
 ↓
3. Output Results (PC + Mobile links for live and playback)

Token Auto-Get Explanation

You don't need to manually get or configure EZVIZ_ACCESS_TOKEN!

Skill automatically handles token acquisition and caching:

First Run:
 appKey + appSecret → Call Ezviz API → Get accessToken (7 days validity)
 ↓
Save to cache file (system temp directory)
 ↓
Subsequent Runs:
 Check if cached token is expired
 ├─ Not expired → Use cached token directly ✅
 └─ Expired → Get new token

Token Management Features:

  • Auto Get: Automatically call Ezviz API on first run
  • 7 Days Validity: Token valid for 7 days
  • Smart Caching: Don't re-get within validity period
  • Safety Buffer: Auto-refresh 5 minutes before expiry
  • No Config Needed: No need to manually set EZVIZ_ACCESS_TOKEN
  • Secure Storage: Cache file permissions 600

Output Example

======================================================================
Ezviz Open Video Skill (萤石设备视频流)
======================================================================
[Time] 2026-03-19 19:23:00
[INFO] Device: BF6985110 (Channel: 1)

======================================================================
SECURITY VALIDATION
======================================================================
[OK] Device serial format validated
[OK] Using credentials from environment variables

======================================================================
[Step 1] Getting access token...
======================================================================
[INFO] Using cached global token, expires: 2026-03-26 19:21:16
[SUCCESS] Using cached token, expires: 2026-03-26 19:21:16

======================================================================
[Step 2] Generating links...
======================================================================

📺 Live Links:

  🖥️  PC:
  https://open.ys7.com/console/jssdk/pc.html?url=ezopen://open.ys7.com/BF6985110/1.live&accessToken=at.xxx

  📱  Mobile:
  https://open.ys7.com/console/jssdk/mobile.html?url=ezopen://open.ys7.com/BF6985110/1.live&accessToken=at.xxx

📼 Playback Links:

  🖥️  PC:
  https://open.ys7.com/console/jssdk/pc.html?url=ezopen://open.ys7.com/BF6985110/1.rec&accessToken=at.xxx

  📱  Mobile:
  https://open.ys7.com/console/jssdk/mobile.html?url=ezopen://open.ys7.com/BF6985110/1.rec&accessToken=at.xxx

======================================================================

Link Format

TypePlatformFormat
------------------------
LivePChttps://open.ys7.com/console/jssdk/pc.html?url=ezopen://{serial}/{channel}.live&accessToken={token}
LiveMobilehttps://open.ys7.com/console/jssdk/mobile.html?url=ezopen://{serial}/{channel}.live&accessToken={token}
PlaybackPChttps://open.ys7.com/console/jssdk/pc.html?url=ezopen://{serial}/{channel}.rec&accessToken={token}
PlaybackMobilehttps://open.ys7.com/console/jssdk/mobile.html?url=ezopen://{serial}/{channel}.rec&accessToken={token}

Link Explanation:

  • .live — Live streaming
  • .rec — Recording playback

API Interface

InterfaceURLDocumentation
-------------------------------
Get TokenPOST /api/lapp/token/gethttps://openai.ys7.com/help/81

Network Endpoints

DomainPurpose
-----------------
openai.ys7.comEzviz Open Platform API (Token)
open.ys7.comPreview page hosting

Notes

⚠️ Token Validity: accessToken typically valid for 7 days, skill auto-manages caching and refresh

⚠️ Privacy Compliance: Camera monitoring may involve privacy issues, ensure compliance with local laws

⚠️ Device Requirements: Device must be online to generate valid links


Data Flow Explanation

This skill sends data to third-party services:

Data TypeSent ToPurposeRequired
---------------------------------------
appKey/appSecretopenai.ys7.com (Ezviz)Get access token✅ Required
EZVIZ_ACCESS_TOKENAuto-generatedAuto-get on each run✅ Auto

Data Flow:

  • Ezviz Platform (openai.ys7.com): Token request - Official Ezviz API
  • No Other Third Parties: No data sent to other services
  • Preview Links: Only generates URLs, no video stream data transmitted

Credential Permission Recommendations:

  • Use minimal permission appKey/appSecret
  • Enable only necessary API permissions
  • Rotate credentials regularly
  • Do not use master account credentials

Local Processing:

  • ✅ Token cached to system temp directory, permissions 600
  • ✅ Token valid for 7 days, auto-refresh 5 minutes before expiry
  • ✅ Can disable cache: Set EZVIZ_TOKEN_CACHE=0 environment variable

Usage Examples

Scenario 1: Single Device Preview

python3 generate_preview.py your_key your_secret BF6985110

Scenario 2: Specify Channel

python3 generate_preview.py your_key your_secret BF6985110 1

Scenario 3: Environment Variables

export EZVIZ_APP_KEY="your_key"
export EZVIZ_APP_SECRET="your_secret"
export EZVIZ_DEVICE_SERIAL="BF6985110"
python3 generate_preview.py

🔐 Token Management & Security

Token Caching Behavior

Default Behavior:

  • ✅ Token cached to system temp directory (/tmp/ezviz_global_token_cache/)
  • ✅ Cache valid for 7 days
  • ✅ Auto-refresh 5 minutes before expiry
  • ✅ Cache file permissions 600
  • ⚠️ Note: Cache is shared across all skills using this token manager

Security Considerations

ConcernMitigation
---------------------
Global cache shared across skillsRun in isolated environment (container/VM), or disable caching
Temp directory accessible by other usersUse dedicated user account, or set custom cache path
Token persistenceDisable caching: EZVIZ_TOKEN_CACHE=0

Disable Token Caching (High Security)

export EZVIZ_TOKEN_CACHE=0
python3 scripts/generate_preview.py ...

Cache File Location

SystemPath
--------------
macOS/Linux/tmp/ezviz_global_token_cache/
WindowsC:\Users\{user}\AppData\Local\Temp\ezviz_global_token_cache\

Clear Cache:

rm -rf /tmp/ezviz_global_token_cache/

🔒 Security Recommendations

1. Use Minimal Permission Credentials

  • Create dedicated appKey/appSecret
  • Do not use master account credentials
  • Rotate credentials regularly (recommended every 90 days)

2. Environment Variable Security

# Use .env file
echo "EZVIZ_APP_KEY=your_key" >> .env
echo "EZVIZ_APP_SECRET=your_secret" >> .env
chmod 600 .env
source .env

3. Disable Caching (High Security Scenarios)

export EZVIZ_TOKEN_CACHE=0

4. Isolated Environment (Recommended)

  • Run in container/VM for stricter isolation
  • Use dedicated user account with restricted temp directory access
  • Review lib/token_manager.py to understand cache behavior

5. Config File Security

  • Ensure ~/.openclaw/*.json files don't contain unrelated secrets
  • Prefer environment variables to avoid config file reading entirely

Security Audit Checklist

Before Installation

  • [ ] Review Code — Read scripts/generate_preview.py and lib/token_manager.py
  • [ ] Verify API Domain — Confirm openai.ys7.com is official Ezviz endpoint
  • [ ] Prepare Test Credentials — Create dedicated Ezviz application
  • [ ] Install Dependencies — Run pip install requests

During Installation

  • [ ] Use Environment Variables — Prefer environment variables over config files
  • [ ] Minimal Permission Credentials — Do not use master account credentials
  • [ ] Isolated Environment — Consider container/VM for stricter isolation

After Installation

  • [ ] Verify Cache Permissions — Confirm cache file permissions are 600
  • [ ] Test Functionality — Verify links open correctly
  • [ ] Review Config Files — Ensure ~/.openclaw/*.json don't contain unrelated secrets

File Structure

ezviz-open-video/
├── SKILL.md                      # Skill documentation
├── lib/
│   ├── token_manager.py          # Token manager (shared)
│   └── README_TOKEN_MANAGER.md   # Token management docs
├── references/
│   └── ezviz-agent-api.md        # API reference
└── scripts/
    └── generate_preview.py       # Main script

Related Skills

  • ezviz-open-picture: Device snapshot/capture skill
  • ezviz-open-ptz-control: PTZ control skill

Official Resources

  • Ezviz Open Platform: https://open.ys7.com/
  • API Documentation: https://openai.ys7.com/doc/

Last Updated: 2026-03-19

Version: 1.1.0

版本历史

共 1 个版本

  • v1.0.1 当前
    2026-05-03 06:37 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

design-media

Openai Whisper

steipete
使用 Whisper CLI 进行本地语音转文字(无需 API 密钥)
★ 333 📥 94,455
it-ops-security

Ezviz Open Picture

ezviz-open
萤石设备批量抓图技能。支持多设备同时抓图,自动管理Token,可选下载图片到本地。适用场景:批量获取摄像头画面、抓图存档、监控画面采集、定时抓图任务。⚠️ 安全要求:必须配置EZVIZ_APP_KEY和EZVIZ_APP_SECRET环境变
★ 1 📥 897
design-media

UI/UX Pro Max

xobi667
提供 UI/UX 设计智能与实现指导,帮助打造精美界面。适用于 UI 设计、UX 流程、信息架构、视觉风格、设计系统/标记、组件规格、文案/微文案、无障碍及前端 UI(HTML/CSS/JS、React、Next.js、Vue、Svelte
★ 224 📥 48,508