Skills cinmoore-skill

神眸品牌摄像头技能:相机PTZ控制;图像/视频数据采集;多模态大模型图像/视频分析、图像编辑、智能寻物定位;飞书推送;自定义检测事件;基于视频分析的自动vlog生成。使用场景:(1) 控制相机移动和录制 (2) 抓取图像和视频 (3) 分析图像/视频内容 (4) 智能寻物定位 (5) 图像编辑 (6) 发送消息到飞书 (7) 生成Vlog (8) 自定义事件检测

install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/buaalingming/cinmoore-skill" ~/.claude/skills/openclaw-skills-cinmoore-skill && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/buaalingming/cinmoore-skill" ~/.openclaw/skills/openclaw-skills-cinmoore-skill && rm -rf "$T"
manifest: skills/buaalingming/cinmoore-skill/SKILL.md
source content

神眸 (Cinmoore) 技能指南

智能摄像头控制、媒体采集、AI视觉分析与飞书消息推送一体化解决方案。

核心能力

  • 📷 相机控制:PTZ云台控制、视频录制、图像抓取
  • 🎨 媒体分析:图像/视频AI分析、智能寻物定位、图像编辑转换
  • 📬 飞书推送:图片/视频卡片消息、自动GIF预览
  • 🎬 Vlog生成:自动视频剪辑与合成
  • ⚠️ 事件检测:自定义事件监控与告警

配置说明

⚠️ 重要:首次使用前必须在cinmoore-skill目录下配置

cinmoore_config.yaml
文件, 同时所有命令需要在cinmoore-skill目录下执行,以确保配置文件准确加载,数据统一保存在该目录下。

使用提醒

⚠️ 重要:PowerShell 不支持

&&
连接多条命令。如需顺序执行多条命令:

  1. 使用分号
    ;
    分隔:
    cmd1; cmd2
  2. 或使用管道
    |
    传递输出:
    cmd1 | cmd2

初始化配置文件:

# 在cinmoore-skill目录下执行,然后提示用户提供必要配置项
python -m cinmoore_skill.commands.init

Windows编码设置(避免中文乱码):

chcp 65001
$env:PYTHONIOENCODING="utf-8"

必需配置项:

server:
  device_id: "YOUR_DEVICE_ID"  # 相机设备ID

feishu:
  app_id: "YOUR_APP_ID"
  app_secret: "YOUR_APP_SECRET"
  receive_id: "YOUR_RECEIVE_ID"

models:
  api_key: "YOUR_API_KEY"  # 阿里云 DashScope API Key

快速开始

1. 相机控制

# 抓取图像(录制2秒视频并提取中间帧,不会引起云台转动)
python -m cinmoore_skill.commands.test_camera_controller --capture

# 录制5秒视频(默认不转动云台)
python -m cinmoore_skill.commands.test_camera_controller --record-duration 5.0

# 只转动云台不录制视频(向右移动)
python -m cinmoore_skill.commands.test_camera_controller --ptz-only --ptz-direction 1 --ptz-speed 0 --ptz-duration 3.0

# 转动云台并向右移动(会自动录制视频)
python -m cinmoore_skill.commands.test_camera_controller --ptz --ptz-direction 1 --ptz-speed 0 --ptz-duration 3.0

参数说明:

  • --capture
    : 抓取单张图像(默认录制2秒视频提取中间帧)
  • --capture-duration
    : 抓图时录制视频时长(秒)
  • --record-duration
    : 录制视频时长(秒),默认不转动云台
  • --ptz
    : 启用PTZ云台转动并录制视频(转动+录制)
  • --ptz-only
    : 只转动PTZ云台不录制视频(仅转动)
  • --ptz-direction
    : 运动方向(0:左, 1:右, 2:上, 3:下)
  • --ptz-speed
    : 运动速度(0:慢, 1:中, 2:快)
  • --ptz-duration
    : 运动持续时间(秒)

逻辑说明

  • 仅使用
    --record-duration
    :只录制视频,云台不转动
  • 使用
    --ptz-only
    :只转动云台,不录制视频
  • 使用
    --ptz
    :转动云台并自动录制视频

2. 媒体分析

# 分析图片内容
python -m cinmoore_skill.commands.test_media_analysis --analyze "描述图片中的场景和人物" image.jpg

# 智能寻物:定位并标注图片中的对象
python -m cinmoore_skill.commands.test_media_analysis --ground "找到所有人像和车辆" image.jpg

# 图像编辑:风格转换、内容修改
python -m cinmoore_skill.commands.test_media_analysis --edit "将背景换成海滩" image.jpg

# 分析视频内容
python -m cinmoore_skill.commands.test_media_analysis --video-analyze "分析视频中的主要事件" video.mp4

参数说明:

  • --analyze
    : 分析图像内容,支持场景描述、人物识别、异常检测
  • --ground
    : 智能寻物定位,返回带标注的图像
  • --edit
    : 图像编辑,支持风格转换、背景替换、内容修改
  • --video-analyze
    : 视频内容分析,提取关键帧并分析事件

3. 飞书推送

# 发送图片消息
python -m cinmoore_skill.commands.test_feishu_controller --image "path\to\image.jpg" --title "巡检截图"

# 发送视频消息(自动生成GIF预览)
python -m cinmoore_skill.commands.test_feishu_controller --video "path\to\video.mp4" --title "巡检录像"

# 发送消息并附带AI分析结果
python -m cinmoore_skill.commands.test_feishu_controller --image "path\to\image.jpg" --title "安全巡检" --analysis "检测到有人员闯入"

回复准则: 发送成功后,根据内容简洁回答或询问,像家人一样,不超过100字。

4. 事件检测

# 查看当前事件列表
python -m cinmoore_skill.commands.test_event_reporter set --list

# 添加检测事件
python -m cinmoore_skill.commands.test_event_reporter set --add "检测有人闯入"

# 删除检测事件
python -m cinmoore_skill.commands.test_event_reporter set --delete "检测有人闯入"

# 运行事件检测
python -m cinmoore_skill.commands.test_event_reporter run --txt_file analysis.txt

5. Vlog生成

# 基础生成(默认主题:日常生活)
python -m cinmoore_skill.commands.test_generate_vlog video_folder\

# 指定主题
python -m cinmoore_skill.commands.test_generate_vlog video_folder\ --user_input "乒乓球比赛"

# 指定时间范围
python -m cinmoore_skill.commands.test_generate_vlog video_folder\ --user_input "乒乓球比赛" --start_time 20260311000000 --end_time 20260311235959

输入说明: 程序会自动检查指定文件夹是否存在匹配的视频和描述文件,无需手动创建

  • 需要有已分析的视频文件(
    .mp4
    )和对应的分析文本文件(
    analysis_视频文件名.txt
  • 程序会自动查找匹配的文件进行vlog生成

输出文件:

  • vlog_{时间戳}.mp4
    : 合成视频
  • vlog_{时间戳}_cover.jpg
    : 封面图片

输出路径管理

所有输出文件保存在

temp\
目录,按日期分目录:

temp\
├── 20260317\
│   ├── image_设备ID_时间.jpg   # 抓取图像
│   ├── video_设备ID_时间.mp4   # 录制视频
│   ├── analysis_时间.txt       # AI分析结果
│   ├── grounded_时间.jpg       # 寻物标注
│   ├── edited_时间.jpg         # 图像编辑
│   ├── gif_时间.gif            # GIF预览
│   └── vlog_时间.mp4           # Vlog视频
├── custom_event.json           # 事件定义

获取最新文件:

$IMAGE = Get-ChildItem -Path "temp\*\image_*.jpg" | Sort-Object LastWriteTime -Descending | Select-Object -First 1 | ForEach-Object { $_.FullName }
$VIDEO = Get-ChildItem -Path "temp\*\video_*.mp4" | Sort-Object LastWriteTime -Descending | Select-Object -First 1 | ForEach-Object { $_.FullName }
$ANALYSIS = Get-ChildItem -Path "temp\*\analysis_*.txt" | Sort-Object LastWriteTime -Descending | Select-Object -First 1 | ForEach-Object { $_.FullName }

工作流示例

安全巡检工作流

Write-Host "=== 安全巡检工作流 ==="

# 步骤1:抓取巡检图像
python -m cinmoore_skill.commands.test_camera_controller --capture --capture-duration 3
$IMAGE_FILE = Get-ChildItem -Path "temp\*\image_*.jpg" | Sort-Object LastWriteTime -Descending | Select-Object -First 1 | ForEach-Object { $_.FullName }
Write-Host "✓ 图像已保存: $IMAGE_FILE"

# 步骤2:AI分析图像内容
python -m cinmoore_skill.commands.test_media_analysis --analyze "分析巡检情况,识别异常" $IMAGE_FILE
$ANALYSIS_FILE = Get-ChildItem -Path "temp\*\analysis_*.txt" | Sort-Object LastWriteTime -Descending | Select-Object -First 1 | ForEach-Object { $_.FullName }
Write-Host "✓ 分析报告已保存: $ANALYSIS_FILE"

# 步骤3:读取分析结果并推送到飞书
$ANALYSIS_CONTENT = Get-Content $ANALYSIS_FILE
python -m cinmoore_skill.commands.test_feishu_controller --image $IMAGE_FILE --title "安全巡检报告" --analysis $ANALYSIS_CONTENT
Write-Host "✓ 已推送到飞书"

Write-Host "=== 工作流完成 ==="

智能寻物工作流

Write-Host "=== 智能寻物工作流 ==="

# 步骤1:抓取图像
python -m cinmoore_skill.commands.test_camera_controller --capture
$IMAGE_FILE = Get-ChildItem -Path "temp\*\image_*.jpg" | Sort-Object LastWriteTime -Descending | Select-Object -First 1 | ForEach-Object { $_.FullName }

# 步骤2:定位并标注目标
python -m cinmoore_skill.commands.test_media_analysis --ground "找到红色背包" $IMAGE_FILE
$GROUNDED_FILE = Get-ChildItem -Path "temp\*\grounded_*.jpg" | Sort-Object LastWriteTime -Descending | Select-Object -First 1 | ForEach-Object { $_.FullName }

# 步骤3:发送标注结果
python -m cinmoore_skill.commands.test_feishu_controller --image $GROUNDED_FILE --title "寻物结果"

Write-Host "=== 工作流完成 ==="

事件监控工作流

Write-Host "=== 事件监控工作流 ==="

# 步骤1:设置检测事件(首次运行)
python -m cinmoore_skill.commands.test_event_reporter set --add "检测有人闯入" --add "检测到烟雾"

# 步骤2:抓取并分析
python -m cinmoore_skill.commands.test_camera_controller --capture
$IMAGE_FILE = Get-ChildItem -Path "temp\*\image_*.jpg" | Sort-Object LastWriteTime -Descending | Select-Object -First 1 | ForEach-Object { $_.FullName }

python -m cinmoore_skill.commands.test_media_analysis --analyze "分析场景中的异常情况" $IMAGE_FILE
$ANALYSIS_FILE = Get-ChildItem -Path "temp\*\analysis_*.txt" | Sort-Object LastWriteTime -Descending | Select-Object -First 1 | ForEach-Object { $_.FullName }

# 步骤3:运行事件检测(自动推送告警)
python -m cinmoore_skill.commands.test_event_reporter run --txt_file $ANALYSIS_FILE

Write-Host "=== 工作流完成 ==="