{% extends "admin/_layout.html" %} {% from "_macros.html" import icon %} {% set section = "search" %} {% block title %}Web search - {{ brand.name }}{% endblock %} {% block heading %}Web search{% endblock %} {% block admin_content %}

{{ t("Lets a model look things up while it answers. It is offered as a tool the model chooses to call, so nothing changes for a question that does not need it — and it is only offered to models marked as supporting tools, because sending a tool list to one that does not fails the whole request.") }}

{% if saved %}
{{ icon("check", "icon--sm") }} {{ t("Search settings saved.") }}
{% endif %}

Web search {% if values.enabled %}{{ t("on") }} {% else %}{{ t("off") }}{% endif %}

Who may use it is a permission — tools.web_search under Groups & permissions.

{{ t("Provider") }}

{% for provider in providers %} {% endfor %}

{{ t("A ceiling — a model asking for more gets this.") }}

wt-wt is no region at all. uk-en, de-de and so on bias results to a country.

{{ t("SearXNG") }}

{{ t("Only used when SearXNG is the chosen provider. Your own instance, so no third party sees the queries.") }}

A stock SearXNG refuses JSON. Add - json under search.formats in its settings.yml and restart it, or every search will fail with that message.

{{ t("Saving links") }}

Applies to the composer's {{ t("Link") }} option and to anything the model fetches: {{ brand.name }} retrieves the page and keeps its text.

Offers the fetch tool, so a model can read an address it found in a search result or was given. Turning this off leaves the composer's Link option working: that one is somebody's instruction, while this is the model choosing an address — possibly one it read in a page it had just fetched.

Off by default, and worth leaving off. This server can reach your router, your other services and {{ brand.name }} itself; the address to fetch can come from a model, which can be talked into things by a web page it just read. Turn this on only if you actually want to archive pages from your own network.

{{ t("Firecrawl") }}

{{ t("Change only for a self-hosted Firecrawl.") }}

{{ t("Encrypted at rest. Clear the field to remove it.") }}

{{ t("Try it") }}

Runs a real search against the {{ t("saved") }} settings, which is what a chat would do. Save first if you have just changed something.

{% endblock %}