Web Module
Module id web. Search the public web and fetch pages. Default
search backend is DuckDuckGo (no API key). Optional fallbacks:
Brave, Tavily, SearXNG, Google.
There is no separate web.extract or web.download tool.
Main-content extraction is web.fetch with extract: true. For
a persistent interactive browser session, prefer the
browser module.
Module declaration
tools:
modules:
web:
config:
backend: duckduckgo
# fallback: brave
# allowed_domains: []
# blocked_domains: []
capabilities:
default_policy: auto
grant:
- module: web
actions: [search, fetch]
Tools
| Action | Short alias | Purpose |
|---|---|---|
web.search | WebSearch | Search via the configured backend. |
web.fetch | WebFetch | Open / fetch a URL (optional extract, actions, screenshot, crawl, profile, live). |
web.search
| Param | Notes |
|---|---|
query | Required. |
limit | Max results (default 10). |
fetch_content | Inline main page text per hit (default true). |
time_range | day / week / month / year. |
web.fetch
| Param | Notes |
|---|---|
url | URL to open; omit to re-read the current page in-session. |
format | text / markdown / html. |
extract | Main article body only. |
prompt | Focus extraction on a topic. |
actions | Page interactions before reading. |
screenshot / live / profile / crawl | See tool schema on a running daemon. |
Search backends
| Backend | API key | Notes |
|---|---|---|
duckduckgo (default) | no | Free default. |
brave | yes | Production-quality. |
tavily | yes | Agent-oriented snippets. |
searxng | instance URL | Self-hosted meta-search. |
google | API key + CX | Highest quality, paid. |
Outbound fetches are SSRF-guarded (private-network blocklist). See Production → SSRF.
Cross-references
- Module reference: web
- Interactive browser: browser
- Built-in short names: Built-in tools