# Web Search Skill ## Purpose Enable the agent to search the web using a self-hosted SearXNG instance for privacy-respecting searches. ## Configuration - SearXNG Instance: `https://searxng.meeks.freeddns.org` - API Endpoint: `/search` - Supported Formats: `json`, `csv`, `rss` ## Usage ### Search the Web When you need to look up information, find recent developments, or verify facts: ``` search_web(query="what is the latest version of Python", limit=10, language="en") ``` ### Parameters - `query` (required): The search query string - `limit` (optional): Number of results to return (default: 10, max: 100) - `language` (optional): Language code (e.g., "en", "sv", "de") - `time_range` (optional): Time filter - "day", "month", or "year" - `categories` (optional): Search category - "general", "images", "news", "videos", "science", "it", "music", "files", "map", "realtime" ### Example Queries - `search_web(query="uv python package manager tutorial")` - `search_web(query="searxng API documentation", time_range="month")` - `search_web(query="gitea vs github", categories="general")` ## Implementation Details The skill uses the SearXNG JSON API: ``` GET https://searxng.meeks.freeddns.org/search?q={query}&format=json&limit={limit}&language={language} ``` ### Error Handling - If the SearXNG instance is unreachable, log the error and try alternative search methods - If the response format is invalid, parse what's available and report the issue - If rate limited, wait and retry with exponential backoff ## When to Use - Researching technical issues or solutions - Looking up recent software updates or versions - Finding documentation or tutorials - Verifying facts or current information - Investigating error messages or stack traces - Finding similar projects or libraries ## When NOT to Use - When you already have the information locally - For simple factual questions that don't require current data - When the user explicitly asks not to search the web