#!/usr/bin/env python3 import sys import json import urllib.request import urllib.parse args = json.loads(sys.stdin.read()) query = args.get("query", "") num_results = args.get("num_results", 5) searx_url = args.get("_searx_url", "https://searx.mymx.me") try: params = urllib.parse.urlencode({"q": query, "format": "json"}) req = urllib.request.Request( f"{searx_url}/search?{params}", headers={"User-Agent": "fireclaw-agent"}, ) with urllib.request.urlopen(req, timeout=15) as resp: data = json.loads(resp.read()) results = data.get("results", [])[:num_results] if not results: print("No results found.") else: lines = [] for r in results: title = r.get("title", "") url = r.get("url", "") snippet = r.get("content", "")[:150] lines.append(f"- {title}\n {url}\n {snippet}") print("\n".join(lines)) except Exception as e: print(f"[search error: {e}]")