A collection of Open WebUI tool plugins for web search, document retrieval, and RAG capabilities
Three tools with adequate naming and reasonable descriptions, but inconsistent schema completeness and limited error handling guidance. All tools have action-verb names and are READ_ONLY. Parameter schemas are present but sparse on constraints. Output schemas are not documented. Tool descriptions range from adequate (59 chars) to strong (184 chars), meeting the 10-1024 character baseline, but lack actionable context like when to use each tool versus alternatives.
Retrieves documents from a Qdrant vector store. Supports hybrid search for agentic knowledge base RAG.
Search the web in real time using Linkup. Use this tool whenever the user needs trusted facts, news, or source-backed information. Returns comprehensive content from the most relevant sources.
Search the web using Perplexity AI
Output schemas not documented. LLMs cannot infer what fields to expect from perplexity_web_search (content? citations? urls?), document_search (document text? metadata? scores?), or linkup_web_search (snippet? full page? sources?). This forces LLMs to guess structure or waste tokens asking for clarification.
perplexity_web_search description lacks context about when to use it vs linkup_web_search. Both are web search tools. LLMs cannot distinguish 'Search the web using Perplexity AI' from 'Search the web in real time using Linkup' without additional guidance (e.g., 'use for general knowledge; linkup for recent/real-time info'). This causes unnecessary tool selection reasoning.
linkup_web_search parameters from_date, to_date, exclude_domains, and include_domains lack format/constraint documentation. LLMs will guess date format (ISO 8601? MM/DD/YYYY?). Domain format is ambiguous (exact match? regex? wildcard?). No guidance on 'how many domains can be excluded?'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 55 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 37 | - | v1 |
document_search has 4 parameters, but no guidance on parameter relationships. Is 'reranker' optional only if 'query' is simple? Does 'file_name' filter results before or after reranking? Does top_k apply before or after reranking? Undocumented dependencies cause silent misuse.
No error handling guidance in any tool description. If perplexity_web_search fails (API down, quota exceeded, invalid key), what should the LLM do? Retry? Fall back to linkup_web_search? Ask the user? Code shows a 30-second timeout and HTTP error handling, but LLM-facing description offers no recovery guidance.
document_search has no limit on top_k in the description (just '1-20'). While the schema shows max=20, LLMs do not parse JSON Schema constraints, they rely on description text. State 'top_k: Number of results (1-20, default 10)' explicitly in the description.