Install
openclaw skills install smart-image-searchSearch images from text queries and return the most relevant image result, candidate images, source pages, or ready-to-open search links. Use when the user a...
openclaw skills install smart-image-searchHandle image-search requests triggered by phrases like search image X or find a picture of X.
Default behavior for this skill:
Use as many available sources as practical, in this priority order:
Notes:
references/parameters.md.references/intent-routing.md when tuning or debugging routing.official: campus, emblem, mascot, poster.references/confidence.md when tuning thresholds.references/quality-filtering.md when tuning thresholds.Support lightweight natural-language parameters inside the query. Examples:
search image taylor swift 3 imagessearch image acme logo officialsearch image funny cat memesearch image aurora wallpaper 4k landscapesearch image anime girl avatar 2 imagesSupported parameters:
1 to 5 imagesofficial, meme, avatar, wallpaperlandscape, portraithd, 4k, high resolutionParse these first, then search the cleaned core entity query.
Classify the request before ranking:
meme: meme / reaction image / funny image / emoji style requestsofficial: official / logo / emblem / mascot / poster / brand identityportrait: people, characters, or general image requestswallpaper: wallpaper / hd / high resolution / 4kavatar: avatar / profile picture / iconWhen official is selected, also infer a subtype when possible:
campus: campus / gate / building / landscape / mapemblem: emblem / logo / crest / mark / badgemascot: mascot / character / brand character / official character / IP characterposter: poster / promotional art / campaign artIntent affects ranking:
meme prefers meme and funny-image pagesofficial prefers official domains, institutional pages, and reference pagesportrait prefers representative imageswallpaper prefers larger image resultsavatar prefers square or icon-like resultsDo not blindly send the first result.
Use references/relevance.md and follow these rules.
For official intent, also read references/official-sources.md and references/official-whitelist.md when tuning or debugging official-result ranking.
Use references/entity-consistency.md to prevent official-looking but wrong-entity matches.
Use references/entity-gating.md when the query contains multiple strong entities and partial matches must be demoted to fallback-only.
image, photo, meme, avatar, and wallpaper should not outweigh the core entityofficial mode, prefer trusted domains over visually appealing aggregatorsemblem mode, prefer brand/identity signals and penalize maps, personal homepages, and generic bannersmascot mode, prefer official character/IP wording and penalize generic news coverage when cleaner source pages existIf confidence is weak, prefer sending 2-3 candidates or links rather than a low-quality single answer.
Read references/confidence.md for the high / medium / low decision rule.
Use these patterns:
https://www.bing.com/images/search?q=<urlencoded_query>https://image.baidu.com/search/index?tn=baiduimage&word=<urlencoded_query>https://pic.sogou.com/pics?query=<urlencoded_query>If needed, use scripts/build_image_search_urls.py to generate encoded URLs safely.
Run:
python3 scripts/build_image_search_urls.py "official mascot"
Run:
PYTHONPATH=scripts python3 scripts/search_best_image.py "cat meme"
The script prints JSON containing:
search_queryintentconfidencebest_imagetop_candidatesRun:
PYTHONPATH=scripts python3 scripts/fetch_best_image.py "cat meme"
The script:
/home/mumu/clawd/tmp/search-image/path, image_url, engine, score, why, and confidence infoRun:
PYTHONPATH=scripts python3 scripts/fetch_candidate_images.py "cat meme" 3
Use this when confidence is medium or low.
The script downloads multiple top candidates and returns their local file paths for sending.
Use scripts/image_quality.py through the fetch scripts.
Default checks now include:
These remain available for debugging or quick comparison:
scripts/search_first_image.pyscripts/fetch_first_image.pyPrefer the best-image scripts in normal operation.
After fetch_best_image.py succeeds, send the downloaded file as an attachment.
Preferred handoff:
pathSuggested flow:
PYTHONPATH=scripts python3 scripts/fetch_best_image.py "<query>"high and JSON returns ok: true, use the returned local path for image sendingmedium, run fetch_candidate_images.py and send the requested count or 2-3 candidateslow, send search links plus candidate links or candidate imagesok: false, send the search links and top candidate URLs insteadUse this style when direct sending fails:
Result: I could not get a single high-confidence direct image, so here are the best candidates.
Bing Images: <url>
Baidu Images: <url>
Sogou Images: <url>
Candidate 1: <url>
Candidate 2: <url>
Candidate 3: <url>