文件历史

10 次代码提交

作者 SHA1 备注 提交日期
Gregor Žunič 23f4c8801a Restore sticky video editing heuristics 2026-07-16 20:14:20 -07:00
Gregor Žunič 3220402522 Fold video workflow into browser harness 2026-07-16 19:33:05 -07:00
Gregor Žunič 2cecabb27f Simplify and harden video workflow 2026-07-16 18:21:13 -07:00
Gregor Žunič 0f78a99bc5 Make recording opt-in and automate video production 2026-07-16 17:08:38 -07:00
Gregor Žunič 71589264d3 Backdrop: flat warm off-white default, configurable bg, adaptive ink
bg takes one color (flat, default #F0EEE6) or [c1, c2] (gradient).
Cards, logo, and progress bar switch between dark ink and white based
on backdrop luminance; the window shadow softens on light backgrounds.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 11:10:45 -07:00
Gregor Žunič ab9a9b440b Add secret redaction: scrub credential URLs in trace, pixelate on-screen regions
Recorder always strips credential-bearing query/fragment params (OAuth
codes, tokens, api keys) from URLs before they land in events.jsonl.
The video template takes redact: {"frame.jpg": [{x,y,w,h}]} and
pixelates those page-px regions wherever the frame is drawn, tracking
zooms and after-swaps. Auto-record is back on by default (BH_RECORD=0
opts out); making a video is a separate, discretionary step.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 10:40:41 -07:00
Gregor Žunič c9742a90fb Compress make-video.md to minimal form, same content
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 10:02:03 -07:00
Gregor Žunič c5de1e5417 Trim skill docs: dedupe gotchas, drop formula internals
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 10:00:27 -07:00
Gregor Žunič d0f2649d26 Video template polish: zoom diet, error treatment, reaction framing
- Oversized typing overlay when the camera is wide (typing readable
  without a punch-in); zooms become rare emphasis, not the default
- error:true beats: red vignette, shake, ERROR chip, red caption pill
- Hero captions (72px, shrink-to-fit), 22px telemetry chips
- Sequenced motion: camera settles -> cursor glides -> click -> result
  swaps in as a near-hard cut; hard cuts by default between beats
- Skill: readability formula, zoom rationing, "frame the reaction" rule

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 22:21:11 -07:00
Gregor Žunič e88f4e327a Add built-in session recording + video generation
Record a browser session as a folder of per-action screenshots + an
events.jsonl trace (start_recording/stop_recording helpers, marker file
spans CLI invocations, no daemon changes, no new deps). An agent then
edits the recording into a Screen-Studio-style clip via the make-video
skill: a self-contained HTML compositor renders the frames + a
composition on a canvas (realistic Chrome window, calm zoom camera,
synthetic cursor, telemetry overlay, error treatment) and exports webm
through the browser's own MediaRecorder — no ffmpeg.

- src/browser_harness/recorder.py: capture layer (+ 6 unit tests)
- src/browser_harness/{run,helpers}.py: observe() hook + helper exports
- interaction-skills/video-template.html: the compositor/renderer
- interaction-skills/make-video.md: the editor skill
- SKILL.md: recording section

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 22:14:19 -07:00