Install
openclaw skills install internet-searchHow to use the internet_search tool effectively — category routing, query formulation, and multi-search strategies. Use whenever web search is needed: current events, research papers, community opinions, or any information beyond training knowledge.
openclaw skills install internet-searchQueries a self-hosted SearXNG instance aggregating multiple search engines.
Always set category based on the nature of the query.
| Category | When to use | Engines |
|---|---|---|
general | Default. Facts, how-tos, products, people, broad web. | Brave, Bing, DDG, Startpage, Qwant, Wikipedia… |
news | Recent events, breaking news, anything time-sensitive. | Bing News, DDG News |
academic | Research papers, studies, medical literature, preprints. | arXiv, Google Scholar, PubMed |
social | Opinions, community recommendations, "what do people think about X". |
Write queries as a search engine expects — keywords, not full sentences:
# Bad
"what is the fastest async runtime for rust"
# Good
"rust async runtime benchmarks 2025"
"OpenAI o3 release 2025" not just "OpenAI o3""transformer attention efficiency survey""reddit best mechanical keyboard 2025"query)SearXNG supports lightweight query modifiers you can embed directly into the query string:
| Syntax | Meaning | Examples |
|---|---|---|
!<engine> / !<category> | Select engine(s) and/or a category. Chainable and inclusive; abbreviations are accepted. | !wp paris, !wikipedia paris, !map paris, !map !ddg !wp paris |
:<lang> | Language filter | :fr !wp Wau Holland |
count=5 (default) — sufficient for most taskscount=10 — comparing many options, checking consensuscount=3 — quick fact checksFire multiple focused searches rather than one broad one:
# Bad: one vague search
internet_search("best way to deploy Node.js")
# Good: three targeted searches
internet_search("Node.js Docker deployment best practices 2025")
internet_search("Node.js PM2 vs Docker production", category="social")
internet_search("Node.js zero-downtime deployment strategies")
Combine general + social for factual + sentiment coverage:
internet_search("Bun runtime performance vs Node.js benchmarks")
internet_search("Bun runtime production experience", category="social")
| Mistake | Fix |
|---|---|
general for a research paper | Use category="academic" |
| Searching "what happened today" | Use category="news" with a specific topic |
| One broad search for a multi-part question | Break into 2–3 focused searches |
| Repeating a failed search verbatim | Rephrase with different keywords |
count=20 for a simple fact | Default count=5 is almost always enough |