{"id":2454,"date":"2026-05-30T11:34:16","date_gmt":"2026-05-30T11:34:16","guid":{"rendered":"https:\/\/ai-box.eu\/?p=2454"},"modified":"2026-05-30T11:33:58","modified_gmt":"2026-05-30T11:33:58","slug":"fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip","status":"publish","type":"post","link":"https:\/\/ai-box.eu\/en\/ai-pipeline-en\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\/2454\/","title":{"rendered":"Fully Local Web Search &#8211; How I Wean My Hermes Agent off the Cloud Drip"},"content":{"rendered":"<p>My <strong>Hermes Agent<\/strong> has been able to search the web and extract page content for a while now. Until recently I handled that with <strong>Tavily<\/strong> for search and a self-hosted <strong>Firecrawl<\/strong> for extraction. The setup worked flawlessly, right up until my Hermes Agent had burned through the free 1,000 API requests to Tavily. And one thing really started to bother me: every web search ran through Tavily and their external API service, with a free-tier limit of those 1,000 search queries per month. For an agent that likes to research autonomously and runs in cron jobs, that&#8217;s a number you have to keep in the back of your mind, and one you hit when there are still plenty of days left in the month.<\/p>\n<p>So I moved the search to where most things already run anyway on my side: <strong>onto my own application server<\/strong>. What I&#8217;m now using, as of recently, is <strong>SearXNG<\/strong>. In this post I&#8217;ll show you how easy it is to set up, and why the combination ends up bringing together the best of three worlds.<\/p>\n<p>I followed the official guide for my Ubuntu system here.<\/p>\n<p>URL: <a href=\"https:\/\/hermes-agent.nousresearch.com\/docs\/user-guide\/features\/web-search#searxng-free-self-hosted\" target=\"_blank\" rel=\"noopener\">searxng-free-self-hosted<\/a><\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/ai-box.eu\/en\/ai-pipeline-en\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\/2454\/#Why_self-host_in_the_first_place\" >Why self-host in the first place?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/ai-box.eu\/en\/ai-pipeline-en\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\/2454\/#SearXNG_in_five_minutes_with_Docker\" >SearXNG in five minutes with Docker<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/ai-box.eu\/en\/ai-pipeline-en\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\/2454\/#Hermes_Agent_configuring_search_and_extraction_separately\" >Hermes Agent: configuring search and extraction separately<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/ai-box.eu\/en\/ai-pipeline-en\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\/2454\/#The_last_cloud_path_summarizing_locally_with_Ollama\" >The last cloud path: summarizing locally with Ollama<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/ai-box.eu\/en\/ai-pipeline-en\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\/2454\/#Conclusion\" >Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"Why_self-host_in_the_first_place\"><\/span>Why self-host in the first place?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Anyone who knows my posts here on ai-box.eu can already guess the answer: <strong>digital sovereignty<\/strong>. My inference setup with the two RTX A6000s runs locally, the models live with me, and the power comes in good part from my own roof. So it feels inconsistent to delegate, of all things, the web search, the part that reveals the most about my interests and research topics, to an external service.<\/p>\n<p><strong>SearXNG<\/strong> is the ideal solution here. It&#8217;s a <strong>privacy-friendly, open-source metasearch engine<\/strong> that aggregates results from over 70 search engines. No trackers, no profiling, no API key and, above all: <strong>no rate limit<\/strong> when you host it yourself.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"SearXNG_in_five_minutes_with_Docker\"><\/span>SearXNG in five minutes with Docker<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The setup is pleasantly straightforward. I created a working directory and wrote a <code>docker-compose.yml<\/code>.<\/p>\n<p><strong>Command:<\/strong> <code>mkdir -p ~\/searxng\/searxng<\/code><\/p>\n<p><strong>Command:<\/strong> <code>cd ~\/searxng\/searxng<\/code><\/p>\n<p><strong>Command:<\/strong> <code>nano docker-compose.yml<\/code><\/p>\n<p>Now paste the following configuration into the <code>docker-compose.yml<\/code> file.<\/p>\n<pre class=\"wp-block-code\"><code>services:\r\n  searxng:\r\n    image: searxng\/searxng:latest\r\n    container_name: searxng\r\n    ports:\r\n      - \"8888:8080\"\r\n    volumes:\r\n      - .\/searxng:\/etc\/searxng:rw\r\n    environment:\r\n      - SEARXNG_BASE_URL=http:\/\/localhost:8888\/\r\n    restart: unless-stopped<\/code><\/pre>\n<p>You save the <code>docker-compose.yml<\/code> file with Ctrl + x followed by a y.<\/p>\n<p>A <code>docker compose up -d<\/code> later, the container was running. So far, so easy.<\/p>\n<p><strong>Command:<\/strong> <code>docker compose up -d<\/code><\/p>\n<p>The <strong>one pitfall<\/strong> you need to know about: by default SearXNG only serves HTML. But the Hermes Agent needs the <strong>JSON format<\/strong>. You have to enable that first. To do so, I copied the generated configuration out of the container:<\/p>\n<p><strong>Command:<\/strong> <code>docker cp searxng:\/etc\/searxng\/settings.yml ~\/searxng\/searxng\/settings.yml<\/code><\/p>\n<p>Now open the file:<\/p>\n<p><strong>Command:<\/strong> nano <code>~\/searxng\/searxng\/settings.yml<\/code><\/p>\n<p>In the <code>settings.yml<\/code> you&#8217;ll then find the <code>formats<\/code> block (around line 84 for me). There you simply add <code>json<\/code>. It should then look like the example below.<\/p>\n<pre class=\"wp-block-code\"><code>formats:\r\n  - html\r\n  - json<\/code><\/pre>\n<p>Save the change in the file with Ctrl + x followed by a y.<\/p>\n<p>After that, copy the file back into the container and restart it:<\/p>\n<p><strong>Command: <\/strong><code>docker cp ~\/searxng\/searxng\/settings.yml searxng:\/etc\/searxng\/settings.yml<\/code><\/p>\n<p><strong>Command: <\/strong><code>docker restart searxng<\/code><\/p>\n<p>To check that everything works, you run a quick curl test:<\/p>\n<pre class=\"wp-block-code\"><code>curl -s \"http:\/\/localhost:8888\/search?q=test&amp;format=json\" | python3 -c \\\r\n  \"import sys,json; d=json.load(sys.stdin); print(f'{len(d[\\\"results\\\"])} results')\"<\/code><\/pre>\n<p>For me, <strong>21 results<\/strong> came back right away. If you see a <code>403 Forbidden<\/code> instead, the JSON format isn&#8217;t active yet. In that case it can help to double-check the indentation in the <code>settings.yml<\/code>.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Hermes_Agent_configuring_search_and_extraction_separately\"><\/span>Hermes Agent: configuring search and extraction separately<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Now comes the genuinely elegant part. Hermes lets you use different providers for <strong>search<\/strong> and <strong>extraction<\/strong>. That&#8217;s exactly what I need: SearXNG can <strong>only search<\/strong>, not extract. So extraction stays with my self-hosted Firecrawl.<\/p>\n<p>In the <code>~\/.hermes\/.env<\/code> I added the SearXNG URL. The Tavily key already in use and the Firecrawl base URL were already in there:<\/p>\n<pre class=\"wp-block-code\"><code>SEARXNG_URL=http:\/\/localhost:8888\r\nFIRECRAWL_API_URL=http:\/\/localhost:3002\r\nTAVILY_API_KEY=tvly-...<\/code><\/pre>\n<p>And in the <code>~\/.hermes\/config.yaml<\/code> I switched over the <code>web<\/code> section:<\/p>\n<pre class=\"wp-block-code\"><code>web:\r\n  backend: ''\r\n  search_backend: 'searxng'\r\n  extract_backend: 'firecrawl'<\/code><\/pre>\n<p>That was it. From now on, <strong>every web search runs through my local SearXNG<\/strong>, and the <strong>extraction of page content through my local Firecrawl<\/strong>. Both on my own server, without an external API call.<\/p>\n<p>Important to know: Hermes has <strong>no automatic fallback<\/strong> between two search backends. But Tavily doesn&#8217;t disappear because of that. The API key stays in the <code>.env<\/code> as a reserve. If I do happen to need Tavily&#8217;s AI-optimized search for a particular task, I just switch <code>search_backend<\/code> over briefly.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"The_last_cloud_path_summarizing_locally_with_Ollama\"><\/span>The last cloud path: summarizing locally with Ollama<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>While reading through the docs, I noticed a mechanism that rounds off the cloud-free approach perfectly. Long pages, forum threads, docs sites, news articles with endless comments, are run by Hermes through an <strong>auxiliary model<\/strong> before being handed to the agent, compressing the content. This keeps the context window clean and the costs low.<\/p>\n<p>By default this helper model uses the same model as the main chat. And this is exactly where it gets interesting for my setup: this task doesn&#8217;t need to go to the cloud at all. I simply let a <strong>locally running Ollama model<\/strong> handle it. In the <code>config.yaml<\/code> it looks like this:<\/p>\n<pre class=\"wp-block-code\"><code>auxiliary:\r\n  web_extract:\r\n    provider: dual-a6000          # my local Ollama provider\r\n    model: qwen3.6:27b\r\n    timeout: 360<\/code><\/pre>\n<p>I&#8217;m using <strong>qwen3.6:27b<\/strong> here, because the model already runs as a workhorse on my side and, at 17 GB, fits easily on the A6000. If you want it even snappier, go for a smaller model like <code>mistral-small3.2:24b<\/code>. For simply summarizing long pages, that&#8217;s more than enough. With that, the last remaining external path is closed: <strong>search, extraction, and summarization now run entirely on my own hardware<\/strong>.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>With manageable effort, I&#8217;ve brought my Hermes Agent&#8217;s web search from an external service onto my own server. The result is a <strong>clean three-layer architecture<\/strong>: SearXNG for search, Firecrawl for extraction, a local Ollama model for summarization. Everything now runs locally, and I always thought this would be far more difficult. Tavily I only keep as an optional reserve.<\/p>\n<p>What I like best about it: there&#8217;s <strong>no more search limit<\/strong> I have to keep in the back of my mind, my research topics don&#8217;t leave my own server, and the configuration is so transparent that I always know which request goes where. This is exactly how I picture <strong>sovereign AI<\/strong>. I don&#8217;t want sovereignty understood as a dogma, but as a practical architecture in which every external building block is a deliberate decision and I have full control.<\/p>\n<p>If you run Hermes in a similar way: the conversion is a matter of fifteen minutes. And the good feeling of having your search back in your own hands lasts a lot longer.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>My Hermes Agent has been able to search the web and extract page content for a while now. Until recently I handled that with Tavily for search and a self-hosted Firecrawl for extraction. The setup worked flawlessly, right up until my Hermes Agent had burned through the free 1,000 API requests to Tavily. And one [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2456,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[32,162,50],"tags":[1468,1464,1463,1393,1459,1031,1461,1418,1465,1467,1460,1469,1458,1462,1466,1471,1470],"class_list":["post-2454","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-pipeline-en","category-large-language-models-en","category-top-story-en","tag-ai-agent-research","tag-digital-sovereignty","tag-enable-searxng-json-api","tag-firecrawl-self-hosted","tag-hermes-agent-web-search","tag-local-ai","tag-local-web-search","tag-lokale-ki","tag-ollama-auxiliary-model","tag-privacy-metasearch-engine","tag-searxng-docker-setup","tag-searxng-hermes-agent","tag-self-host-searxng","tag-self-hosted-firecrawl","tag-self-hosted-search-engine","tag-tavily-alternative","tag-web_search-web_extract","et-has-post-format-content","et_post_format-et-post-format-standard"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Fully Local Web Search - How I Wean My Hermes Agent off the Cloud Drip - Exploring the Future: Inside the AI Box<\/title>\n<meta name=\"description\" content=\"How I self-host my Hermes Agent&#039;s web search with SearXNG - fully local, no rate limit, paired with Firecrawl and Ollama for true digital sovereignty.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ai-box.eu\/en\/ai-pipeline-en\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\/2454\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Fully Local Web Search - How I Wean My Hermes Agent off the Cloud Drip - Exploring the Future: Inside the AI Box\" \/>\n<meta property=\"og:description\" content=\"How I self-host my Hermes Agent&#039;s web search with SearXNG - fully local, no rate limit, paired with Firecrawl and Ollama for true digital sovereignty.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ai-box.eu\/en\/ai-pipeline-en\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\/2454\/\" \/>\n<meta property=\"og:site_name\" content=\"Exploring the Future: Inside the AI Box\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-30T11:34:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ai-box.eu\/wp-content\/uploads\/2026\/05\/Local_SearXNG_service-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1928\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Maker\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Ingmar_Stapel\" \/>\n<meta name=\"twitter:site\" content=\"@Ingmar_Stapel\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Maker\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/ai-box.eu\\\/en\\\/ai-pipeline-en\\\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\\\/2454\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ai-box.eu\\\/en\\\/ai-pipeline-en\\\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\\\/2454\\\/\"},\"author\":{\"name\":\"Maker\",\"@id\":\"https:\\\/\\\/ai-box.eu\\\/en\\\/#\\\/schema\\\/person\\\/cc91d08618b3feeef6926591b465eab1\"},\"headline\":\"Fully Local Web Search &#8211; How I Wean My Hermes Agent off the Cloud Drip\",\"datePublished\":\"2026-05-30T11:34:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/ai-box.eu\\\/en\\\/ai-pipeline-en\\\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\\\/2454\\\/\"},\"wordCount\":1026,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/ai-box.eu\\\/en\\\/ai-pipeline-en\\\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\\\/2454\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/ai-box.eu\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/Local_SearXNG_service-scaled.jpg\",\"keywords\":[\"AI agent research\",\"digital sovereignty\",\"enable SearXNG JSON API\",\"Firecrawl self-hosted\",\"Hermes Agent web search\",\"local AI\",\"local web search\",\"lokale KI\",\"Ollama auxiliary model\",\"privacy metasearch engine\",\"SearXNG Docker setup\",\"SearXNG Hermes Agent\",\"self-host SearXNG\",\"self-hosted Firecrawl\",\"self-hosted search engine\",\"Tavily Alternative\",\"web_search web_extract\"],\"articleSection\":[\"AI Pipeline\",\"Large Language Models\",\"Top story\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/ai-box.eu\\\/en\\\/ai-pipeline-en\\\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\\\/2454\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/ai-box.eu\\\/en\\\/ai-pipeline-en\\\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\\\/2454\\\/\",\"url\":\"https:\\\/\\\/ai-box.eu\\\/en\\\/ai-pipeline-en\\\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\\\/2454\\\/\",\"name\":\"Fully Local Web Search - How I Wean My Hermes Agent off the Cloud Drip - Exploring the Future: Inside the AI Box\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ai-box.eu\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/ai-box.eu\\\/en\\\/ai-pipeline-en\\\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\\\/2454\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/ai-box.eu\\\/en\\\/ai-pipeline-en\\\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\\\/2454\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/ai-box.eu\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/Local_SearXNG_service-scaled.jpg\",\"datePublished\":\"2026-05-30T11:34:16+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/ai-box.eu\\\/en\\\/#\\\/schema\\\/person\\\/cc91d08618b3feeef6926591b465eab1\"},\"description\":\"How I self-host my Hermes Agent's web search with SearXNG - fully local, no rate limit, paired with Firecrawl and Ollama for true digital sovereignty.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/ai-box.eu\\\/en\\\/ai-pipeline-en\\\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\\\/2454\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/ai-box.eu\\\/en\\\/ai-pipeline-en\\\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\\\/2454\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/ai-box.eu\\\/en\\\/ai-pipeline-en\\\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\\\/2454\\\/#primaryimage\",\"url\":\"https:\\\/\\\/ai-box.eu\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/Local_SearXNG_service-scaled.jpg\",\"contentUrl\":\"https:\\\/\\\/ai-box.eu\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/Local_SearXNG_service-scaled.jpg\",\"width\":2560,\"height\":1928,\"caption\":\"Local SearXNG service\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/ai-box.eu\\\/en\\\/ai-pipeline-en\\\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\\\/2454\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Start\",\"item\":\"https:\\\/\\\/ai-box.eu\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Fully Local Web Search &#8211; How I Wean My Hermes Agent off the Cloud Drip\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/ai-box.eu\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/ai-box.eu\\\/en\\\/\",\"name\":\"Exploring the Future: Inside the AI Box\",\"description\":\"Inside the AI Box, we share our experiences and discoveries in the world of artificial intelligence.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/ai-box.eu\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/ai-box.eu\\\/en\\\/#\\\/schema\\\/person\\\/cc91d08618b3feeef6926591b465eab1\",\"name\":\"Maker\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e96b93fc3c7e50c1f21c5c6b1f146dc4867936141360830b328947b32cacf93a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e96b93fc3c7e50c1f21c5c6b1f146dc4867936141360830b328947b32cacf93a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e96b93fc3c7e50c1f21c5c6b1f146dc4867936141360830b328947b32cacf93a?s=96&d=mm&r=g\",\"caption\":\"Maker\"},\"description\":\"I live in Bavaria near Munich. In my head I always have many topics and try out especially in the field of Internet new media much in my spare time. I write on the blog because it makes me fun to report about the things that inspire me. I am happy about every comment, about suggestion and very about questions.\",\"sameAs\":[\"https:\\\/\\\/ai-box.eu\"],\"url\":\"https:\\\/\\\/ai-box.eu\\\/en\\\/author\\\/ingmars\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Fully Local Web Search - How I Wean My Hermes Agent off the Cloud Drip - Exploring the Future: Inside the AI Box","description":"How I self-host my Hermes Agent's web search with SearXNG - fully local, no rate limit, paired with Firecrawl and Ollama for true digital sovereignty.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/ai-box.eu\/en\/ai-pipeline-en\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\/2454\/","og_locale":"en_US","og_type":"article","og_title":"Fully Local Web Search - How I Wean My Hermes Agent off the Cloud Drip - Exploring the Future: Inside the AI Box","og_description":"How I self-host my Hermes Agent's web search with SearXNG - fully local, no rate limit, paired with Firecrawl and Ollama for true digital sovereignty.","og_url":"https:\/\/ai-box.eu\/en\/ai-pipeline-en\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\/2454\/","og_site_name":"Exploring the Future: Inside the AI Box","article_published_time":"2026-05-30T11:34:16+00:00","og_image":[{"width":2560,"height":1928,"url":"https:\/\/ai-box.eu\/wp-content\/uploads\/2026\/05\/Local_SearXNG_service-scaled.jpg","type":"image\/jpeg"}],"author":"Maker","twitter_card":"summary_large_image","twitter_creator":"@Ingmar_Stapel","twitter_site":"@Ingmar_Stapel","twitter_misc":{"Written by":"Maker","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ai-box.eu\/en\/ai-pipeline-en\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\/2454\/#article","isPartOf":{"@id":"https:\/\/ai-box.eu\/en\/ai-pipeline-en\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\/2454\/"},"author":{"name":"Maker","@id":"https:\/\/ai-box.eu\/en\/#\/schema\/person\/cc91d08618b3feeef6926591b465eab1"},"headline":"Fully Local Web Search &#8211; How I Wean My Hermes Agent off the Cloud Drip","datePublished":"2026-05-30T11:34:16+00:00","mainEntityOfPage":{"@id":"https:\/\/ai-box.eu\/en\/ai-pipeline-en\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\/2454\/"},"wordCount":1026,"commentCount":0,"image":{"@id":"https:\/\/ai-box.eu\/en\/ai-pipeline-en\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\/2454\/#primaryimage"},"thumbnailUrl":"https:\/\/ai-box.eu\/wp-content\/uploads\/2026\/05\/Local_SearXNG_service-scaled.jpg","keywords":["AI agent research","digital sovereignty","enable SearXNG JSON API","Firecrawl self-hosted","Hermes Agent web search","local AI","local web search","lokale KI","Ollama auxiliary model","privacy metasearch engine","SearXNG Docker setup","SearXNG Hermes Agent","self-host SearXNG","self-hosted Firecrawl","self-hosted search engine","Tavily Alternative","web_search web_extract"],"articleSection":["AI Pipeline","Large Language Models","Top story"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/ai-box.eu\/en\/ai-pipeline-en\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\/2454\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/ai-box.eu\/en\/ai-pipeline-en\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\/2454\/","url":"https:\/\/ai-box.eu\/en\/ai-pipeline-en\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\/2454\/","name":"Fully Local Web Search - How I Wean My Hermes Agent off the Cloud Drip - Exploring the Future: Inside the AI Box","isPartOf":{"@id":"https:\/\/ai-box.eu\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ai-box.eu\/en\/ai-pipeline-en\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\/2454\/#primaryimage"},"image":{"@id":"https:\/\/ai-box.eu\/en\/ai-pipeline-en\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\/2454\/#primaryimage"},"thumbnailUrl":"https:\/\/ai-box.eu\/wp-content\/uploads\/2026\/05\/Local_SearXNG_service-scaled.jpg","datePublished":"2026-05-30T11:34:16+00:00","author":{"@id":"https:\/\/ai-box.eu\/en\/#\/schema\/person\/cc91d08618b3feeef6926591b465eab1"},"description":"How I self-host my Hermes Agent's web search with SearXNG - fully local, no rate limit, paired with Firecrawl and Ollama for true digital sovereignty.","breadcrumb":{"@id":"https:\/\/ai-box.eu\/en\/ai-pipeline-en\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\/2454\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ai-box.eu\/en\/ai-pipeline-en\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\/2454\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ai-box.eu\/en\/ai-pipeline-en\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\/2454\/#primaryimage","url":"https:\/\/ai-box.eu\/wp-content\/uploads\/2026\/05\/Local_SearXNG_service-scaled.jpg","contentUrl":"https:\/\/ai-box.eu\/wp-content\/uploads\/2026\/05\/Local_SearXNG_service-scaled.jpg","width":2560,"height":1928,"caption":"Local SearXNG service"},{"@type":"BreadcrumbList","@id":"https:\/\/ai-box.eu\/en\/ai-pipeline-en\/fully-local-web-search-how-i-wean-my-hermes-agent-off-the-cloud-drip\/2454\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Start","item":"https:\/\/ai-box.eu\/en\/"},{"@type":"ListItem","position":2,"name":"Fully Local Web Search &#8211; How I Wean My Hermes Agent off the Cloud Drip"}]},{"@type":"WebSite","@id":"https:\/\/ai-box.eu\/en\/#website","url":"https:\/\/ai-box.eu\/en\/","name":"Exploring the Future: Inside the AI Box","description":"Inside the AI Box, we share our experiences and discoveries in the world of artificial intelligence.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ai-box.eu\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/ai-box.eu\/en\/#\/schema\/person\/cc91d08618b3feeef6926591b465eab1","name":"Maker","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/e96b93fc3c7e50c1f21c5c6b1f146dc4867936141360830b328947b32cacf93a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/e96b93fc3c7e50c1f21c5c6b1f146dc4867936141360830b328947b32cacf93a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e96b93fc3c7e50c1f21c5c6b1f146dc4867936141360830b328947b32cacf93a?s=96&d=mm&r=g","caption":"Maker"},"description":"I live in Bavaria near Munich. In my head I always have many topics and try out especially in the field of Internet new media much in my spare time. I write on the blog because it makes me fun to report about the things that inspire me. I am happy about every comment, about suggestion and very about questions.","sameAs":["https:\/\/ai-box.eu"],"url":"https:\/\/ai-box.eu\/en\/author\/ingmars\/"}]}},"_links":{"self":[{"href":"https:\/\/ai-box.eu\/en\/wp-json\/wp\/v2\/posts\/2454","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ai-box.eu\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ai-box.eu\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ai-box.eu\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ai-box.eu\/en\/wp-json\/wp\/v2\/comments?post=2454"}],"version-history":[{"count":1,"href":"https:\/\/ai-box.eu\/en\/wp-json\/wp\/v2\/posts\/2454\/revisions"}],"predecessor-version":[{"id":2455,"href":"https:\/\/ai-box.eu\/en\/wp-json\/wp\/v2\/posts\/2454\/revisions\/2455"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ai-box.eu\/en\/wp-json\/wp\/v2\/media\/2456"}],"wp:attachment":[{"href":"https:\/\/ai-box.eu\/en\/wp-json\/wp\/v2\/media?parent=2454"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ai-box.eu\/en\/wp-json\/wp\/v2\/categories?post=2454"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ai-box.eu\/en\/wp-json\/wp\/v2\/tags?post=2454"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}