← 返回 Skills 市场
pearyj

Web to PDF

作者 pearyj · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
225
总下载
0
收藏
1
当前安装
1
版本数
在 OpenClaw 中安装
/install webpage-to-pdf
功能描述
Convert a web page to PDF, especially web-based slide decks and presentations (reveal.js, impress.js, custom JS slideshows, scroll-based decks). Use when the...
安全使用建议
This skill appears to do what it claims, but review and consider the following before installing: - Source trust: the package has no homepage and an opaque owner ID. If you don't trust the author, review the included scripts manually (you already have them) before running npm/pip installs. - Installer behavior: `npm install` (Playwright) will download code and Chromium binaries from external registries. Do this only on a machine you control; prefer an isolated environment (container/VM) if possible. - Untrusted URLs: the skill loads arbitrary URLs with a headless browser. Treat this like opening a webpage in a browser — it can run JS, fingerprint, or attempt attacks. Do not run it on systems with sensitive network access unless you sandbox it. - Command invocation risk: the script uses execSync with a composed shell command. If you or an automated agent supplies an output path that contains shell metacharacters (e.g., command substitution), that could be executed. Use safe, simple output filenames or run the script with a hardened wrapper (or patch the code to use spawn/spawnSync with argument arrays) to remove shell interpolation. - Operational prerequisites: Node.js (18+), Python3, and Pillow must be installed; Playwright will install Chromium. Ensure you have disk space and network access for these downloads. If you plan to use this skill frequently, consider auditing/patching the execSync call to use a safe spawn variant, and run the skill in a sandboxed environment (container or dedicated VM). If you are unsure about the author given the missing homepage/metadata, prefer to run only the reviewed code locally rather than allowing automatic installs in a shared environment.
功能分析
Type: OpenClaw Skill Name: webpage-to-pdf Version: 1.0.0 The skill contains a shell injection vulnerability in `scripts/capture.mjs` within the `assemblePDF` function. It dynamically generates a Python script and executes it via `execSync`, passing the user-controlled output path directly into the shell command string without sanitization. While the skill's logic aligns with its stated purpose of converting web pages to PDF, this implementation flaw allows for arbitrary command execution if the agent is provided with a malicious filename.
能力评估
Purpose & Capability
Name/description match the provided code and SKILL.md. The Playwright-based capture script + Python (Pillow) assembly is appropriate for converting web slides/pages into multi-page PDFs. Required dependencies (playwright, chromium, Pillow) are coherent with the stated task.
Instruction Scope
Runtime instructions are narrowly scoped to fetching a user-provided URL, taking screenshots, and assembling them into a PDF. They do require installing npm packages and Pillow. The agent will load arbitrary URLs (expected) — which can expose the runner to remote content, potentially including pages that attempt to fingerprint or exploit the runtime. The script writes and executes a temporary Python script and runs a shell command to invoke it (see security note below).
Install Mechanism
There is no packaged install spec; SKILL.md instructs running `npm install` and `npx playwright install chromium` and `pip install Pillow`. Pulling Playwright and Chromium from npm is normal for this task but will download large binaries and third-party packages from public registries. This is expected but you should be aware these installers run code from upstream registries.
Credentials
The skill requests no environment variables, credentials, or config paths. That is proportional: converting pages to PDF does not require secrets or external credentials.
Persistence & Privilege
The skill does not request always:true and is user-invocable only. It does not modify other skills or system-wide configs. Its persistence and privileges are minimal.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install webpage-to-pdf
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /webpage-to-pdf 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release of the web-to-pdf skill. - Convert web pages and web-based slide decks (reveal.js, impress.js, custom JS slideshows, articles) to multi-page PDF. - Automatically detects and handles different slide/navigation models: reveal.js, vertical scroll decks, keyboard navigation decks, and single-page web articles. - Uses a headless browser (Playwright) to capture slides as images, then assembles them into a PDF. - Provides configurable options for viewport size, wait time, and slide limits. - Troubleshooting guidance included for common capture issues.
元数据
Slug webpage-to-pdf
版本 1.0.0
许可证 MIT-0
累计安装 1
当前安装数 1
历史版本数 1
常见问题

Web to PDF 是什么?

Convert a web page to PDF, especially web-based slide decks and presentations (reveal.js, impress.js, custom JS slideshows, scroll-based decks). Use when the... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 225 次。

如何安装 Web to PDF?

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

Web to PDF 是免费的吗?

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

Web to PDF 支持哪些平台?

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

谁开发了 Web to PDF?

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

💬 留言讨论