91 lines
2.1 KiB
Markdown
91 lines
2.1 KiB
Markdown
# How to Configure Web Search for a nanobot AI Agent
|
|
|
|
nanobot includes built-in web search and web fetch tools. Search uses
|
|
DuckDuckGo by default and can be configured for API-backed or self-hosted
|
|
providers.
|
|
|
|
## What you will build
|
|
|
|
- web tools enabled in nanobot
|
|
- one search provider selected in `config.json`
|
|
- optional web fetch settings for page reading
|
|
|
|
## When to use this
|
|
|
|
Configure web search when the agent needs current information, public web
|
|
research, source discovery, or page fetching during a task.
|
|
|
|
## Install
|
|
|
|
```bash
|
|
python -m pip install nanobot-ai
|
|
nanobot onboard --wizard
|
|
nanobot agent -m "Hello!"
|
|
```
|
|
|
|
Web tools are enabled by default. Configure them only when you want a specific
|
|
provider, API key, proxy, fetch behavior, or SSRF allowlist.
|
|
|
|
## Minimal working example
|
|
|
|
Use the default search provider:
|
|
|
|
```json
|
|
{
|
|
"tools": {
|
|
"web": {
|
|
"enable": true,
|
|
"search": {
|
|
"provider": "duckduckgo"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
Or use an API-backed provider:
|
|
|
|
```json
|
|
{
|
|
"tools": {
|
|
"web": {
|
|
"search": {
|
|
"provider": "brave",
|
|
"apiKey": "${BRAVE_API_KEY}"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
Ask a question that requires current information and inspect the tool activity
|
|
in the WebUI or logs.
|
|
|
|
## Production notes
|
|
|
|
- Keep API keys in environment variables.
|
|
- Set `maxResults` when you need fewer or more search results per query.
|
|
- Set `tools.web.proxy` only to a proxy you trust.
|
|
- Use `fetch.useJinaReader: false` if you need local page conversion.
|
|
|
|
## Security notes
|
|
|
|
- Web fetch and HTTP MCP share an SSRF guard.
|
|
- Private, loopback, link-local, and cloud metadata addresses are blocked by
|
|
default.
|
|
- Add `tools.ssrfWhitelist` only for narrow trusted CIDRs.
|
|
- Do not give public chat users unrestricted web and shell access without
|
|
review.
|
|
|
|
## Troubleshooting
|
|
|
|
- If search returns no results, switch provider or check the provider API key.
|
|
- If fetch is blocked, inspect the target URL and SSRF whitelist.
|
|
- If a proxy changes network behavior, verify `NO_PROXY` and proxy settings.
|
|
|
|
## Related nanobot docs
|
|
|
|
- [Configuration: Web Tools](../configuration.md#web-tools)
|
|
- [Security](../configuration.md#security)
|
|
- [WebUI](../webui.md)
|