Wigolo: A Local-First Web Tooling Layer That Lets AI Agents Search 18 Engines at Once

Wigolo local-first web tooling layer for AI agents demo animation

Wigolo: A Local-First Web Tooling Layer That Lets AI Agents Search 18 Engines at Once

When you use an AI agent, have you ever noticed this problem: a web page the agent already searched and read gets queried again, and the agent often starts the search from scratch. That is clearly unnecessary. The root cause is that most web tools treat the result as a one-shot answer. Links come back, the summary is consumed, and the next task pays the search, fetch, and read cost all over again.

Wigolo puts search, fetch, content extraction, and local indexing into a single process, so the pages an agent has already looked at serve not only the immediate question but also become the starting point for the next search.

Project Overview

Wigolo is a local-first web tooling layer built for AI agents. It plugs into large-model agents through MCP, and can also be called from the command line, a REST API, or TypeScript/Python SDKs.

When an agent issues a query, Wigolo runs multiple search adapters in parallel, then performs URL normalization, cross-engine deduplication, rank fusion, and on-device model reranking. What it returns is not just titles and URLs, but also original excerpts, citation numbers, source positions, and scoring signals.

Wigolo local-first web tooling layer for AI agents demo animation
Wigolo runs search, fetch, extraction, and local indexing inside one process for AI agents.

Key Features

Wigolo is not a free clone of a paid tool. It is a focused web layer purpose-built for your agents, exposing MCP and REST surfaces they can call directly, with the search and extraction quality that paid services charge for. What makes it different:

  • Built for agents. A single MCP call fans out parallel queries across multiple engines, something a serial host-tool loop cannot replicate. Every result is transparently scored per item, and the output is budget-aware.
  • Honest output. Stale caches, failed fetches, degraded backends, and truncation are all surfaced explicitly in the results. When a bot-protected page cannot be read, you get a failure labeled blocked_by_challenge instead of the challenge shell being returned as content.
  • $0 per query, free re-queries. The default search talks to public engines through direct adapters; the reranker and embeddings run on-device. Every response is cached, so asking again is instant and zero-cost.
  • Private by default. Cache, embeddings, models, and configuration all live under ~/.wigolo/. Nothing reaches a third party unless you explicitly opt into LLM synthesis.

Below is an anatomy of a real result. It includes failed engines and weak results, because those are part of the answer too.

Wigolo multi-engine search result example showing failed engines and weak results
A real Wigolo result showing failed engines and weak results alongside the useful ones.
Wigolo honest output with blocked_by_challenge failure labeling
Honest output: bot-protected pages return a labeled blocked_by_challenge failure rather than fake content.

Ten Tools, One Continuous Action

Wigolo exposes ten tools to the outside, as shown below:

Wigolo ten MCP and REST tools overview diagram
The ten Wigolo tools: search, fetch, crawl, extract, cache, find_similar, diff, watch, research, and agent.

search finds candidate sources, fetch reads a single page, crawl expands along a site, and extract turns tables, metadata, or a specified schema into structured results. Once content is local, cache, find_similar, diff, and watch handle reuse and tracking.

The remaining research and agent tools chain the earlier actions together: they break down the question, expand queries, fetch sources, then output a citation-backed research result or structured material. When they need a full answer generated, they can connect to major models or local Ollama; even without an LLM configured, they can hand the evidence to the host agent to organize.

Quick Start

The most direct way to use Wigolo today is npm, requiring Node.js 20 or later. To connect it to Codex, just run the init command. After initialization, you can skip the agent and observe a search result directly in the terminal. What is worth watching is not whether it returns three links, but whether the result carries clear excerpts, sources, scores, and failure states. Running the same question again lets you feel directly whether the local cache fits your working rhythm.

The first full preparation downloads a browser engine and local models; the official recommendation is to reserve about 1.5 GB of space. Note that “local-first” does not mean fully offline: search still reaches public engines and fetch still connects to target sites; sites that depend on IP reputation or strict verification may also be unreadable.

Wigolo quick start with npm and Codex integration terminal
Wigolo quick start: connect via npm and MCP to Codex or any agent.

Project Repository

GitHub: https://github.com/KnockOutEZ/wigolo

By peter_lzh

Author of in-depth reviews of AI open-source tools; focuses on identifying high-value open-source projects and providing practical testing results as well as guidance for making choices.

Leave a Reply

Your email address will not be published. Required fields are marked *