name: search-image description: Search 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 asks to search for an image, find reference images, look up a character, person, brand, mascot, meme, wallpaper, avatar, or logo, wants several engines searched, wants the best match instead of the literal first result, or wants the best candidate sent as an attachment. Prefer multi-engine search with relevance ranking, then download and send the best match; if confidence is weak or downloading fails, return several candidate links and search URLs.
Handle image-search requests triggered by phrases like search image X or find a picture of X.
Default behavior for this skill:
- Search multiple engines, not just one source
- Prefer the most relevant result, not the literal first result
- Download the best match locally, then send it as an attachment when possible
- If confidence is weak, provide several candidates instead of pretending one result is perfect
Use as many available sources as practical, in this priority order: - Bing Images - Baidu Images - Sogou Images
Notes: - Bing is usually the most parseable server-side source - Baidu may return a security-verification page; treat it as a soft failure - Sogou can provide extra recall when Bing drifts or lacks meme-style results
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 images
- search image acme logo official
- search image funny cat meme
- search image aurora wallpaper 4k landscape
- search image anime girl avatar 2 images
Supported parameters:
- Count: 1 to 5 images
- Intent override: official, meme, avatar, wallpaper
- Orientation preference: landscape, portrait
- Quality preference: hd, 4k, high resolution
Parse these first, then search the cleaned core entity query.
Classify the request before ranking:
- meme: meme / reaction image / funny image / emoji style requests
- official: official / logo / emblem / mascot / poster / brand identity
- portrait: people, characters, or general image requests
- wallpaper: wallpaper / hd / high resolution / 4k
- avatar: avatar / profile picture / icon
When official is selected, also infer a subtype when possible:
- campus: campus / gate / building / landscape / map
- emblem: emblem / logo / crest / mark / badge
- mascot: mascot / character / brand character / official character / IP character
- poster: poster / promotional art / campaign art
Intent affects ranking:
- meme prefers meme and funny-image pages
- official prefers official domains, institutional pages, and reference pages
- portrait prefers representative images
- wallpaper prefers larger image results
- avatar prefers square or icon-like results
Do 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.
- exact query match is best
- token matches in title/page/image URL matter
- semantically related domains help
- obvious news drift, spammy pages, or generic stock images should rank lower
- weak modifiers like image, photo, meme, avatar, and wallpaper should not outweigh the core entity
- in official mode, prefer trusted domains over visually appealing aggregators
- in emblem mode, prefer brand/identity signals and penalize maps, personal homepages, and generic banners
- in mascot mode, prefer official character/IP wording and penalize generic news coverage when cleaner source pages exist
If 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.
更多技能请访问小葱技能站7w4.net。
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:
- parsed parameters
- cleaned search_query
- per-engine status
- normalized query info
- detected intent
- confidence
- best_image
- top_candidates
Run:
PYTHONPATH=scripts python3 scripts/fetch_best_image.py "cat meme"
The script:
- searches Bing, Baidu, and Sogou
- ranks candidates by relevance
- computes confidence
- downloads the best match to /home/mumu/clawd/tmp/search-image/
- prints JSON with path, image_url, engine, score, why, and confidence info
Run:
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:
- reject obvious site assets / logos
- reject too-small files
- reject too-small dimensions
- penalize thumbnail-style URLs
- adjust scoring by intent
These remain available for debugging or quick comparison:
- scripts/search_first_image.py
- scripts/fetch_first_image.py
Prefer the best-image scripts in normal operation.
After fetch_best_image.py succeeds, send the downloaded file as an attachment.
Preferred handoff:
- Use the local file path returned in path
- Use the best-match result, not the literal first result
- If confidence is low but still usable, mention it briefly or send multiple candidates instead
- If attachment sending fails, fall back to sending candidate image URLs and search links
Suggested flow:
1. Run PYTHONPATH=scripts python3 scripts/fetch_best_image.py "<query>"
2. Respect parsed parameters first: count / intent override / orientation / high-res hints
3. If confidence is high and JSON returns ok: true, use the returned local path for image sending
4. If confidence is medium, run fetch_candidate_images.py and send the requested count or 2-3 candidates
5. If confidence is low, send search links plus candidate links or candidate images
6. If JSON returns ok: false, send the search links and top candidate URLs instead
Use 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>
这个图片搜索技能质量中上,优点是能同时搜索多个引擎、支持按意图筛选、能避免找错图片、还会根据搜索质量自动判断是否提供多张候选图。不足是对某些特殊需求的理解可能不够准确,搜索结果质量波动时表现不稳定。日常简单搜索够用,但复杂场景可能需要多试几次。