Web Search & Fetch
The bundled web plugin gives Elowen read-only access to web search and public pages. WebSearch returns search results; WebFetch reads a page and either returns its Markdown or summarizes it. It is disabled by default in a fresh installation.
Enable search
An administrator can enable the plugin and configure it under Settings → Plugins → web. Fetching public pages works without a search key. Search requires a Tavily key or a Serper key. Secret keys are write-only; Elowen shows whether one is set, not its value.
The Search provider setting (provider) defaults to Automatic: it uses Tavily when its key is configured, otherwise Serper. Selecting one provider explicitly without its key reports that the key is missing. Without either key, WebSearch suggests using WebFetch with a known address. The keys are stored in the tavilyApiKey and serperApiKey secret fields. Administrators can set maxResults from 1 to 10; its default is 5.
Saving plugin settings or enabling or disabling the plugin requests an Elowen restart, announced as Restart.
Search the web
WebSearch accepts a query and optional allowed_domains or blocked_domains filters. Supply host names only, without a scheme, path, port or wildcard. Each filter also applies to subdomains; blocked hosts take precedence. Elowen checks the results against the filters even if the provider applies them too.
The plugin returns up to 10 results, 5 by default. Results are US-only when the provider supports a locale, and snippets are limited to 300 characters. It does not return provider-generated answer summaries. When answering from search results, include the relevant URLs in a Sources section.
Fetch a public page
WebFetch accepts a public http:// or https:// URL and an optional prompt. It upgrades HTTP to HTTPS, rejects embedded credentials and non-public network addresses, and follows up to three redirects that stay on the same origin. A redirect between a host with and without a leading www. also counts as the same host when the port matches. A redirect to another host is returned for you to fetch explicitly.
A response can be up to 10 MB; converted Markdown is limited to 100,000 characters, and a prompt to 10,000 characters. Oversized content is marked as truncated. Results are cached for 15 minutes, up to 64 pages and 8 MB total.
Fetched content is untrusted. By default, the plugin summarizes it through Elowen's host inference route. Pages from configured documentation hosts are returned as Markdown directly when they fit the 50 KB inline size limit; larger pages are summarized instead.
Documentation hosts
The advanced Documentation hosts setting lists sites whose pages can be returned without summarization. It accepts exact host names and *.example.com patterns for subdomains. This does not bypass URL, network-address or redirect checks. Only list sites that publish documentation, not sites with user-submitted content.
The shipped list includes documentation sites such as MDN, Python, Microsoft Learn, React, PostgreSQL, Docker and Kubernetes. Its full default list is:
platform.claude.com
code.claude.com
modelcontextprotocol.io
developer.mozilla.org
docs.python.org
doc.rust-lang.org
go.dev
www.typescriptlang.org
nodejs.org
bun.sh
docs.oracle.com
learn.microsoft.com
docs.swift.org
kotlinlang.org
ruby-doc.org
www.php.net
react.dev
reactnative.dev
vuejs.org
angular.dev
nextjs.org
expressjs.com
tailwindcss.com
docs.djangoproject.com
fastapi.tiangolo.com
pandas.pydata.org
numpy.org
*.palletsprojects.com
requests.readthedocs.io
developer.apple.com
developer.android.com
docs.flutter.dev
www.postgresql.org
dev.mysql.com
www.sqlite.org
redis.io
graphql.org
*.prisma.io
docs.aws.amazon.com
cloud.google.com
kubernetes.io
docs.docker.com
git-scm.com
nginx.org
See Settings → Plugins → web → Documentation hosts for the current list.
Permissions and limits
Both tools are read-only. The plugin uses outbound network access and the host inference route for summaries. They remain subject to account tool permissions; see Users & Access.
- Search needs a configured Tavily or Serper key.
- Fetch cannot access authenticated or private pages. For GitHub, use the command-line client when available.
- Fetch can fail when the host inference route is unavailable, except for suitably small pages from documentation hosts.