Tools
Ollama web search
OpenClaw supports Ollama Web Search as a bundled web_search provider,
returning titles, URLs, and snippets from Ollama's web-search API.
Local/self-hosted Ollama needs no API key by default; it requires a reachable
Ollama host plus ollama signin. Direct hosted search (no local Ollama) needs
baseUrl: "https://ollama.com" and a real OLLAMA_API_KEY.
Setup
If you already use Ollama for models, Ollama Web Search reuses the same configured host.
Local Ollama
Start Ollama
Make sure Ollama is installed and running.
Sign in
ollama signinChoose Ollama Web Search
openclaw configure --section webSelect Ollama Web Search as the provider.
Hosted Ollama
- Create an Ollama API key
and set
OLLAMA_API_KEYin the Gateway environment. - Set
models.providers.ollama.baseUrltohttps://ollama.com; see Config. This is the shared Ollama model-provider host, so it also sends your Ollama model traffic tohttps://ollama.cominstead of a local daemon. To move web search alone, setplugins.entries.ollama.config.webSearch.baseUrltohttps://ollama.comand leavemodels.providers.ollama.baseUrlpointing at your local host. - Run
openclaw configure --section weband select Ollama Web Search.
Hosted search does not require a local Ollama daemon or ollama signin.
Config
{ tools: { web: { search: { provider: "ollama", }, }, },}Optional host override, scoped to web search only:
{ plugins: { entries: { ollama: { config: { webSearch: { baseUrl: "http://ollama-host:11434", }, }, }, }, },}Or reuse the host already configured for the Ollama model provider:
{ models: { providers: { ollama: { baseUrl: "http://ollama-host:11434", }, }, },}models.providers.ollama.baseUrl is the canonical key; the web-search
provider also accepts baseURL there for compatibility with OpenAI SDK-style
config examples. If nothing is set, OpenClaw defaults to
http://127.0.0.1:11434.
Direct hosted Ollama Web Search (no local Ollama):
{ models: { providers: { ollama: { baseUrl: "https://ollama.com", apiKey: { source: "env", provider: "default", id: "OLLAMA_API_KEY" }, }, }, }, tools: { web: { search: { provider: "ollama", }, }, },}models.providers.ollama.apiKey takes either a literal key string or a
SecretRef object. A bare "OLLAMA_API_KEY" string would be sent as the key
itself, not read from the environment.
Auth and request routing
- No web-search-specific API key field exists; the provider reuses
models.providers.ollama.apiKey(or the matching env-backed provider auth) when the configured host is auth-protected. - Host resolution order:
plugins.entries.ollama.config.webSearch.baseUrl→models.providers.ollama.baseUrl(orbaseURL) →http://127.0.0.1:11434. - If the resolved host is
https://ollama.com, OpenClaw callshttps://ollama.com/api/web_searchdirectly with the API key as bearer auth. - Otherwise OpenClaw calls the local proxy endpoint
/api/experimental/web_searchfirst (which signs and forwards to Ollama Cloud), then falls back to/api/web_searchon the same host. If both fail andOLLAMA_API_KEYis set, it retries once againsthttps://ollama.com/api/web_searchwith that key — without sending it to the local host. - OpenClaw warns during setup if a local Ollama host is unreachable or not signed in, or if hosted search has no API key. These warnings do not block selecting the provider.
Related
- Web Search overview -- all providers and auto-detection
- Ollama -- Ollama model setup and cloud/local modes