← 返回 Skills 市场
aaronxx

browser-auto-download

作者 Aaronxx · GitHub ↗ · v1.0.1
cross-platform ⚠ suspicious
2055
总下载
1
收藏
4
当前安装
2
版本数
在 OpenClaw 中安装
/install browser-auto-download
功能描述
Browser-automated file download with enhanced features. Auto-detects platform (Windows/macOS/Linux, 64/32-bit, ARM/Intel), handles multi-step navigation (homepage to platform-specific pages), captures auto-downloads triggered on page load, and falls back to button clicking when needed. Ideal for complex download flows where curl/wget fail due to client-side rendering, automatic downloads, or multi-page navigation. Features page scrolling for lazy content, extended wait times, and Golang support.
使用说明 (SKILL.md)

\r \r

Browser Auto Download v4.1.0 (Enhanced)\r

\r Download files from dynamic webpages with intelligent detection and multi-step navigation.\r \r

Key Features\r

\r

  • Auto-download capture: Detects downloads triggered automatically on page load\r
  • Multi-step navigation: Finds and navigates to platform-specific pages (PC/Desktop versions)\r
  • Platform auto-detection: Windows x64/ARM64, macOS Intel/Apple Silicon, Linux\r
  • Event listening: Captures all download events without requiring button clicks\r
  • Smart fallback: Tries multiple strategies (auto-download, navigation, clicking)\r \r

When to Use\r

\r Use this skill for:\r

  • Auto-download sites: Downloads start automatically when page loads\r
  • Multi-step flows: Homepage - click "PC version" - download page\r
  • Dynamic content: Download links generated via JavaScript\r
  • Interactive downloads: Requires clicking buttons or navigating UI\r \r NOT for: Direct file URLs (use curl/wget instead)\r \r

Quick Start\r

\r

Option 1: Automatic (Recommended)\r

\r

python skills/browser-auto-download/scripts/auto_download.py \\r
  --url "https://example.com/download"\r
```\r
\r
The script will:\r
1. Check for auto-downloads on page load\r
2. Look for platform-specific page links (PC/Desktop version)\r
3. Navigate if needed\r
4. Try clicking download buttons as fallback\r
\r
### Option 2: Built-in Shortcuts\r
\r
```bash\r
# WeChat DevTools\r
python skills/browser-auto-download/scripts/auto_download.py --wechat\r
\r
# Meitu Xiuxiu\r
python skills/browser-auto-download/scripts/auto_download.py --meitu\r
```\r
\r
### Option 3: Python Module\r
\r
```python\r
from skills.browser-auto-download.scripts.auto_download import auto_download\r
\r
result = auto_download(\r
    url="https://example.com/download",\r
    auto_select=True,   # Platform detection\r
    auto_navigate=True  # Multi-step navigation\r
)\r
\r
if result:\r
    print(f"Downloaded: {result['path']}")\r
```\r
\r
## How It Works\r
\r
### Three-Stage Strategy\r
\r
**Stage 1: Auto-Download Detection**\r
```\r
Page loads - Check for downloads - Success?\r
    Yes:                    No:\r
    Save file               Go to Stage 2\r
```\r
\r
**Stage 2: Multi-Step Navigation**\r
```\r
Look for "PC/Desktop" link - Navigate - Check downloads - Success?\r
    Yes:                        No:\r
    Save file                  Go to Stage 3\r
```\r
\r
**Stage 3: Button Clicking**\r
```\r
Try multiple selectors - Click - Wait for download - Save\r
```\r
\r
### Platform-Specific Page Detection\r
\r
Automatically finds links like:\r
- "meitu for PC" - pc.meitu.com\r
- "Desktop version" - desktop.example.com\r
- "Windows Download" - windows.example.com\r
\r
Keywords: `pc`, `desktop`, `windows`, `mac`, `download`, `电脑`, `桌面`, `客户端`\r
\r
## Examples\r
\r
### Auto-Download Sites (Best Case)\r
\r
```bash\r
# Sites that trigger download on page load\r
python skills/browser-auto-download/scripts/auto_download.py \\r
  --url "https://pc.meitu.com/en/pc?download=pc"\r
```\r
\r
### Multi-Step Navigation\r
\r
```bash\r
# Homepage - PC version - Download\r
python skills/browser-auto-download/scripts/auto_download.py \\r
  --url "https://xiuxiu.meitu.com/" \\r
  --auto-navigate  # Enable (default: True)\r
```\r
\r
### Manual Selector (Fallback)\r
\r
```bash\r
# If auto-detection fails\r
python skills/browser-auto-download/scripts/auto_download.py \\r
  --url "https://example.com/download" \\r
  --selector "button:has-text('Download for free')"\r
```\r
\r
### Disable Features\r
\r
```bash\r
# Don't navigate to platform pages\r
python skills/browser-auto-download/scripts/auto_download.py \\r
  --url "https://example.com" \\r
  --no-auto-navigate\r
\r
# Don't detect platform\r
python skills/browser-auto-download/scripts/auto_download.py \\r
  --url "https://example.com" \\r
  --no-auto-select\r
```\r
\r
## Platform Detection\r
\r
| System | Architecture | Keywords Used |\r
|--------|--------------|---------------|\r
| Windows | AMD64/x86_64 | windows, win64, x64, 64-bit, pc |\r
| Windows | x86/i686 | windows, win32, x86, 32-bit, pc |\r
| macOS | ARM64 (M1/M2/M3) | macos, arm64, apple silicon |\r
| macOS | x86_64 (Intel) | macos, x64, intel |\r
| Linux | x86_64 | linux, x64, amd64 |\r
\r
## Troubleshooting\r
\r
**Download not starting**:\r
- Use `--headless` (default: False) to observe the process\r
- Check stderr for auto-download messages\r
- Try `--no-auto-navigate` if navigation is causing issues\r
- Use `--selector` to manually specify button\r
\r
**Wrong version downloaded**:\r
- Check platform detection in stderr output\r
- Use `--no-auto-select` and manually specify `--selector`\r
- Verify the site offers multiple versions\r
\r
**Navigation going to wrong page**:\r
- Disable with `--no-auto-navigate`\r
- The site may not have platform-specific pages\r
\r
**File not saved**:\r
- Check write permissions in output directory\r
- Ensure sufficient disk space\r
- Wait for large files (up to 3 minutes)\r
\r
## Output Format\r
\r
### stderr (Progress)\r
```\r
Starting browser (visible)...\r
Opening: https://example.com\r
Checking for auto-downloads...\r
Checking for platform-specific page link...\r
Found platform page: https://pc.example.com\r
Navigating to platform page...\r
Download detected: software_v2.1.0_win64.exe\r
Saving: software_v2.1.0_win64.exe\r
\r
SUCCESS!\r
File: C:\Users\User\Downloads\software_v2.1.0_win64.exe\r
Size: 231.9 MB\r
```\r
\r
### stdout (JSON result)\r
```json\r
{\r
  "path": "C:\\Users\\User\\Downloads\\software_v2.1.0_win64.exe",\r
  "filename": "software_v2.1.0_win64.exe",\r
  "size_bytes": 243209941,\r
  "size_mb": 231.9,\r
  "platform": "Windows AMD64"\r
}\r
```\r
\r
## Real-World Examples\r
\r
### Meitu Xiuxiu (Multi-step + Auto-download)\r
\r
```python\r
from auto_download import quick_download_meitu\r
\r
result = quick_download_meitu()\r
# Flow: Homepage - PC page link - Navigate - Auto-download\r
```\r
\r
### WeChat DevTools (Button click)\r
\r
```python\r
from auto_download import quick_download_wechat_devtools\r
\r
result = quick_download_wechat_devtools()\r
# Flow: Homepage - Click "Stable Windows 64" - Download\r
```\r
\r
### Generic Software (Mixed)\r
\r
```python\r
result = auto_download(\r
    url="https://example.com/downloads",\r
    auto_select=True,    # Detect Windows 64-bit\r
    auto_navigate=True   # Find "Desktop version" link\r
)\r
```\r
\r
## Requirements\r
\r
```bash\r
pip install playwright\r
playwright install chromium\r
```\r
\r
## Advanced Usage\r
\r
### Custom Platform Keywords\r
\r
Modify `get_system_preference()` in the script to add custom keywords.\r
\r
### Integration with Scripts\r
\r
```python\r
import subprocess\r
import json\r
\r
result = subprocess.run([\r
    'python', 'skills/browser-auto-download/scripts/auto_download.py',\r
    '--url', 'https://example.com/download'\r
], capture_output=True, text=True)\r
\r
if result.returncode == 0:\r
    data = json.loads(result.stdout)\r
    print(f"Downloaded: {data['path']}")  # Use the file\r
```\r
\r
### Batch Downloads\r
\r
```python\r
urls = [\r
    "https://example1.com/download",\r
    "https://example2.com/download",\r
    "https://example3.com/download"\r
]\r
\r
for url in urls:\r
    result = auto_download(url)\r
    if result:\r
        print(f"Success: {result['filename']}")\r
```\r
安全使用建议
This skill appears to do what it says: it launches a real browser via Playwright, opens the target URL, navigates and clicks to trigger downloads, and saves files locally. Before installing/using it: 1) be aware debug mode saves screenshots, the full page HTML and extracted text into your Downloads folder — avoid running debug against sites containing credentials or sensitive content; 2) run it in a controlled environment (VM/container) when testing unknown sites because pages' JavaScript will execute in a real browser; 3) ensure you trust the target URL(s) before allowing automatic clicks/downloads; 4) limit output_dir to a directory you control and monitor filesystem writes; and 5) verify and install Playwright from official sources (pip and playwright install) as required. If you want extra assurance, review the remainder of scripts/auto_download.py (the truncated tail) for any network callbacks or unusual outbound connections before use.
功能分析
Type: OpenClaw Skill Name: browser-auto-download Version: 1.0.1 The skill provides browser automation for downloading files, which inherently involves high-risk capabilities like full network access, local file system writing, and interaction with arbitrary web content. The `scripts/auto_download.py` file includes a `save_page_debug_info` function that, when enabled via the `--debug` flag, saves the full HTML content, a screenshot, and extracted text of the visited page to the local `~/Downloads/browser-auto-download-debug` directory. While this is intended for debugging and saves data locally, it represents a significant risk as it can capture potentially sensitive information (e.g., session tokens, personal data) if the user is downloading from a sensitive website. There is no clear evidence of intentional malicious behavior such as exfiltration of this data, persistence mechanisms, or prompt injection attempts against the agent. However, the combination of broad browser automation capabilities and the debug feature's ability to capture sensitive page content, even if locally, pushes it beyond 'benign' due to the potential for misuse or accidental exposure.
能力评估
Purpose & Capability
Name/description, SKILL.md, README, and the included Python script consistently implement Playwright-based browser automation to detect and save downloads and navigate multi-step pages. Required env/config/credentials are none, which is consistent with a local downloader tool.
Instruction Scope
Instructions direct the skill to open arbitrary target URLs, navigate, click elements, and capture download events — exactly what the description promises. The skill also offers a debug mode that saves screenshots, full page HTML and extracted text into ~/Downloads/browser-auto-download-debug; this can capture sensitive page content (forms, tokens) if used against authenticated or sensitive pages.
Install Mechanism
No install spec in the registry; the documentation instructs users to pip install playwright and run playwright install chromium. This is a standard dependency for the described functionality and proportional to the task.
Credentials
The skill requests no environment variables, credentials, or config paths. It uses the local filesystem (user Downloads folder) for output and debug artifacts — appropriate for a downloader but worth noting for privacy.
Persistence & Privilege
The skill is not always-enabled, does not request elevated agent privileges, and does not modify other skills or system-wide configs. It runs when invoked and stores output/debug files under the user's Downloads directory.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install browser-auto-download
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /browser-auto-download 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.1
- Initial release of browser-auto-download skill. - Added support for intelligent, browser-based file downloads via automated navigation and platform detection. - Handles multi-step download flows, auto-downloads triggered on page load, and dynamic content rendering. - Includes extended documentation and publishing/release notes. - Provides page scrolling for lazy content, extended wait times, and Golang support.
v1.0.0
- Initial release of browser-auto-download skill. - Automates file downloads from dynamic web pages with enhanced features. - Detects platform automatically (Windows/macOS/Linux; 64/32-bit; ARM/Intel). - Handles multi-step navigation to platform-specific download pages. - Captures auto-downloads triggered on page load and falls back to button clicking when needed. - Provides troubleshooting tips, detailed usage examples, and integration instructions.
元数据
Slug browser-auto-download
版本 1.0.1
许可证
累计安装 4
当前安装数 4
历史版本数 2
常见问题

browser-auto-download 是什么?

Browser-automated file download with enhanced features. Auto-detects platform (Windows/macOS/Linux, 64/32-bit, ARM/Intel), handles multi-step navigation (homepage to platform-specific pages), captures auto-downloads triggered on page load, and falls back to button clicking when needed. Ideal for complex download flows where curl/wget fail due to client-side rendering, automatic downloads, or multi-page navigation. Features page scrolling for lazy content, extended wait times, and Golang support. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 2055 次。

如何安装 browser-auto-download?

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

browser-auto-download 是免费的吗?

是的,browser-auto-download 完全免费(开源免费),可自由下载、安装和使用。

browser-auto-download 支持哪些平台?

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

谁开发了 browser-auto-download?

由 Aaronxx(@aaronxx)开发并维护,当前版本 v1.0.1。

💬 留言讨论