Kami Image Search — Kami 图像搜索
v1.0.0Kami SmartHome 的一个技能。从您的摄像头捕获帧,使用 AI 对其进行描述,并使用自然语言搜索您的视觉历史。
运行时依赖
安装命令
点击复制本土化适配说明
Kami Image Search — Kami 图像搜索 安装说明: 安装命令:["openclaw skills install kami-image-search"]
技能文档
Kami 图像搜索 使用自然语言搜索相机的视觉历史。监控相机视频流,自动捕获帧,并通过简单地描述您要查找的内容来检索匹配的图像。由 Kamivision 云 API 提供 AI 描述和嵌入生成支持。
功能 🔍 自然语言图像搜索 📸 自动从视频流中捕获帧 🧠 AI 驱动的图像描述(Kamivision API) 📁 手动图像导入(JPEG / PNG / BMP / WebP) 🔁 内置重复帧检测 ⏱ 时间范围过滤 🏠 为 Kami SmartHome 生态系统设计
场景 门口送货验证 家庭活动回顾 宠物或儿童监控回放 批量照片索引和检索
安装 bash setup.sh 检查 python3 和 ffmpeg,创建 .venv/,并安装 opencv-python-headless、numpy、requests、Pillow、faiss-cpu。幂等。
前提条件 python3 和 python3-venv 已安装 ffmpeg 已安装(setup.sh 将尝试安装它) image_config.json 已配置您的流媒体 URL 和 Kamivision API 密钥 RTSP/RTMP 相机在线并可达(用于捕获模式)
Kamivision API 密钥设置 此技能需要 KAMIVISION_API_KEY 来访问 Kamivision 云 API。密钥不包含在技能包中 —— 您必须提供自己的密钥。 询问用户:您已经有 KAMIVISION_API_KEY 吗? 是 → 直接输入密钥。它将被保存到 image_config.json。 否 → 请在 Kamivision Flow 注册以获取您的 API 密钥,然后回来输入它。
参数确认 在运行之前,请在 image_config.json 中确认这些关键设置: 参数 默认值 描述 STREAM_URL — RTSP/RTMP/HTTP 相机流媒体 URL DEVICE_ID CAM-001 相机设备标识符 KAMIVISION_API_KEY — 您的 Kamivision API 密钥 CAPTURE_INTERVAL 10 帧捕获之间的秒数 SIMILARITY_THRESHOLD 0.35 搜索相似度阈值(0.0–1.0) SEARCH_TOP_K 5 每次搜索的最大结果数 TIME_ZONE_OFFSET 0 UTC 偏移量(以小时为单位)用于本地时间显示(例如 -12 为 UTC+12,8 为 UTC+8) 询问用户:是否需要更改任何参数?
使用 开始捕获 .venv/bin/python image_search.py --start-capture 停止捕获 .venv/bin/python image_search.py --stop-capture 检查状态 .venv/bin/python image_search.py --status 导入图像 # 单个图像 .venv/bin/python image_search.py --import /path/to/photo.jpg --json # 整个目录(递归) .venv/bin/python image_search.py --import /path/to/photos/ --json 搜索 .venv/bin/python image_search.py --search "keys on the table" --json 搜索带时间范围 .venv/bin/python image_search.py \ --search "person in blue jacket" \ --time-start 1754538000 --time-end 1754541600 \ --json
输出(stdout JSON) { "status": "ok", "query": "keys on the table", "count": 1, "results": [ { "image_name": "CAM-001_1754538507.jpg", "image_path": "/opt/image_data/CAM-001/20250815/CAM-001_1754538507.jpg", "description": "A set of keys and a wallet on a table", "timestamp": 1754538507, "time": "2025-08-15 10:00:07 AM", "score": 0.7823 } ] }
退出代码 代码 含义 0 成功 1 错误(配置问题、流媒体故障、API 错误、运行时异常)
故障排除 bash:.venv/bin/python:没有这样的文件或目录 → 运行 bash setup.sh OpenCV 无法打开流媒体 → 检查相机是否在线并且 STREAM_URL 是否正确 Kamivision API 错误 → 验证 KAMIVISION_API_KEY 和网络连接 不支持的文件格式 → 只支持 JPEG、PNG、BMP、WebP 没有搜索结果 → 确保图像已被捕获/导入;尝试降低 SIMILARITY_THRESHOLD FAISS 索引加载失败 → 索引可能已损坏;系统将自动重建,重新导入数据如果需要