JF Watchdog for Openclaw

JF Watchdog turns JFTech camera snapshots into AI-assisted area checks that flag missing items, blocked passages, and other visual changes.

jftech
v1.0.1
Oct 8, 2026
0
503
0

Install & Download

1. ClawHub CLI

The fastest way to install a skill directly from the registry.

npx clawhub@latest install jf-open-pro-watchdog

2. Manual Installation

Copy the skill folder to one of these locations

Global
~/.openclaw/skills/
Workspace
<project>/skills/

Priority: Workspace > Local > Bundled

3. Prompt Installation

Copy this prompt to OpenClaw to install it automatically.

Help me install jf-open-pro-watchdog using Clawhub. If Clawhub is not installed, install it first (npm i -g clawhub).

Prefer to download?

Get the raw skill files in a ZIP archive.

What is JF Watchdog?

JF Watchdog is an Openclaw Skills tool for monitoring selected areas in JFTech camera feeds. It captures images from configured devices, crops user-defined regions, and uses an AI agent to compare current views with saved visual baselines and natural-language rules. It supports use cases such as checking that equipment remains in place, detecting objects blocking an emergency exit, and monitoring whether people or vehicles appear in a defined area.

Users can select AI-identified targets through conversation or draw precise regions in an interactive widget. During a patrol, the skill produces a status for each region—normal, abnormal, or unable to determine—along with an explanatory report and an annotated overview image. Openclaw Skills users can use it for on-demand checks or configure scheduled patrols through a host platform or external scheduler.

JF Watchdog Use Cases

  • Verify that valuable items, fire extinguishers, equipment, or exhibits remain in their designated locations.
  • Detect items left in fire corridors, emergency exits, or other areas that should remain clear.
  • Check whether people, vehicles, or other targets are present or absent in a defined camera region.
  • Monitor a custom area against a plain-language rule and an image captured as its baseline.
  • Run an on-demand patrol across all configured devices or check one named device.
  • Set up recurring visual inspections when the agent platform or an external scheduler supports timed jobs.

How JF Watchdog Works

  1. Check the required JFTech credentials, device readiness, and config/monitors.json configuration.
  2. Select a bound camera, capture an image, and identify candidate objects and areas through AI visual analysis or the interactive region-selection widget.
  3. Define each region's pixel coordinates, name, natural-language rule, and alert condition: missing, appeared, or changed.
  4. Crop and save a baseline image for every configured region. The agent describes the baseline and stores its path, description, and capture time with the monitor configuration.
  5. For a patrol, capture fresh images, crop the configured regions, and compare each current crop with its baseline and rule.
  6. Classify each region as normal, abnormal, or unable to determine, accounting for the configured sensitivity and image quality.
  7. Generate a report, mark region statuses on the full camera image, and present the annotated image. For abnormal regions, show baseline and current crops for comparison.

JF Watchdog Setup

Prerequisites

  • A JFTech device that has been provisioned, bound to the account, and is online.
  • JFTech open-platform credentials: JF_UUID, JF_APP_KEY, JF_APP_SECRET, and JF_MOVE_CARD.
  • The jf-open-pro-device-list dependency skill when adding devices. jf-open-pro-device-status is optional for checking device availability.
  • Python with requests and Pillow installed. Pillow is used for image cropping and annotation.
  • Install or make the JF Watchdog skill files available to your agent runtime. The source document does not specify a package-manager installation command.
pip install requests Pillow

export JF_UUID='your-user-uuid'
export JF_APP_KEY='your-app-key'
export JF_APP_SECRET='your-app-secret'
export JF_MOVE_CARD='2'
# Optional: choose the API endpoint for your region
export JF_ENDPOINT='api-cn.jftechws.com'

Use the matching endpoint for your account region: China api-cn.jftechws.com, Asia api-as.jftechws.com, Europe api-eu.jftechws.com, or North America api-na.jftechws.com. Keep credentials in a secure environment or secret store rather than committing them to source control.

Add a device and its regions to config/monitors.json, including its serial number, device password, channel, coordinates, rule, and alert condition. The skill's capture and crop commands use scripts/watchdog.py; replace {skill_dir}, {workspace}, and device placeholders with real paths and values.

PYTHONIOENCODING=utf-8 python {skill_dir}/scripts/watchdog.py \
  --action capture \
  --config {skill_dir}/config/monitors.json \
  --output-dir {workspace}/captures/ \
  --json

To configure recurring patrols, use the host platform's scheduler if available or an external scheduler such as cron. Scheduling and IM delivery depend on the capabilities of the runtime and are not provided as a standalone scheduler by this skill.

JF Watchdog Data Schema & Taxonomy

Configuration and generated files

Path Purpose
config/monitors.json Device, region, baseline, and global sensitivity configuration.
baselines/{sn}_{regionId}_baseline.png Cropped reference image for a configured region.
{workspace}/captures/{YYYYMMDD}/ Captured camera images for patrol runs.
{workspace}/crops/{YYYYMMDD}/ Current region crops and the annotated patrol image, such as patrol_annotated.png.
scripts/watchdog.py Capture, download, and image-cropping CLI. Supports JSON output.
scripts/crypto.py Signing and timestamp-encryption helper imported by the watchdog script.
assets/watchdog-config-widget.html Interactive interface for drawing and configuring monitoring regions.

Configuration taxonomy

  • monitors[]: One entry per camera, with sn (device serial number), name, password, location, channel, and regions[].
  • regions[]: Each region has a unique id such as region_1, a display name, pixel coordinates (x, y, width, height), a natural-language rule, and an alert_when value of missing, appeared, or changed.
  • baseline: Stores the baseline image's relative image path, a visual description, and an ISO 8601 captured_at timestamp.
  • settings: Includes default_channel and sensitivity, which can be low, moderate, or high.

The region rule is the primary input for agent analysis; alert_when provides an additional alert-condition hint. Device serial numbers identify monitors, while region IDs distinguish areas within a device.

JF Watchdog Advanced Features

  • AI-assisted recognition can suggest monitorable objects and areas, estimate pixel-coordinate rectangles, and propose rules and alert types.
  • An interactive widget supports precise manual region drawing, rule editing, and review of existing regions.
  • Baseline crops combine a reference image, agent-generated visual description, and timestamp for future comparisons.
  • Patrols can target all configured devices or a specific device, and reports distinguish normal, abnormal, indeterminate, and device-level failures.
  • Sensitivity levels (low, moderate, high) tune how readily visual changes are flagged; unclear images can be reported as unable to determine rather than treated as confirmed anomalies.
  • Annotated patrol images show region boundaries and status labels; abnormal regions can include side-by-side baseline and current crops.
  • The CLI supports capture, capture-single, crop-regions, and crop-baselines actions, with --json output for agent orchestration.
  • Scheduled patrols can be orchestrated through a supported agent-platform scheduler or an external cron/task scheduler. Report delivery to an IM channel depends on the available integrations.

SKILL.md


Loading

Related Openclaw Skills

METADATA

Github Stars: 0
forks: 0

Featured*