← 返回 Skills 市场
smile618

Browser Demo Recorder

作者 smile618 · GitHub ↗ · v1.1.0 · MIT-0
cross-platform ⚠ suspicious
133
总下载
0
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install browser-demo-recorder
功能描述
Record browser demo videos from a plain-language brief by turning the requested flow into a plan, driving the OpenClaw browser via CDP, encoding an MP4, writ...
使用说明 (SKILL.md)

Browser Demo Recorder

Turn a natural-language recording request into a deterministic browser recording that lands in the current workspace media/ directory and can be sent back immediately.

Workflow

  1. Extract the recording brief into a concrete sequence.
  2. Convert the sequence into a JSON plan.
  3. Run scripts/run-recording.mjs against that plan.
  4. Verify the MP4 exists in the current workspace media/ directory.
  5. Reply with a short status line and a MEDIA: line pointing at the generated file.

What to Capture From the User Brief

Convert the request into these fields before recording:

  • Start URL and any required destination URLs
  • Viewport preference if given; otherwise use 1600x1200
  • Ordered steps: page holds, cursor sweeps, clicks, typing, scrolls, and ending frame
  • Timing goals: total duration, per-step hold times, and any "don't click" / "hover only" constraints
  • Output basename if the user hints at a name; otherwise derive a short slug from the task

If the brief is missing something critical, ask one question. Otherwise infer sensible defaults and proceed.

Plan Format

Read references/plan-schema.md when building or debugging plans.

Use references/example-skills-video-plan.json as the default reference for a multi-step marketing demo with homepage, hub, search, and return-home flow.

Runner

Run the recorder like this:

node scripts/run-recording.mjs /absolute/path/to/plan.json

Behavior:

  • Connects to the existing OpenClaw browser via CDP
  • Injects a visible cursor overlay so recordings show mouse position
  • Uses human-like mouse movement, clicks, typing, and wheel-based scrolling
  • Records directly to MP4
  • Writes both MP4 and debug JSON into the plan's outputDir
  • Default output directory should be the current workspace media/ directory

Output Rules

Always set the plan outputDir to the workspace media directory unless the user explicitly asks for a different safe location.

After success:

  1. Mention the generated file path briefly.
  2. Put the attachment on its own line using the MEDIA protocol.

Example reply shape:

录好了,时长约 42 秒。
MEDIA:media/my-demo-2026-03-25T09-30-00-000Z.mp4

Use a workspace-relative MEDIA: path when possible.

Implementation Notes

  • Homepage forms sometimes open a new tab; if that breaks a continuous recording, add an evaluate step that changes the form target to _self before clicking submit.
  • Prefer DOM-based targets over raw coordinates, but use coordinates for cinematic cursor sweeps.
  • Keep cursor motion smooth and leave short holds after major transitions so the video is usable with voiceover.
  • Save the generated plan near the media output or in a temp location only if you need to inspect it again; the MP4 in media/ is the primary artifact.
  • If the run fails, inspect the debug JSON written next to the output video before retrying.
安全使用建议
This skill appears to implement a browser recording tool as described, but review these before installing: - Make sure you run it where Node dependencies are installed (puppeteer-core and puppeteer-screen-recorder) and ffmpeg is available or FFMPEG_PATH set. The package.json lists these dependencies but there is no automatic install spec. - The runner reads OPENCLAW_CDP_URL (to connect to a browser), OPENCLAW_WORKSPACE (to locate the media/ directory), and FFMPEG_PATH — these env vars are not listed in the skill metadata; set them intentionally and ensure media/ is a safe writable location. - Plans may include 'evaluate' steps that run arbitrary JavaScript in the context of visited pages. That is required for some interactions but can read DOM data or make network requests from the page origin. Do not record pages that contain sensitive personal or secret information unless you trust the plan and the recording environment. - If you will run this in an automated or shared environment, verify the OpenClaw browser instance and workspace are isolated from sensitive sites/data. If you want to proceed: ensure a local OpenClaw-compatible browser is listening (CDP URL), install Node deps, confirm ffmpeg is installed (or set FFMPEG_PATH), and inspect any generated plan before running it.
功能分析
Type: OpenClaw Skill Name: browser-demo-recorder Version: 1.1.0 The skill provides browser recording functionality via Puppeteer and a JSON-based execution engine in `scripts/run-recording.mjs`. While the behavior aligns with the stated purpose, the script contains a significant vulnerability: it accepts an unsanitized `outputDir` from the JSON plan (which is generated by the AI agent based on user input), allowing for arbitrary file writes and directory creation across the filesystem via `fs.mkdirSync` and `fs.writeFileSync`. Additionally, the `evaluate` step type uses `new Function` to execute arbitrary JavaScript within the browser context. These high-risk capabilities, combined with a lack of path validation or execution sandboxing, create a high potential for exploitation if the agent is targeted by prompt injection.
能力评估
Purpose & Capability
Name/description match the code: scripts/run-recording.mjs drives a browser via CDP, uses puppeteer-core and a screen-recorder to produce MP4s in a workspace media/ directory. The example plan and plan schema align with the stated purpose.
Instruction Scope
The SKILL.md and code instruct the agent to build a plan and run node scripts/run-recording.mjs; that runner supports a variety of step types including an 'evaluate' step that executes arbitrary page-side JavaScript (new Function(...)() executed in page context). 'evaluate' is useful for in-page fixes (e.g., change form.target) but it also allows arbitrary DOM access and network activity from the visited page—this is expected for interactive recording but increases risk if the recorded site or generated plan is untrusted.
Install Mechanism
There is no formal install spec (instruction-only), which is low-risk, but package.json declares dependencies (puppeteer-core and puppeteer-screen-recorder). Consumers will need to ensure Node and these packages (and ffmpeg for recording) are available; no external arbitrary downloads or obscure URLs are used in the repository.
Credentials
The skill metadata declares no required env vars, but the code reads environment variables at runtime: OPENCLAW_CDP_URL (CDP endpoint), OPENCLAW_WORKSPACE (workspace root used to compute media/), and FFMPEG_PATH (optional ffmpeg location). These are not secrets per se and are proportionate to functionality, but the SKILL.md did not enumerate them — the agent will rely on them if present, and they affect where outputs are written and which browser endpoint is used.
Persistence & Privilege
The skill is not always-enabled and does not request elevated platform privileges. It doesn't modify other skills or global agent settings. Autonomous invocation is allowed (platform default), which is expected for this kind of tool.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install browser-demo-recorder
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /browser-demo-recorder 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.1.0
Improve recording fidelity with a visible cursor overlay on the current page, wheel-based scrolling that stays anchored near the last interaction, and cross-platform input clearing. Also update docs to reflect human-like cursor, click, type, and scroll behavior.
v1.0.0
Initial release: Automates browser demo video creation from a natural-language brief. - Converts user requests into browser action plans for deterministic recordings. - Drives the OpenClaw browser via CDP to capture flows as MP4 videos. - Outputs the result to the workspace's media directory and returns a MEDIA protocol link. - Handles multi-step actions such as navigation, clicks, typing, and cursor movement. - Provides clear status updates and sensible defaults; asks for clarification only when needed.
元数据
Slug browser-demo-recorder
版本 1.1.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 2
常见问题

Browser Demo Recorder 是什么?

Record browser demo videos from a plain-language brief by turning the requested flow into a plan, driving the OpenClaw browser via CDP, encoding an MP4, writ... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 133 次。

如何安装 Browser Demo Recorder?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install browser-demo-recorder」即可一键安装,无需额外配置。

Browser Demo Recorder 是免费的吗?

是的,Browser Demo Recorder 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Browser Demo Recorder 支持哪些平台?

Browser Demo Recorder 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Browser Demo Recorder?

由 smile618(@smile618)开发并维护,当前版本 v1.1.0。

💬 留言讨论