Minimax Multimodal Toolkit
poco-ai/poco-claw
MiniMax multimodal model skill — use MiniMax Multi-Modal models for speech, music, video, and image.
萤石多模态理解技能。通过设备抓图 + 智能体分析接口,实现对摄像头画面的 AI 理解分析. An agent skill from LeoYeAI/openclaw-master-skills.
$ npx skills add LeoYeAI/openclaw-master-skills --skill ezviz-multimodal-analysis -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills ezviz-multimodal-analysis --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/hsa-test3 .claude/skills/ezviz-multimodal-analysis && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "ezviz-multimodal-analysis" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/hsa-test3 into .claude/skills/ezviz-multimodal-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ezviz-multimodal-analysis", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/hsa-test3Type this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add LeoYeAI/openclaw-master-skills --skill ezviz-multimodal-analysis -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills ezviz-multimodal-analysis --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/hsa-test3 .agents/skills/ezviz-multimodal-analysis && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ezviz-multimodal-analysis" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/hsa-test3 into .agents/skills/ezviz-multimodal-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ezviz-multimodal-analysis", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LeoYeAI/openclaw-master-skills --skill ezviz-multimodal-analysis -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills ezviz-multimodal-analysis --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/hsa-test3 .cursor/skills/ezviz-multimodal-analysis && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ezviz-multimodal-analysis" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/hsa-test3 into .cursor/skills/ezviz-multimodal-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ezviz-multimodal-analysis", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/LeoYeAI/openclaw-master-skills.git --path skills/hsa-test3--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add LeoYeAI/openclaw-master-skills --skill ezviz-multimodal-analysis -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills ezviz-multimodal-analysis --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/hsa-test3 .gemini/skills/ezviz-multimodal-analysis && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ezviz-multimodal-analysis" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/hsa-test3 into .gemini/skills/ezviz-multimodal-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ezviz-multimodal-analysis", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install LeoYeAI/openclaw-master-skills ezviz-multimodal-analysisInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add LeoYeAI/openclaw-master-skills --skill ezviz-multimodal-analysis -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/hsa-test3 .github/skills/ezviz-multimodal-analysis && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ezviz-multimodal-analysis" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/hsa-test3 into .github/skills/ezviz-multimodal-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ezviz-multimodal-analysis", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LeoYeAI/openclaw-master-skills --skill ezviz-multimodal-analysis -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills ezviz-multimodal-analysis --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/hsa-test3 .opencode/skills/ezviz-multimodal-analysis && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ezviz-multimodal-analysis" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/hsa-test3 into .opencode/skills/ezviz-multimodal-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ezviz-multimodal-analysis", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ezviz-multimodal-analysis萤石多模态理解技能。通过设备抓图 + 智能体分析接口,实现对摄像头画面的 AI 理解分析. An agent skill from LeoYeAI/openclaw-master-skills.
Ezviz Multimodal Analysis is an agent skill from LeoYeAI/openclaw-master-skills. 萤石多模态理解技能。通过设备抓图 + 智能体分析接口,实现对摄像头画面的 AI 理解分析。 Use when: 需要对监控画面进行智能分析、场景识别、行为理解、物体检测等多模态 AI 分析任务。 ⚠️ 安全要求:必须设置 EZVIZAPPKEY 和 EZVIZAPPSECRET 环境变量,使用最小权限凭证。
Its SKILL.md is about 4.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts and reference files (for example `_meta.json`, `lib/token_manager.py` and `references/ezviz-agent-api.md`).
The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3pipFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
openai.ys7.comopencapture.ys7.comaidialoggw.ys7.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
EZVIZ_APP_KEYEZVIZ_APP_SECRETEZVIZ_ACCESS_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Ezviz Multimodal Analysis loads about 4.3k tokens when it runs, and up to ~5.4k if it reads all its reference files. Until then it costs about 46 tokens; SKILL.md has 787 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
# 推荐:使用 .env 文件(不要提交到版本控制)echo "EZVIZ_APP_KEY=your_key" >> .envecho "EZVIZ_APP_SECRET=your_secret" >> .envchmod 600 .envsource .envAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT licence (© LeoYeAI). 787 words, ~4,291 tokens.
.claude/skills/ezviz-multimodal-analysis/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.通过萤石设备抓图 + 智能体分析接口,实现对摄像头画面的多模态 AI 理解。
在使用此技能前,请完成以下安全检查:
| # | 检查项 | 状态 | 说明 |
|---|---|---|---|
| 1 | 凭证权限 | ⚠️ 必需 | 使用最小权限的 AppKey/AppSecret,不要用主账号凭证 |
| 2 | 配置文件读取 | ⚠️ 注意 | 技能会读取 ~/.openclaw/*.json 文件(但环境变量优先级更高) |
| 3 | Token 缓存 | ⚠️ 注意 | Token 缓存在 /tmp/ezviz_global_token_cache/ (权限 600) |
| 4 | API 域名 | ✅ 已验证 | openai.ys7.com 和 aidialoggw.ys7.com 是萤石官方 API 端点 |
| 5 | 代码审查 | ✅ 推荐 | 审查 scripts/multimodal_analysis.py 和 lib/token_manager.py |
凭证获取优先级(从高到低):
┌─────────────────────────────────────────────────────────────┐
│ 1. 环境变量 (最高优先级 - 推荐) │
│ ├─ EZVIZ_APP_KEY │
│ ├─ EZVIZ_APP_SECRET │
│ ├─ EZVIZ_DEVICE_SERIAL │
│ └─ EZVIZ_AGENT_ID │
│ ✅ 优点:不读取配置文件,完全隔离 │
├─────────────────────────────────────────────────────────────┤
│ 2. OpenClaw 配置文件 (仅当环境变量未设置时使用) │
│ ├─ ~/.openclaw/config.json │
│ ├─ ~/.openclaw/gateway/config.json │
│ └─ ~/.openclaw/channels.json │
│ ⚠️ 注意:只读取 channels.ezviz 字段,不读取其他服务凭证 │
├─────────────────────────────────────────────────────────────┤
│ 3. 命令行参数 (最低优先级) │
│ python3 multimodal_analysis.py appKey appSecret ... │
└─────────────────────────────────────────────────────────────┘安全建议:
# 1. 使用环境变量(优先级最高,避免配置文件意外使用)
export EZVIZ_APP_KEY="your_dedicated_app_key"
export EZVIZ_APP_SECRET="your_dedicated_app_secret"
export EZVIZ_DEVICE_SERIAL="dev1,dev2,dev3"
export EZVIZ_AGENT_ID="your_agent_id"
# 2. 高安全环境:禁用 Token 缓存
export EZVIZ_TOKEN_CACHE=0
# 3. 测试凭证(推荐先用测试账号)
# 登录 https://openai.ys7.com/ 创建专用应用,仅开通抓图和 AI 分析相关权限
# 获取 Agent ID: https://openai.ys7.com/console/aiAgent/aiAgent.html技能按以下顺序获取凭证(优先级从高到低):
EZVIZ_APP_KEY, EZVIZ_APP_SECRET, EZVIZ_DEVICE_SERIAL, EZVIZ_AGENT_ID) ← 推荐~/.openclaw/config.json 等)pip install requestsexport EZVIZ_APP_KEY="your_app_key"
export EZVIZ_APP_SECRET="your_app_secret"
export EZVIZ_DEVICE_SERIAL="dev1,dev2,dev3"
export EZVIZ_AGENT_ID="your_agent_id"可选环境变量:
export EZVIZ_CHANNEL_NO="1" # 通道号,默认 1
export EZVIZ_ANALYSIS_TEXT="请分析这张图片" # 分析提示词
export EZVIZ_TOKEN_CACHE="1" # Token 缓存:1=启用 (默认), 0=禁用Token 缓存说明:
EZVIZ_TOKEN_CACHE=0 每次重新获取 Token/tmp/ezviz_global_token_cache/global_token_cache.json注意:
EZVIZ_ACCESS_TOKEN!技能会自动获取 Tokenpython3 {baseDir}/scripts/multimodal_analysis.py命令行参数:
# 单个设备
python3 {baseDir}/scripts/multimodal_analysis.py appKey appSecret dev1 1 agentId
# 多个设备(逗号分隔)
python3 {baseDir}/scripts/multimodal_analysis.py appKey appSecret "dev1,dev2,dev3" 1 agentId
# 自定义分析提示词
python3 {baseDir}/scripts/multimodal_analysis.py appKey appSecret dev1 1 agentId "请识别画面中的人员"技能支持从 OpenClaw 的 channels 配置中自动读取萤石凭证,无需单独设置环境变量。
在 ~/.openclaw/config.json 或 ~/.openclaw/channels.json 中添加:
{
"channels": {
"ezviz": {
"appId": "your_app_id",
"appSecret": "your_app_secret",
"domain": "https://openai.ys7.com",
"enabled": true
}
}
}技能会按以下顺序查找配置文件:
~/.openclaw/config.json~/.openclaw/gateway/config.json~/.openclaw/channels.json凭证获取优先级:
EZVIZ_APP_KEYEZVIZ_APP_SECRETEZVIZ_DEVICE_SERIALEZVIZ_AGENT_IDchannels.ezviz.appIdchannels.ezviz.appSecret1. 获取 Token (appKey + appSecret → accessToken)
↓
2. 设备抓图 (accessToken + deviceSerial → picUrl)
↓
3. AI 分析 (agentId + picUrl → 分析结果)
↓
4. 输出结果 (JSON + 控制台)你不需要手动获取或配置 EZVIZ_ACCESS_TOKEN!
技能会自动处理 Token 的获取:
首次运行:
appKey + appSecret → 调用萤石 API → 获取 accessToken (有效期 7 天)
↓
保存到缓存文件(系统临时目录)
↓
后续运行:
检查缓存 Token 是否过期
├─ 未过期 → 直接使用缓存 Token ✅
└─ 已过期 → 重新获取新 TokenToken 管理特性:
EZVIZ_ACCESS_TOKEN 环境变量EZVIZ_TOKEN_CACHE=0 可禁用缓存(每次运行重新获取)======================================================================
Ezviz Multimodal Analysis Skill (萤石多模态分析)
======================================================================
[Time] 2026-03-18 20:50:00
[INFO] Target devices: 2
- dev1 (Channel: 1)
- dev2 (Channel: 1)
[INFO] Agent ID: 98af3e...
[INFO] Analysis: 请分析这张图片的内容
======================================================================
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-25 19:21:16
[SUCCESS] Using cached token, expires: 2026-03-25 19:21:16
======================================================================
[Step 2] Capturing and analyzing images...
======================================================================
[Device] dev1 (Channel: 1)
[SUCCESS] Image captured: https://opencapture.ys7.com/...
[SUCCESS] Analysis completed!
[Analysis Result]
{
"场景": "办公室",
"人员数量": 3,
"主要物体": ["办公桌", "电脑", "椅子"]
}
[Device] dev2 (Channel: 1)
[SUCCESS] Image captured: https://opencapture.ys7.com/...
[SUCCESS] Analysis completed!
[Analysis Result]
{
"场景": "会议室",
"人员数量": 5,
"主要物体": ["会议桌", "投影仪", "椅子"]
}
======================================================================
ANALYSIS SUMMARY
======================================================================
Total devices: 2
Success: 2
Failed: 0
======================================================================| 格式 | 示例 | 说明 |
|---|---|---|
| 单设备 | dev1 | 默认通道 1 |
| 多设备 | dev1,dev2,dev3 | 全部使用默认通道 |
| 指定通道 | dev1:1,dev2:2 | 每个设备独立通道 |
| 混合 | dev1,dev2:2,dev3 | 部分指定通道 |
| 接口 | URL | 文档 |
|---|---|---|
| 获取 Token | POST /api/lapp/token/get | https://openai.ys7.com/help/81 |
| 设备抓图 | POST /api/lapp/device/capture | https://openai.ys7.com/help/687 |
| 智能体分析 | POST /api/service/open/intelligent/agent/engine/agent/anaylsis | https://openai.ys7.com/help/5006 |
| 域名 | 用途 |
|---|---|
openai.ys7.com | 萤石开放平台 API(Token、抓图) |
aidialoggw.ys7.com | 萤石 AI 智能体分析接口 |
返回字段:
analysis - AI 分析结果(依赖智能体配置)pic_url - 抓拍图片 URL(有效期 2 小时)错误码:
200 - 操作成功400 - 参数错误500 - 服务异常10002 - accessToken 过期10028 - 抓图次数超限20007 - 设备不在线dev1,dev2,dev3dev1:1,dev2:2| 场景 | 提示词 |
|---|---|
| 通用分析 | "请分析这张图片的内容" |
| 人员识别 | "请识别画面中的人员数量和位置" |
| 行为分析 | "请分析画面中人员的行为活动" |
| 安全检测 | "请检测画面中是否存在安全隐患" |
| 物体识别 | "请识别画面中的主要物体" |
⚠️ 频率限制: 萤石抓图接口建议间隔 4 秒以上。技能已自动在设备间等待 4 秒,避免触发限流(错误码 10028)
⚠️ 隐私合规: 使用摄像头监控可能涉及隐私问题,确保符合当地法律法规
⚠️ 设备要求: 设备必须在线且支持抓图功能(support_capture=1)
⚠️ Token 安全: Token 会缓存到系统临时目录(自动管理),不写入日志,不发送到非萤石端点
⚠️ 分析超时: AI 分析可能耗时较长,默认超时 60 秒
本技能会向第三方服务发送数据:
| 数据类型 | 发送到 | 用途 | 是否必需 |
|---|---|---|---|
| appKey/appSecret | openai.ys7.com (萤石) | 获取访问 Token | ✅ 必需 |
| 设备序列号 | openai.ys7.com (萤石) | 请求抓图 | ✅ 必需 |
| 抓拍图片 URL | openai.ys7.com (萤石) | AI 智能体分析 | ✅ 必需 |
| 智能体 ID | aidialoggw.ys7.com (萤石) | AI 分析请求 | ✅ 必需 |
| EZVIZ_ACCESS_TOKEN | 自动生成 | 每次运行自动获取 | ✅ 自动 |
数据流出说明:
openai.ys7.com): Token 请求、设备抓图 - 萤石官方 APIaidialoggw.ys7.com): 图片分析 - 萤石官方 API凭证权限建议:
本地处理:
/tmp/ezviz_global_token_cache/),权限 600EZVIZ_TOKEN_CACHE=0 环境变量| 场景 | 说明 |
|---|---|
| 🏢 办公场景 | 识别人员数量、工作状态、办公环境 |
| 🏭 工厂监控 | 检测安全规范、设备状态、人员行为 |
| 🏪 零售分析 | 客流统计、货架状态、顾客行为 |
| 🏠 智能家居 | 场景识别、异常检测、家庭成员活动 |
场景 1: 单设备快速分析
python3 multimodal_analysis.py your_key your_secret BF6985110 1 your_agent_id场景 2: 多设备批量分析
export EZVIZ_DEVICE_SERIAL="dev1,dev2,dev3"
export EZVIZ_AGENT_ID="your_agent_id"
python3 multimodal_analysis.py场景 3: 自定义分析提示词
export EZVIZ_ANALYSIS_TEXT="请检测画面中是否存在安全隐患"
python3 multimodal_analysis.py your_key your_secret dev1 1 your_agent_id文档 URL: https://openai.ys7.com/help/81
接口说明:
请求地址:
POST https://openai.ys7.com/api/lapp/token/get请求参数:
| 参数名 | 类型 | 描述 | 是否必选 |
|---|---|---|---|
| appKey | String | appKey | Y |
| appSecret | String | appSecret | Y |
返回数据:
{
"data": {
"accessToken": "at.xxxxxxxxxxxxx",
"expireTime": 1470810222045
},
"code": "200",
"msg": "操作成功!"
}文档 URL: https://openai.ys7.com/help/687
接口功能: 抓拍设备当前画面,该接口仅适用于 IPC 或者关联 IPC 的 DVR 设备。
该接口需要设备支持能力集:support_capture=1
⚠️ 注意:设备抓图能力有限,请勿频繁调用,建议每个摄像头调用的间隔4s 以上。
请求地址:
POST https://openai.ys7.com/api/lapp/device/capture请求参数:
| 参数名 | 类型 | 描述 | 是否必选 |
|---|---|---|---|
| accessToken | String | 授权过程获取的 access_token | Y |
| deviceSerial | String | 设备序列号,字母需为大写 | Y |
| channelNo | int | 通道号,IPC 设备填写 1 | Y |
返回数据:
{
"data": {
"picUrl": "https://opencapture.ys7.com/.../capture/xxx.jpg?Expires=xxx&..."
},
"code": "200",
"msg": "操作成功!"
}返回字段:
| 字段名 | 类型 | 描述 |
|---|---|---|
| picUrl | String | 抓拍后的图片路径,图片保存有效期为 2 小时 |
文档 URL: https://openai.ys7.com/help/5006
接口功能: 调用萤石 AI 智能体对图片进行多模态理解分析。
请求地址:
POST https://aidialoggw.ys7.com/api/service/open/intelligent/agent/engine/agent/anaylsis请求参数:
| 参数名 | 类型 | 描述 | 是否必选 |
|---|---|---|---|
| accessToken | String | 授权过程获取的 access_token | Y |
| appId | String | 智能体 ID | Y |
| mediaType | String | 媒体类型:image | Y |
| text | String | 分析提示词 | Y |
| dataType | String | 数据类型:url | Y |
| data | String | 图片 URL | Y |
返回数据:
{
"meta": {
"code": 200,
"message": "success"
},
"data": "{\"场景\":\"办公室\",\"人员数量\":3}"
}返回字段:
| 字段名 | 类型 | 描述 |
|---|---|---|
| meta.code | Number | 响应码 |
| meta.message | String | 响应消息 |
| data | String | 分析结果(JSON 字符串) |
默认行为:
/tmp/ezviz_global_token_cache/global_token_cache.json)为什么缓存 Token:
如果您不希望 Token 被持久化,可以通过以下方式禁用缓存:
方法 1: 环境变量
export EZVIZ_TOKEN_CACHE=0
python3 scripts/multimodal_analysis.py ...方法 2: 修改代码
from token_manager import get_cached_token
# 禁用缓存
token_result = get_cached_token(app_key, app_secret, use_cache=False)| 系统 | 路径 |
|---|---|
| macOS | /var/folders/xx/xxxx/T/ezviz_global_token_cache/ |
| Linux | /tmp/ezviz_global_token_cache/ |
| Windows | C:\Users\{user}\AppData\Local\Temp\ezviz_global_token_cache\ |
查看缓存:
# macOS/Linux
ls -la /tmp/ezviz_global_token_cache/
cat /tmp/ezviz_global_token_cache/global_token_cache.json
# 清除缓存
rm -rf /tmp/ezviz_global_token_cache/# 1. 验证缓存文件权限
ls -la /tmp/ezviz_global_token_cache/global_token_cache.json
# 应该显示:-rw------- (600)
# 2. 验证缓存内容
cat /tmp/ezviz_global_token_cache/global_token_cache.json | python3 -m json.tool
# 3. 验证禁用缓存
export EZVIZ_TOKEN_CACHE=0
python3 scripts/multimodal_analysis.py ...
# 应该显示 "Getting access token from Ezviz API" 而不是 "Using cached global token"
# 4. 清除缓存
python3 lib/token_manager.py clear# 推荐:使用 .env 文件(不要提交到版本控制)
echo "EZVIZ_APP_KEY=your_key" >> .env
echo "EZVIZ_APP_SECRET=your_secret" >> .env
chmod 600 .env
# 加载环境变量
source .env如果您在共享计算机或高安全环境中使用:
export EZVIZ_TOKEN_CACHE=0 # 禁用缓存
python3 scripts/multimodal_analysis.py ...# 清除所有缓存的 Token
rm -rf /tmp/ezviz_global_token_cache/技能会读取以下路径中的萤石配置(仅当环境变量未设置时):
~/.openclaw/config.json
~/.openclaw/gateway/config.json
~/.openclaw/channels.json配置格式:
{
"channels": {
"ezviz": {
"appId": "your_app_id",
"appSecret": "your_app_secret",
"domain": "https://openai.ys7.com",
"enabled": true
}
}
}安全建议:
禁用配置文件扫描(环境变量优先):
export EZVIZ_APP_KEY="your_key"
export EZVIZ_APP_SECRET="your_secret"
# 环境变量优先级高于配置文件Linux Crontab (每 5 分钟):
*/5 * * * * cd /path/to/multimodal-analysis && python3 scripts/multimodal_analysis.py >> /var/log/analysis.log 2>&1macOS Launchd:
<key>StartInterval</key>
<integer>300</integer>根据安全审计建议,请在安装前完成以下检查:
scripts/multimodal_analysis.py 和 lib/token_manager.pyopenai.ys7.com 和 aidialoggw.ys7.com 是萤石官方端点~/.openclaw/*.json 中是否有敏感凭证/tmp/ezviz_global_token_cache/ 可接受EZVIZ_APP_KEY 等环境变量EZVIZ_TOKEN_CACHE=0requests 等依赖的安全更新更新日志:
| 日期 | 版本 | 变更 | 说明 |
|---|---|---|---|
| 2026-03-18 | 1.0.1 | 初始版本 | 与 ezviz-open-picture 文档结构对齐 |
| 2026-03-18 | 1.0.1 | 添加 channels.json 支持 | 从 OpenClaw 配置文件读取凭证,优先级低于环境变量 |
| 2026-03-18 | 1.0.1 | 添加安全验证 | 设备序列号格式验证、凭证来源警告 |
| 2026-03-18 | 1.0.1 | 添加 Token 缓存说明 | 明确缓存行为,支持 EZVIZ_TOKEN_CACHE=0 禁用 |
| 2026-03-18 | 1.0.1 | 添加安全审计清单 | 根据安全建议添加完整检查清单 |
最后更新: 2026-03-18
版本: 1.0.1 (Channels 配置支持版)
© LeoYeAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (scripts, references) in skills/hsa-test3 of LeoYeAI/openclaw-master-skills.
Open the folder on GitHubat commit e5199b5
Ezviz Multimodal Analysis next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Ezviz Multimodal Analysis this skillLeoYeAI/openclaw-master-skills | 2.2k | — | ~4.3k | Automated safety check: Notes | MIT | |
| Minimax Multimodal Toolkitpoco-ai/poco-claw | 1.4k | — | ~7.6k | Automated safety check: Pass | MIT | |
| Gpt Multimodalbenchflow-ai/skillsbench | 1.8k | — | ~4.9k | Automated safety check: Pass | Apache-2.0 | |
| Bio Single Cell Multimodal IntegrationGPTomics/bioSkills | 1.2k | 1 repos | ~4.6k | Automated safety check: Pass | MIT | |
| Multimodal LLMyonatangross/orchestkit | 292 | — | ~2.2k | Automated safety check: Pass | MIT | |
| Bio Single Cell Multimodal IntegrationFreedomIntelligence/OpenClaw-Medical-Skills | 3.1k | 1 repos | ~1.7k | Automated safety check: Pass | None |
poco-ai/poco-claw
MiniMax multimodal model skill — use MiniMax Multi-Modal models for speech, music, video, and image.
benchflow-ai/skillsbench
Analyze images and multi-frame sequences using OpenAI GPT series
GPTomics/bioSkills
Integrate multimodal single-cell data (CITE-seq RNA+protein, 10x Multiome RNA+ATAC, unpaired/diagonal RNA+ATAC) and choose the right joint method.
yonatangross/orchestkit
Vision, audio, video generation, and multimodal LLM integration patterns.
FreedomIntelligence/OpenClaw-Medical-Skills
Analyze multi-modal single-cell data (CITE-seq, Multiome, spatial).
Microck/ordinary-claude-skills
Process and generate multimedia content using Google Gemini API.
LeoYeAI/openclaw-master-skills
Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.
LeoYeAI/openclaw-master-skills
Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.
LeoYeAI/openclaw-master-skills
Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.
LeoYeAI/openclaw-master-skills
Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.
LeoYeAI/openclaw-master-skills
Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.
LeoYeAI/openclaw-master-skills
Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.
萤石多模态理解技能。通过设备抓图 + 智能体分析接口,实现对摄像头画面的 AI 理解分析. An agent skill from LeoYeAI/openclaw-master-skills. Ezviz Multimodal Analysis is an agent skill from LeoYeAI/openclaw-master-skills.
Ezviz Multimodal Analysis fits situations like: : 需要对监控画面进行智能分析、场景识别、行为理解、物体检测等多模态 AI 分析任务.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill ezviz-multimodal-analysis -a claude-code`. Or copy the skill folder (skills/hsa-test3 in LeoYeAI/openclaw-master-skills) into .claude/skills/ezviz-multimodal-analysis in your project. Claude Code loads it when a task matches its description.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill ezviz-multimodal-analysis -a codex`. Or copy the skill folder (skills/hsa-test3 in LeoYeAI/openclaw-master-skills) into .agents/skills/ezviz-multimodal-analysis in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeoYeAI/openclaw-master-skills --skill ezviz-multimodal-analysis -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ezviz-multimodal-analysis, .gemini/skills/ezviz-multimodal-analysis, .github/skills/ezviz-multimodal-analysis and .opencode/skills/ezviz-multimodal-analysis in your project.
Going by SKILL.md and its folder, Ezviz Multimodal Analysis needs Python for the scripts in its folder, the command-line tools its instructions call (python3 and pip) and credentials named EZVIZ_APP_KEY, EZVIZ_APP_SECRET and EZVIZ_ACCESS_TOKEN. Our summary lists: Python 3; A credential in EZVIZ_APP_KEY; A credential in EZVIZ_APP_SECRET.
SKILL.md names 3 domains. In commands or code: openai.ys7.com, opencapture.ys7.com and aidialoggw.ys7.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Ezviz Multimodal Analysis is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.3k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.1k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Ezviz Multimodal Analysis: Minimax Multimodal Toolkit (poco-ai/poco-claw, 1.4k stars), Gpt Multimodal (benchflow-ai/skillsbench, 1.8k stars), Bio Single Cell Multimodal Integration (GPTomics/bioSkills, 1.2k stars) and Multimodal LLM (yonatangross/orchestkit, 292 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,161 GitHub stars. The repository holds 1,235 skills in this directory. The repository was last updated on July 20, 2026.
Source: LeoYeAI/openclaw-master-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.