# Open WebUI Tool Search: как искать инструмент и проверить совместимость

Источник: https://modelium.tech/zhurnal/open-webui-tool-search/

Tool Search помогает не передавать все подробные описания инструментов модели сразу: она сначала запрашивает нужное через search_tools. Функция экспериментальная и требует совместимого подключения модели. На сервере llama.cpp отложенные инструменты недоступны модели; оставьте нужные инструменты постоянно загруженными или отключите поиск.

Когда к чату Open WebUI подключено много инструментов, их описания занимают место в запросе к модели. **Tool Search** оставляет краткий перечень и позволяет модели запросить подробности только нужного инструмента через `search_tools`. Это не отдельный поиск в интернете и не способ подключить отсутствующий инструмент. Функция появилась в релизе v0.12.0 как экспериментальная. [s1](#src-s1) [s2](#src-s2)

**Инструкция по авторской документации, сверенной 14 октября 2026 года.** Понадобятся права администратора и работающий Open WebUI. В нём должен быть включён Native Mode — режим, где модель сама вызывает инструменты, — и выбрана модель с такой возможностью и совместимым подключением. Редакция не запускала интерфейс и модель; ниже — тестовый сценарий, а не протокол успешного запуска. Это инженерная настройка, не домашний рецепт установки модели. Не используйте реальные документы или изменяющие инструменты для первого теста. [s1](#src-s1)

## Когда включать Tool Search?

Включайте его **на тестовой установке**, когда длинные описания многих уже разрешённых инструментов перегружают запрос. Если вы администратор, откройте **Settings → Admin → Interface → Chat** и включите **Tool Search**. Он выключен по умолчанию, работает в Native Mode и действует для всех моделей и пользователей установки; поэтому не меняйте рабочую конфигурацию без согласования. Настройка **Deferral Threshold (characters)** определяет, насколько длинным должно быть описание, чтобы его отложить; стандартное значение — 400 символов. Для ограниченного теста можно временно поставить `0`, чтобы отложить все инструменты, и затем вернуть прежнее значение. [s1](#src-s1)

**Defer Built-in Tools** по умолчанию включён; **Always Loaded Tools** позволяет сохранить выбранные инструменты в полном списке. Оставьте настройки приложения без других изменений. Отложенный инструмент сначала показывается модели кратко, а `search_tools` по имени или ключевым словам раскрывает его описание. Сам поиск ещё **не выполняет** найденный инструмент. [s1](#src-s1)

## Как проверить два отдельных действия?

Откройте новый тестовый чат с моделью в **Native Mode**. Включите для неё категорию **Knowledge Base**, но не прикрепляйте базу знаний к модели, папке или чату: в этом случае документация перечисляет безопасный инструмент чтения `list_knowledge_bases`. Попросите: «Найди инструмент, который перечисляет доступные мне базы знаний. Затем вызови именно его; ничего не изменяй». [s1](#src-s1)

Откройте цепочку вызовов в чате. **Критерий успеха:** в ней виден вызов `search_tools` с запросом о базах знаний, а *после него* вызов `list_knowledge_bases` и его фактический ответ — список или пустой список, если баз нет. Это ожидаемый критерий для вашей проверки, **не результат, полученный Modelium**. Если виден только готовый текстовый ответ, это не доказательство двух вызовов: проверьте, что инструмент доступен в этом чате и что модель умеет вызывать инструменты. [s1](#src-s1)

Если включены экспериментальные **Tool Permissions → Ask for approval**, поиск и сам вызов могут запросить два отдельных разрешения. Это не универсальная защита: по документации запланированные автоматизации и ответы в каналах выполняются с полным доступом независимо от этих настроек. Для проверок прав используйте только собственный учебный чат и безопасный инструмент чтения. [s1](#src-s1)

## Что делать при несовместимой локальной модели?

По авторской документации сервер модели (бэкенд) должен принимать вызов отложенного инструмента, которого нет в исходном полном списке. **llama.cpp server этого не допускает**; OpenAI API (Chat Completions и Responses) также ограничивает такие вызовы. Для прочих локальных подключений, включая Ollama, не считайте совместимость доказанной без *реальной трассы двух вызовов*. Если она не получается, впишите нужное имя инструмента в **Always Loaded Tools** или отключите Tool Search; тогда описание нужного инструмента передаётся сразу, без поиска. [s1](#src-s1)

Имена инструментов MCP (протокола подключения внешних инструментов) в списке для модели получают префикс ID сервера: шаблон вроде `github_*` удерживает все инструменты соответствующего сервера, но может вернуть большой объём описаний. Предпочтите один разрешённый тестовый инструмент и не расширяйте доступ модели ради самой функции поиска. Для нового инструмента сперва [подключите MCP в Open WebUI](/zhurnal/mcp-open-webui-lokalno/), затем повторите трассировку. [s1](#src-s1)

## Источники

1. [Open WebUI Docs — Tools, Tool Search and Backend Requirement](https://github.com/open-webui/docs/blob/f9ec4be3aec34d910c6bdd41252f0ec2443f7b4e/docs/features/extensibility/plugin/tools/index.mdx) — получено 2026-10-14
2. [Open WebUI v0.12.0 — release notes](https://github.com/open-webui/open-webui/releases/tag/v0.12.0) — получено 2026-10-14
