lp-web-search
v1.1.0
Published
A loopengine ability: a web_search tool (Tavily or Brave Search) plus a skill teaching an agent when and how to use it.
Maintainers
Readme
lp-web-search
A loopengine ability: tools for searching and reading the public web, plus a skill that teaches an agent when to reach for each and how to use the results honestly.
What's in it
- Tool —
web_search(query, max_results?). Calls Tavily ifTAVILY_API_KEYis set, else Brave Search ifBRAVE_API_KEYis set, else Firecrawl's/searchifFIRECRAWL_API_KEYis set. Returns{ answer, results: [{ title, url, snippet }] }—answeris a short synthesized answer (Tavily only;nullon Brave/Firecrawl),resultsis a ranked list with each snippet trimmed to 500 characters. - Tool —
web_fetch(url). Fetches a single page (typically aweb_searchresult) and returns its readable text, trimmed to ~8000 characters — for when a snippet isn't enough. Prefers Tavily's Extract API ifTAVILY_API_KEYis set, else Firecrawl's/scrapeifFIRECRAWL_API_KEYis set (both do real, browser-grade extraction), else a plain fetch with a regex-based HTML-to-text fallback that needs no API key at all. Refuses non-http(s) URLs and local/private-network addresses outright, regardless of backend. - Skill —
web-search: when to search vs. fetch vs. rely on context or another tool, how to phrase a query, and how to use results without overstating confidence in them. - actauth rules —
web-search-allowedandweb-fetch-allowed, bothdecision: allow— read-only, no side effect, so neither is left to whateverdefault_decisionan agent has.
Install
npx loopengine add-ability lp-web-search --agent <your-agent>(or a specific version: npx loopengine add-ability [email protected] --agent <your-agent>)
Then set at least one of these env vars (via the Admin UI's Environment
tab, or directly in .env):
TAVILY_API_KEY=...
# or
BRAVE_API_KEY=...
# or
FIRECRAWL_API_KEY=...None are required for web_fetch to work at all — it falls back to a
plain fetch with no API key — but web_search needs at least one of
the three. Tavily is preferred if more than one is set.
Upgrading
npx loopengine upgrade-ability lp-web-search --agent <your-agent>See loopengine's own ABILITIES.md for how abilities, installs, and
upgrades work in general — this ability doesn't do anything a hand-written
tool couldn't; it's just one someone else already wrote and tested.
