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.mdsource content
神眸 (Cinmoore) 技能指南
智能摄像头控制、媒体采集、AI视觉分析与飞书消息推送一体化解决方案。
核心能力
- 📷 相机控制:PTZ云台控制、视频录制、图像抓取
- 🎨 媒体分析:图像/视频AI分析、智能寻物定位、图像编辑转换
- 📬 飞书推送:图片/视频卡片消息、自动GIF预览
- 🎬 Vlog生成:自动视频剪辑与合成
- ⚠️ 事件检测:自定义事件监控与告警
配置说明
⚠️ 重要:首次使用前必须在cinmoore-skill目录下配置
文件, 同时所有命令需要在cinmoore-skill目录下执行,以确保配置文件准确加载,数据统一保存在该目录下。cinmoore_config.yaml
使用提醒
⚠️ 重要:PowerShell 不支持
连接多条命令。如需顺序执行多条命令:&&
- 使用分号
分隔:;cmd1; cmd2- 或使用管道
传递输出:|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
参数说明:
: 抓取单张图像(默认录制2秒视频提取中间帧)--capture
: 抓图时录制视频时长(秒)--capture-duration
: 录制视频时长(秒),默认不转动云台--record-duration
: 启用PTZ云台转动并录制视频(转动+录制)--ptz
: 只转动PTZ云台不录制视频(仅转动)--ptz-only
: 运动方向(0:左, 1:右, 2:上, 3:下)--ptz-direction
: 运动速度(0:慢, 1:中, 2:快)--ptz-speed
: 运动持续时间(秒)--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 "=== 工作流完成 ==="