Vibeleaderboard
Index / tool

Watch Skill / DeepWatch

github.com/oxbshw/watch-skill
Visit github.com
Category
Developer Tools
Rank
No. 1121Tools index

Previous survey · No. 1106 ·

Pricing
Open Source
Type
TOOL
Use case
Data Processing · Software Testing & Quality
Interfaces
MCP · CLI · API · Agent Skill / Plugin
GitHub
519 stars
Latest release
deepwatch-v0.1.4
Date

About

An MIT-licensed toolkit that gives AI agents perception (turning video, audio and screen activity into searchable, timestamped transcripts and OCR text) and deterministic verification (checking file digests, JSON, SQL, HTTP or DOM state via a separate non-LLM process that returns VERIFIED, FAILED, UNVERIFIED or INCONCLUSIVE). It ships as a pip/npm-installable skill with an MCP server (39 tools), CLI and REST API for existing agents, plus DeepWatch, a ready-made agent workspace built on DeepSeek Harness with the skill pre-integrated.

What it does

This toolkit turns a video, audio clip, or live screen session into something an agent can search and cite. It downloads or captures the source, breaks it into distinct scenes, reads any on-screen text, and transcribes speech, then stores all of it in a local index so a later question is answered instantly instead of reprocessing the whole recording. A second, separate piece checks whether a claimed outcome actually happened, by inspecting a file, a database row, or a web page directly rather than asking a model to judge its own work. The two halves can be used independently.

Why it's ranked here

The reason to trust this over a typical video-to-agent script is the second opinion: a check that runs outside the model and reports a plain verdict instead of an impression. Most competitors stop at handing frames to a model and hoping. This pairs that with local transcription and OCR that need no API key, a confidence score computed from actual retrieval signals, and a refusal to answer once that score drops too low. It is also one of very few tools in its category with a persistent index, so a second question about the same recording is a lookup, not a redo.

What's good

Two things stand out. The confidence score behind every answer is built from measurable retrieval signals, such as how much stronger the best match is than the runner-up, rather than one opaque number, and the system says plainly when it does not know instead of inventing an answer. Expensive steps run last: the pipeline exhausts free, local techniques, such as re-checking a frame region at higher resolution, before spending a paid model call, and whatever those local passes discover is saved so later questions benefit. A workspace mode separates an agent deciding to act from that action being allowed to happen.

Tradeoffs

The cost of that thoroughness is weight: the full install pulls in scene detection, OCR, local speech-to-text and a browser, and adds up to several hundred megabytes, well beyond what a single-purpose transcription script needs. A bare, no-extras install cannot even read a video until the right optional pieces are added, which the tool at least says clearly when it happens. Visual question answering and the automated critique loop still need a paid model or a locally hosted one, so a machine with no GPU and no cloud key gets transcripts and OCR but not judgment. The project is also young, with one person currently maintaining it.

How to use it well

Reach for this when an agent needs to answer more than one question about the same recording, or when a fix has to be proven rather than just claimed. Point it at a build or a UI change, capture a run, and treat the pass or fail verdict as a real gate instead of trusting the agent's own account of what happened. It is the wrong tool for a one-off summary of a short clip with no follow-up planned: a lighter single-purpose tool or a direct upload to a model gets that answer faster and with far less to install.

Technical notes+

The dependency graph in pyproject.toml keeps the core install light: watch-skill only requires pydantic, typer, rich and httpx, with perception, OCR, Whisper, indexing, MCP, REST, browser capture and cryptographic attestation all gated behind separate extras a user opts into. server.json registers the package for MCP discovery pinned to an exact release rather than letting a resolver pick a newer one. src/watch_skill/actions/__init__.py keeps an agent proposing a side effect and that side effect being approved and executed as separate tables and APIs, a direct answer to prompt-injection risk. src/watch_skill/answer/__init__.py implements the confidence-scored, escalating answer engine described in docs/architecture.md, with a default confidence floor of 0.35, an escalation target of 0.6, an 8000-token answer budget and a 25-second deadline. docs/configuration.md exposes per-call and per-run cost ceilings and an offline mode as environment variables. The Dockerfile bakes in ffmpeg but not the Playwright browser, so the browser-capture loop needs an extended image.

Observed

License
MIT
Language / runtime
Python engine (requires 3.11-3.13); CLI and workspace built on Node (requires ^22.19 or >=24)
Packaging
Distributed via PyPI (pip) and npm, plus an official Docker image
Interfaces
MCP server (stdio and streamable HTTP), CLI, REST API, and a Python library
Platform support
Install paths documented for Windows, macOS and Linux
Structural observation
Optional capabilities (perception, OCR, Whisper, indexing, MCP, REST, browser capture, cryptographic attestation, and five agent-framework adapters) ship as separate opt-in extras rather than one bundled install
Structural observation
Test suite marks network-dependent and real-model tests as opt-in, excluded from the default run
Core dependency surface
No API key or model provider is required for transcription, OCR, or the deterministic verification checks; a provider is only needed for vision-based answering and the critique loop

Read from README.md, pyproject.toml, server.json, src/watch_skill/__init__.py, docs/architecture.md, docs/configuration.md, docs/getting-started.md, docs/comparison.md, src/watch_skill/acquire/__init__.py, src/watch_skill/actions/__init__.py, src/watch_skill/answer/__init__.py, src/watch_skill/bench/__init__.py, src/watch_skill/extract/__init__.py, src/watch_skill/health/__init__.py, Dockerfile.

What it can do

  • Transcribe video and audio into timestamped, searchable transcripts

    Video or audio file → Timestamped transcript text

  • Extract text from screen activity via OCR

    Screen activity capture → OCR text

  • Verify file digests through a deterministic non-LLM process

    File → Verification result (VERIFIED, FAILED, UNVERIFIED, or INCONCLUSIVE)

  • Verify JSON state deterministically

    JSON data → Verification result (VERIFIED, FAILED, UNVERIFIED, or INCONCLUSIVE)

  • Verify SQL database state deterministically

    SQL query/data → Verification result (VERIFIED, FAILED, UNVERIFIED, or INCONCLUSIVE)

  • Verify HTTP responses deterministically

    HTTP request/response → Verification result (VERIFIED, FAILED, UNVERIFIED, or INCONCLUSIVE)

  • Verify DOM state deterministically

    DOM/webpage state → Verification result (VERIFIED, FAILED, UNVERIFIED, or INCONCLUSIVE)

  • Expose perception and verification tools to AI agents via MCP server, CLI, and REST API

    Agent requests/tool calls → Tool responses

Tags

ai-agentsmcpagent-observabilityverificationvideo-analysisocrspeech-to-textdeepseek

Tech Stack

PythonDocker

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.