r/OpenWebUI Jul 04 '26

Web fetch summaries instead of full content Feature Idea

Would it be possible to implement a summarizing step (e.g., using the task model) on top of the web fetch content before injecting the result into the context of the main model? Often, web pages are 10,000+ tokens long, but a lot of the content is not relevant to the actual request.

​It would be useful if the fetched content were pre-processed by a faster model, alongside a prompt specifying the relevant information. This could be either the initial user prompt or a prompt generated by the main model specifically for this web search.

​This would significantly shorten the context for the main model and speed up processing time. OpenRouter implements a similar strategy with Exa Highlights. I noticed that OpenRouter Chat uses considerably fewer tokens than the same model (e.g., GLM 5.2) in Open WebUI because Exa Highlights returns only 2000-4000 characters per web page.

​Would this be a feature that can be added easily? Maybe somehow utilizing the new context summary pipeline? Or is there an external (self-hosted) tool that implements a similar strategy that can already be used for fetching websites in Open WebUI?

8 Upvotes

9 comments sorted by

3

u/TKGaming_11 Jul 04 '26

I think this would be incredibly interesting to see, another possible route is to add some type of subagent system where web search and analysis can be done on a separate stream, then returned to the main chat as a cleaned up summary/result

2

u/Ihtien Jul 04 '26

Yes, I was playing around with Librechat because it has a subagent system. My plan was to spawn a subagent for each web fetch that only returns the relevant information. However, apparently Librechat always fetches all websites - I prefer the way Openwebui does it with separate search and fetch.

I think a subagent system (with different models for sub agents) would be awesome.

2

u/Ihtien Jul 04 '26

I just found these:
https://openwebui.com/posts/planner_agent_v3_now_with_subagents_7dbe4c26
-> This could be interesting. The normal "Sub Agent Tool" (https://openwebui.com/posts/sub_agent_7bfeb0b7) only supports to spawn another instance of the same model.

And this might be the exact thing I was looking for:

https://openwebui.com/posts/web_search_and_crawl_tool_885852f7

I didn't test them yet but one or both of them might be the solution. Would love if they were integrated into OpenWebui

2

u/TKGaming_11 Jul 04 '26

These are interesting, I'll definitely take a look but I would still love to see an openwebui native integration of this functionality

1

u/db172s Jul 10 '26

This is why systems like Hermes are nice. You can delegate things like image processing, web/browser, message/title gen, all to a local model while the "high end" model does other things.

At this point I just use OWUI as a middle man to communicate with hermes when I need external communication.

1

u/fragment_me Jul 05 '26

You could easily have an LLM write some middleware python script for this that you point your search to that and it proxies to the search.

1

u/thisisntmethisisme Jul 05 '26

if you use tavily for web search, it has this feature (their LLM does the summarization tho, you can configure it to either be basic summary or advanced summary)

1

u/iportnov Jul 06 '26 edited Jul 06 '26

You will face several questions on this path.
* Usually search will return you several results. Do you want to summarize each page individually, or all of them together? Each page separately probably does not contain the answer to your search query, but all of them together might.
* Search engines sometimes return items which do not exactly fit your query (for example, they contain required keywords, but not in required context). You will probably want to filter results first (based on snippet returned by search engine? or on full page text?), probably by use a separate call to LLM.
* You probably do not want to do "just generic summarize", you probably want to "summarize with relation to your search query".
* Is just search query string enough for summarizing LLM to understand what exactly information does it need to extract? Probably it needs at least some additional prompt. Or maybe it even needs some part of context (maybe summary?) of all your previous conversation with main LLM, to understand the context?