Preprocess
Probe & sampleReads the container, recovering duration even from header-less browser WebM, then samples frames against a bounded budget.
Record a bug, a feature demo, or a design walkthrough. Framesleuth reads every frame, the console, the network and your narration — then hands any coding agent a structured, evidence-cited Context Bundle over MCP. It fixes the bug, builds the feature, or ships the new screen. Everything runs on your machine.

Free forever, self-hosted, bring your own model. Sidekick is our paid, hosted product — different product, different terms.
Plugs into the agents and local models you already run
A single linear pass with one bounded resample. Every stage degrades gracefully — if a model or input is missing, the run still produces a valid bundle and tells you exactly what was thin.
Reads the container, recovering duration even from header-less browser WebM, then samples frames against a bounded budget.
Local faster-whisper turns your spoken narration into a timestamped transcript and drops silence hallucinations.
Frame-to-frame visual-delta change scoring selects the keyframes worth reading, instead of every frame.
A local vision model captions each keyframe — OCR, UI action, error-state and reasoning — running concurrently. Sparse error frames are re-OCR'd at full resolution.
Deterministic, auditable scoring labels the recording bug / feature / tutorial / demo / feedback / other — build intent comes from your request and narration. Ambiguous results trigger a bounded resample and an optional model tie-breaker. Feature videos also get a buildable spec: screens, components, and a screen-to-screen user flow.
Builds the canonical Context Bundle — repro steps, error evidence, environment — each line carrying an evidence citation and a trust signal.
Strips secrets — tokens, keys, passwords — and PII — emails, Luhn-valid cards, SSNs, phones, cloud keys — from every text field before anything is persisted. Optionally paints over the same text on the keyframe pixels, so an image can't leak what the text scrubbed.
Produces a skill-shaped narrative from both the video and the audio, plus a timeline of distilled, timestamped key_moments — the deliverable when the recording isn't a bug.
Read-only workspace search maps the error text to ranked candidate file:line locations for the downstream agent.
Every run produces the same versioned Context Bundle — stable JSON that any agent can depend on. Triage headline, behavioral story, numbered repro steps, timestamped error evidence, and ranked code candidates — each line carrying a citation back to the frame or log it came from.
Read analysis_quality first: a trust signal that says how complete the evidence was, and which stages degraded. No silent guessing.
A local vision model reads each keyframe for OCR text, UI action and error state — so the evidence comes from what was actually on screen.
Fully local pipeline. No telemetry, no cloud APIs, no upload. Your videos and source code stay on your disk.
Swap Ollama, llama.cpp or vLLM by changing config only. Bring the local model you already run; no vendor lock-in.
No vision model or ffmpeg? You still get a valid bundle from the browser sidecars — and an honest analysis_quality signal saying what was missing.
Secrets — tokens, keys, passwords — and PII — emails, Luhn-valid cards, SSNs, phones, cloud keys — are scrubbed before models see them and before anything is written to disk. Optional pixel-level redaction paints over the same text on the frame itself.
Every run yields the same versioned Context Bundle JSON, with evidence citations — a stable contract any agent can depend on.
A 14-tool MCP server lets VS Code Copilot, Claude Code or any client drive the analysis and consume the result — all read-only over your workspace.
Read-only, .gitignore-aware search turns on-screen text, errors and feature nouns into ranked file:line candidates — definitions preferred, distinctive symbols weighted, with optional embedding fusion that finds code sharing no literal token.
Deterministic classification, per-field confidence with cross-modal corroboration, a task-aware actionability signal and a trust level you read first — so you can see why the agent concluded what it did, and error frames are re-read to reconcile a hallucinated read.
The framesleuth server exposes 14 read-only tools, four resources and a fix_from_videoprompt. Edits only ever happen through your agent's own reviewed apply flow — Framesleuth never touches your code.
One-click setup · MCP
Install the framesleuth MCP server so your agent can drive the analysis and act on the bundle.
VS Code prompts once for the absolute path to framesleuth-mcp (run `which framesleuth-mcp`), then asks you to trust the server. (Copy mcp.json is the ${workspaceFolder} variant for the repo's own .vscode/mcp.json only.) Prerequisite: clone the repo and uv pip install -e ".[dev]" so framesleuth-mcp resolves.
$ tools/list → 14 available
$ resources/list → 4 available
$ prompts/list → 1 available
$
Choose a summary skill for how the report reads, and an action for what the downstream agent should do. Leave them blank and Framesleuth auto-picks from the classification.
How the narrative reads
What the agent is told to do
Videos capture everything on screen — customer data, internal tools, tokens in a URL. Framesleuth is built so none of that is ever uploaded. Privacy isn't a setting; it's the architecture.
No. The whole pipeline runs locally against a local vision model — no telemetry and no cloud APIs. Your recordings and source code never leave your disk. The HTTP API binds to loopback (127.0.0.1) only. Before anything is persisted, secrets (tokens, keys, passwords) and PII (emails, Luhn-valid cards, SSNs, phones, cloud keys) are scrubbed from every text field, with optional pixel-level redaction on the frames themselves.
Free and open source under Apache-2.0. Clone it, fork it, self-host it — and give your agent the full picture of every bug, feature, and build.
git clone github.com/thestackhub1/framesleuth-agent.git