kami-suspicious-person
Detect unregistered faces loitering in sensitive areas. Supports one OR many RTSP cameras concurrently in a single process (shared ONNX models, per-camera tr... Skill: kami-suspicious-person Owner: 13681882136 Summary: Detect unregistered faces loitering in sensitive areas. Supports one OR many RTSP cameras concurrently in a single process (shared ONNX models, per-camera tr... Tags: latest:2.0.4 Version history: v2.0.4 | 2026-06-09T05:57:20.221Z | user add alert img v2.0.3 | 2026-05-29T03:10:00.873Z | user add multi cma v2.0.2 | 2026-05-28T02:39:45.908Z | user remove env v2.
Rank
62
Safety
84
Downloads
1.1k
Updated
Oct 11, 2026
Version
2.0.4
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 1.1K downloads reported by the source. Last updated 10/11/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 11, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 11, 2026
- Adoption signal
- 1.1K downloadsadoption · observed Oct 11, 2026
- Latest release
- 2.0.4release · observed Jun 9, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s170wja1qf8kmkzj5brvhsj1r185a522:kami-suspicious-person- Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.
- Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-13681882136-kami-suspicious-person/snapshot"
Documentation
CLAWHUB
143,665 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
---
name: kami-suspicious-person
description: Detect unregistered faces loitering in sensitive areas. Supports one OR many RTSP cameras concurrently in a single process (shared ONNX models, per-camera tracker). Runs continuously, outputs alarm JSON to stdout each time a stranger exceeds the loiter threshold, then keeps monitoring. No local GPU needed for face detection (CPU inference via ONNX).
version: 2.0.4
author: kami-smarthome
tags:
- smart-home
- face-recognition
- stranger-detection
- loitering-detection
- surveillance
- security
- insightface
- arcface
- rtsp
- edge-ai
triggers:
- detect stranger
- detect unknown person
- detect unregistered face
- stranger loitering
- unknown face detection
- suspicious person
- face recognition alert
- start suspicious person monitoring
- begin stranger detection
metadata:
openclaw:
requires:
bins:
- python3.10
hardware:
cpu: "4+ cores (x86_64 / ARM64)"
memory: "8 GB+"
storage: "10 GB+"
gpu: "optional (speeds up ONNX inference)"
network:
- "RTSP camera access (LAN)"
- "Internet (KamiClaw API)"
devices:
- "RTSP IP camera"
emoji: "🕵️"
---
# Kami Suspicious Person Detection
Detect unregistered face loitering events in sensitive areas. The script runs continuously and outputs an alarm JSON line to stdout each time a stranger exceeds the loiter threshold. It does NOT exit after an alarm — it keeps monitoring. Set `run_time: 0` for unlimited operation.
Uses ONNX models directly (no insightface package dependency):
- **SCRFD** (`det_10g.onnx`) — face detection + 5-point landmarks
- **ArcFace** (`w600k_r50.onnx`) — 512-dim face embedding extraction
## Privacy Policy
For privacy policy details, see: <https://kamiclaw-skill.kamihome.com/privacy>
## How It Works
1. **Face detection + landmarks** (CPU): SCRFD detects faces every `sample_interval` seconds.
2. **Face alignment + embedding**: ArcFace extracts 512-dim embeddings from aligned 112×112 face crops.
3. **Database matching**: Compare embeddings against the registered face database via cosine similarity. Registered faces are skipped.
4. **Stranger tracking**: Track unregistered faces across frames using sliding-average embedding.
5. **Loiter alarm**: When a stranger stays longer than `loiter_threshold`, output alarm JSON to stdout and save a face snapshot. After `cooldown`, the same stranger can trigger again if still present.
## When to Use
- Monitor a camera feed for unregistered/unknown people
- Detect strangers loitering in restricted or sensitive areas
- Get real-time alerts when an unknown face stays too long in view
- Run continuous face recognition surveillance
## Installation
```bash
bash setup.sh
```
No `sudo` required. The script auto-bootstraps **python3.10** in user space (via [uv](https://github.com/astral-sh/uv) when needeREADME.md
# Kami Suspicious Person Detector
Real-time unregistered face loitering detection for sensitive areas. Uses SCRFD + ArcFace ONNX models directly (no insightface package dependency) for face detection and recognition. Cross-platform: works on Linux, macOS, and Windows with CPU inference. The script runs continuously — each time a stranger loiters beyond the threshold, it outputs an alarm JSON line to stdout and keeps monitoring.
**Multi-camera capable.** A single process can monitor an arbitrary number of RTSP cameras concurrently (e.g. `living_room` + `office_door` + …). The SCRFD + ArcFace ONNX models AND the registered face database are loaded **once and shared** across all cameras; each camera owns an independent frame grabber, stranger tracker and snapshot directory. Push channels (Feishu / Discord / Telegram) are shared — every camera uses the same webhooks. The face database is a fixed directory `<skill_dir>/face_db/` and is NOT configurable.
## How It Works
The detector monitors an RTSP camera stream (or local video file), detects faces, compares them against a registered face database, and tracks unregistered faces over time. When a stranger remains in view longer than the configured threshold (default: 5 minutes), the script outputs an alarm JSON to stdout, saves a face snapshot, and continues monitoring. A per-stranger cooldown prevents repeated alerts for the same person.
```
Start script → Monitor stream → Stranger detected → Track duration
↓
Duration >= threshold → Output alarm JSON → Continue monitoring
```
## Quick Start
```bash
# 1. Install dependencies
bash setup.sh
# 2. (Optional) Add registered faces to the database
# See "Face Database" section below
# 3. Run detection
.venv/bin/python suspicious_person_detector.py --rtsp_url rtsp://192.168.1.100/live/stream1
```
## Installation
```bash
bash setup.sh
```
No `sudo` required. The script will:
- Auto-bootstrap **Python 3.10** in user space (via [uv](https://github.com/astral-sh/uv)) — no system-level package manager needed
- Create a `.venv/` virtual environment
- Install all pip dependencies (`onnxruntime`, `opencv-python-headless`, `numpy`)
- Create required directories (`alerts/`, `face_db/`, `models/`)
- Download SCRFD (`det_10g.onnx`, ~16MB) and ArcFace (`w600k_r50.onnx`, ~166MB) models
Works on Linux and macOS. No GPU or insightface package needed.
## Configuration File (config.json)
A `config.json` file in the skill directory persists user-provided values so you don't have to pass them on every run. Empty fields are ignored. Command-line arguments take priority over `config.json`.
```json
{
"cameras": [
{
"name": "living_room",
"rtsp_url": "rtsp://192.168.1.100/live/stream1"
},
{
"name": "office_door",
"rtsp_url": "rtsp://192.168.1.101/live/stream1"
}
],
"loiter_thr_meta.json
{
"ownerId": "kn7e9156e1awf00v1sas2wkdfd85a4zh",
"slug": "kami-suspicious-person",
"version": "2.0.4",
"publishedAt": 1780984640221
}skill-card.md
## Description: Detects unregistered faces loitering in sensitive areas across one or many RTSP cameras using shared ONNX face detection and recognition models. This skill is ready for commercial/non-commercial use. ## Publisher: [13681882136](https://clawhub.ai/user/13681882136) ### License/Terms of Use: MIT-0 ## Use Case: External users and operators use this skill to configure and run continuous camera monitoring for unknown-face loitering events in sensitive areas. It helps produce alerts, face snapshot files, and optional push notifications when an unregistered person remains in view beyond the configured threshold. ### Deployment Geography for Use: Global ## Known Risks and Mitigations: Risk: Biometric snapshots and camera feed details may expose sensitive personal information. Mitigation: Review privacy requirements before use, restrict access to alert images and logs, and retain snapshots only for an approved operational purpose. Risk: Configuration values and logs may contain camera URLs, bot tokens, webhook URLs, or other secrets. Mitigation: Protect config.json and runtime logs as secrets, use dedicated low-privilege camera and bot credentials, and rotate credentials if exposure is suspected. Risk: Installer, dependency, and model downloads introduce supply-chain risk. Mitigation: Prefer pinned and verified installers, Python dependencies, and model files before production deployment. Risk: Feishu image fallback can upload face snapshots to a public image host. Mitigation: Avoid enabling Feishu unless the public image-host fallback is removed or explicitly disabled, or use approved inline image upload credentials only. Risk: Background monitoring can continue collecting alerts beyond the operator's immediate attention. Mitigation: Run the detector under an accountable operator, document the monitoring scope, and periodically confirm that the process, cameras, and alert destinations remain intended. ## Reference(s): - [ClawHub Skill Page](https://clawhub.ai/13681882136/skills/kami-suspicious-person) - [ClawHub Publisher Profile](https://clawhub.ai/user/13681882136) - [Model Archive](https://publicfiles.xiaoyi.com/kami-suspicious-person-model.zip) - [uv Project](https://github.com/astral-sh/uv) - [Feishu Open Platform](https://open.feishu.cn/) - [Discord Developer Portal](https://discord.com/developers/applications) ## Skill Output: **Output Type(s):** [text, shell commands, configuration, guidance, JSON, files] **Output Format:** [Markdown guidance with shell commands, configuration updates, JSON alert records, and saved face snapshot files] **Output Parameters:** [1D] **Other Properties Related to Output:** [Runs continuously when launched; alerts are written to stdout and an inbox JSONL file, with optional Feishu, Discord, or Telegram push delivery.] ## Skill Version(s): 2.0.4 (source: frontmatter and server release evidence) ## Ethical Considerations: Users should evaluate whether this skill is appropr
config.json
{
"cameras": [
{
"name": "",
"rtsp_url": ""
}
],
"loiter_threshold": "",
"feishu_webhook": "",
"feishu_secret": "",
"feishu_app_id": "",
"feishu_app_secret": "",
"discord_webhook": "",
"telegram_bot_token": "",
"telegram_chat_id": ""
}AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/13681882136/skills/kami-suspicious-person",
"sourceUrl": "https://clawhub.ai/13681882136/skills/kami-suspicious-person",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-11T11:48:12.421Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-13681882136-kami-suspicious-person/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-13681882136-kami-suspicious-person/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-11T11:48:12.421Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1.1K downloads",
"href": "https://clawhub.ai/13681882136/kami-suspicious-person",
"sourceUrl": "https://clawhub.ai/13681882136/kami-suspicious-person",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-11T11:48:12.421Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "2.0.4",
"href": "https://clawhub.ai/13681882136/kami-suspicious-person",
"sourceUrl": "https://clawhub.ai/13681882136/kami-suspicious-person",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-06-09T05:57:20.221Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-13681882136-kami-suspicious-person/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-13681882136-kami-suspicious-person/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 2.0.4",
"description": "add alert img",
"href": "https://clawhub.ai/13681882136/kami-suspicious-person",
"sourceUrl": "https://clawhub.ai/13681882136/kami-suspicious-person",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-06-09T05:57:20.221Z",
"isPublic": true
}
]
}Record generated Oct 11, 2026.
