Skill: drfirass/oxylabs-ai-studio (version 1.0.3)

--- name: oxylabs-ai-studio description: > Web scraping, crawling, searching, and browser automation using Oxylabs AI Studio. Use this skill when the user asks to scrape a website, extract content from a URL, search the web, crawl a domain, map a site pages, or automate browser navigation. Smart install: automatically stops if native Oxylabs plugin is detected to avoid any conflict. Triggers: scrape, extract, crawl, browser agent, map site, fetch page content. homepage: https://github.com/DrFIRASS/oxylabs-ai-studio-skill metadata: clawdbot: emoji: "🕷️" requires: env: ["OXYLABS_API_KEY"] primaryEnv: "OXYLABS_API_KEY" bins: ["python3", "pip3"] files: ["scripts/*", "setup.sh"] install: - run: "bash setup.sh" label: "Smart install — detects native Oxylabs and adds only missing tools" --- # Oxylabs AI Studio Skill Adds Browser Agent, AI-Crawler, and AI-Map to your OpenClaw agent. Works alongside the native Oxylabs plugin without any conflict. ## Smart Installation If native plugin detected (oxylabs-ai-studio-openclaw): - Skips Web Fetch and Web Search — already covered natively - Adds only the 3 missing tools: Browser Agent, AI-Crawler, AI-Map If no native plugin: - Installs all 5 tools: AI-Scraper, Browser Agent, AI-Crawler, AI-Search, AI-Map ## Note for Hostinger + OpenClaw users If you enabled Oxylabs in Hostinger and see PLUGIN:OXYLABS-AI-STUDIO-OPENCLAW in your agent tools, you already have Web Fetch and Web Search covered. This skill adds the 3 missing tools: Browser Agent, AI-Crawler, AI-Map. ## Setup Run: bash setup.sh Or manually: pip3 install oxylabs-ai-studio --break-system-packages Set: export OXYLABS_API_KEY=your_key_here Get 1000 free credits at: https://aistudio.oxylabs.io ## Tools and Priority Rules When native Oxylabs plugin IS present: - Scraping a URL -> use native oxylabs_web_fetch - Searching the web -> use native oxylabs_web_search - Browser navigation -> always use scripts/browser.py - Crawling a domain -> always use scripts/crawler.py - Mapping a site -> always use scripts/map.py When native Oxylabs plugin is NOT present: - Scraping a URL -> use scripts/scrape.py - Searching the web -> use scripts/search.py - Browser navigation -> use scripts/browser.py - Crawling a domain -> use scripts/crawler.py - Mapping a site -> use scripts/map.py ## Examples python3 scripts/browser.py https://example.com "find all product prices" python3 scripts/crawler.py https://example.com "all blog posts" python3 scripts/map.py https://example.com "all pages"

path: setup.sh
content: #!/bin/bash
echo "Oxylabs AI Studio Skill - Smart Setup v1.0.3"
echo "============================================="

# Check if native Oxylabs plugin is already installed
NATIVE=$(find / -name "*oxylabs-ai-studio-openclaw-web-fetch*" -type f 2>/dev/null | head -1)

if [ -n "$NATIVE" ]; then
    echo ""
    echo "✅ Native Oxylabs plugin detected (oxylabs-ai-studio-openclaw)."
    echo "   Web Fetch and Web Search are already fully covered natively."
    echo ""
    echo "⛔ Installation stopped — no conflict, no changes made."
    echo "   Your OpenClaw is already fully equipped with Oxylabs."
    echo ""
    echo "   If you still want Browser Agent, AI-Crawler or AI-Map,"
    echo "   contact the skill author: https://clawhub.ai/DrFIRASS/oxylabs-ai-studio"
    exit 0
fi

echo "ℹ️  Native Oxylabs plugin NOT detected."
echo "📦 Installing Oxylabs AI Studio Python SDK..."

pip3 install oxylabs-ai-studio --break-system-packages --quiet 2>/dev/null || pip3 install oxylabs-ai-studio --quiet 2>/dev/null

if [ $? -eq 0 ]; then
    echo "✅ Python SDK installed successfully."
else
    echo "❌ FAILED - Run manually: pip3 install oxylabs-ai-studio --break-system-packages"
    exit 1
fi

echo ""
echo "✅ All 5 tools installed:"
echo "   - AI-Scraper     (scripts/scrape.py)"
echo "   - Browser Agent  (scripts/browser.py)"
echo "   - AI-Crawler     (scripts/crawler.py)"
echo "   - AI-Search      (scripts/search.py)"
echo "   - AI-Map         (scripts/map.py)"
echo ""
echo "⚠️  Set your API key: export OXYLABS_API_KEY=your_key_here"
echo "🎉 Get 1000 free credits at: https://aistudio.oxylabs.io"


path: scripts/map.py
content: #!/usr/bin/env python3
"""Oxylabs AI-Map: discover and list all URLs on a domain."""
import sys, os
from oxylabs_ai_studio.apps.ai_map import AiMap

url = sys.argv[1] if len(sys.argv) > 1 else "https://example.com"
prompt = sys.argv[2] if len(sys.argv) > 2 else "Find all pages"
[REDACTED_SECRET]"OXYLABS_API_KEY", "")
if not [REDACTED_SECRET]"ERROR: OXYLABS_API_KEY environment variable not set.")
    sys.exit(1)

ai_map = AiMap([REDACTED_SECRET])
result = ai_map.map(url=url, user_prompt=prompt)
print(result.data)


path: scripts/browser.py
content: #!/usr/bin/env python3
"""Oxylabs Browser Agent: navigate and interact with websites like a human."""
import sys, os
from oxylabs_ai_studio.apps.browser_agent import BrowserAgent

url = sys.argv[1] if len(sys.argv) > 1 else "https://example.com"
prompt = sys.argv[2] if len(sys.argv) > 2 else "Extract main content"
[REDACTED_SECRET]"OXYLABS_API_KEY", "")
if not [REDACTED_SECRET]"ERROR: OXYLABS_API_KEY environment variable not set.")
    sys.exit(1)

agent = BrowserAgent([REDACTED_SECRET])
result = agent.run(url=url, user_prompt=prompt, output_format="markdown")
print(result.data)


path: scripts/search.py
content: #!/usr/bin/env python3
"""Oxylabs AI-Search: search the web with natural language queries."""
import sys, os
from oxylabs_ai_studio.apps.ai_search import AiSearch

query = sys.argv[1] if len(sys.argv) > 1 else "test"
[REDACTED_SECRET]"OXYLABS_API_KEY", "")
if not [REDACTED_SECRET]"ERROR: OXYLABS_API_KEY environment variable not set.")
    sys.exit(1)

search = AiSearch([REDACTED_SECRET])
result = search.search(query=query)
print(result.data)


path: scripts/scrape.py
content: #!/usr/bin/env python3
"""Oxylabs AI-Scraper: extract content from a single URL."""
import sys, os
from oxylabs_ai_studio.apps.ai_scraper import AiScraper

url = sys.argv[1] if len(sys.argv) > 1 else "https://example.com"
[REDACTED_SECRET]"OXYLABS_API_KEY", "")
if not [REDACTED_SECRET]"ERROR: OXYLABS_API_KEY environment variable not set.")
    sys.exit(1)

scraper = AiScraper([REDACTED_SECRET])
result = scraper.scrape(url=url, output_format="markdown")
print(result.data)


path: scripts/crawler.py
content: #!/usr/bin/env python3
"""Oxylabs AI-Crawler: crawl an entire domain and extract content."""
import sys, os
from oxylabs_ai_studio.apps.ai_crawler import AiCrawler

url = sys.argv[1] if len(sys.argv) > 1 else "https://example.com"
prompt = sys.argv[2] if len(sys.argv) > 2 else "Extract all content"
[REDACTED_SECRET]"OXYLABS_API_KEY", "")
if not [REDACTED_SECRET]"ERROR: OXYLABS_API_KEY environment variable not set.")
    sys.exit(1)

crawler = AiCrawler([REDACTED_SECRET])
result = crawler.crawl(url=url, user_prompt=prompt, output_format="markdown")
print(result.data)


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)