KnockOutEZ/wigolo

发布时间 2026-09-22 9 天前
来源 GitHub TypeScript
字数 3,761 字
查看原文

AI智能总结

wigolo 是一个为 AI 智能体提供统一 Web 入口的开源工具,覆盖搜索、抓取、爬取、抽取、缓存、相似查找、研究等能力,并支持自主采集循环。其核心工具无需任何 API 密钥,触及的数据全部停留在 ~/.wigolo/ 目录下。

wigolo — 你的智能体首选网络层


wigolo 为 AI 智能体提供统一的 Web 入口,覆盖:搜索、抓取、爬取、抽取、缓存、相似查找、研究,以及自主采集循环。它可以运行在智能体的任何部署位置——作为 MCP 服务器紧邻你的编程智能体,作为 REST/MCP 端点部署在你自托管智能体的机器上,或通过 SDK 嵌入到你自己的应用中。核心工具无需任何 API 密钥,触及的数据全部停留在 ~/.wigolo/ 目录下,且不会因为智能体的思考量而产生任何费用。

wigolo 演示 — Claude Code 通过 wigolo 实时回答网络问题,无需 API 密钥

快速开始

npx wigolo init                              # 在任意系统上安装本地引擎
npx wigolo init --agents=claude-code,cursor  # ……或一条命令同时安装并接入你日常使用的智能体

环境要求:Node ≥ 20,macOS、Linux 或 Windows 上需约 1.5 GB 可用磁盘空间。裸 init 命令会完成本地引擎的安装:下载浏览器引擎和端侧模型、运行健康检查、并逐一汇报各组件状态。添加 --agents 会在同一过程中接入指定的智能体,让你每天使用的编程智能体一条命令就绪。

  • 支持的智能体 — --agents 接受以下任意值(逗号分隔):claude-code · cursor · codex · gemini-cli · opencode · vscode · windsurf · zed · antigravity;wigolo 会写入相应的 MCP 配置,并在支持的情况下添加提示说明。
  • 其他任意接入方式 — 任何 MCP 客户端、智能体框架或自托管智能体,只需在其 MCP 配置中注册 npx -y wigolo 即可。安装指南 提供了每个客户端的完整配置块,以及 Docker、Homebrew 和单文件二进制等多种分发方式。
  • 更多接入进行中 — 支持列表持续扩展,欢迎提交 PR 加入你的智能体;详见 CONTRIBUTING.md。
  • 交互式安装 — --interactive 是纯文本流程;--wizard 是完整的终端 TUI(终端用户界面)。
  • 延迟下载 — --no-warmup 会等到首次使用时再下载。组件下载失败不会中断安装流程;init 会报告哪些组件未就绪,并给出具体的修复方法,安装过程仍会完成。

init 默认无人值守,因此可在脚本与 CI 中安全使用,任何安装问题都会在智能体首次调用之前,以逐组件报告的形式直接呈现。搜索、抓取、爬取、抽取、缓存、相似查找全部无需 API 密钥。 可随时检查运行状态:

npx wigolo doctor

如需彻底卸载,可运行 npx wigolo config --uninstall --yes。你也可以把 安装指南 直接粘贴给任意 AI 助手,让它代为完成安装;该指南被编写为自包含文档。

推荐 — 为 research 与 agent 配置免费密钥

搜索、抓取、爬取、抽取、缓存、相似查找完全免密钥。research、agent 以及 search format=answer 会调用大语言模型来撰写带引用的综合答案。如果没有配置大语言模型,它们会返回一份原始摘要与证据,供你的智能体自行组装。配置一个免费的 Gemini 密钥即可获得完整的答案输出:

export WIGOLO_LLM_PROVIDER=gemini
export GEMINI_API_KEY=<free-key>      # 在 aistudio.google.com/apikey 免费申请,免费额度完全够用

任意提供商均可使用(anthropic · openai · groq),或通过 WIGOLO_LLM_PROVIDER=ollama(或任意 OpenAI 兼容接口地址)保持完全本地、免密钥运行。在 shell 环境或智能体的 MCP env 块中设置即可。提供商、模型以及免密钥本地模型阶梯详见 配置指南。

智能体拿到的返回结果

每一条搜索结果都是智能体可直接使用的证据:附带与源文位置精确对齐的逐字摘录、可供引用的引用 ID,以及可供检查的评分(精简后的真实结构):

{
  "results": [{
    "title": "Logical replication - PostgreSQL docs",
    "url": "https://www.postgresql.org/docs/current/logical-replication.html",
    "excerpt": "Logical replication is a method of replicating data objects……",
    "citation_id": "src-1",
    "source_span": { "start": 1042, "end": 1305 },          // 字节级精确定位
    "evidence_score": { "final": 0.86, "semantic": 0.91, "lexical": 0.78, "engine_consensus": 3 }
  }],
  "citations": [{ "id": "src-1", "url": "……" }],
  "freshness_signal": { "published": "2026-05-12", "confidence": "high" }
}

较弱的命中会被 wigolo 自带的评分器标记为低质量。失败的引擎会被显式上报,过期缓存也会被标注,让智能体始终清楚自己依据的是什么。各工具的完整响应契约见 工具参考。

工具

工具 功能说明
🔎 search 多引擎网页搜索(18 个直连适配器),支持排名融合、机器学习重排,以及逐结果可解释评分。传入查询数组可并行获取更广覆盖范围。支持按域名与时间范围限定、精确短语匹配,或返回图片结果。
📄 fetch 通过分层路由加载单个 URL,遇到反爬挑战或 SPA 外壳时自动从普通 HTTP 升级到无头浏览器引擎。返回整洁的 Markdown、元数据与链接。支持 PDF、单标题 section、已登录会话,以及页面操作(点击 / 输入 / 滚动 / 截图)。
🕸️ crawl 多页爬取——BFS(广度优先)、DFS(深度优先)、sitemap(站点地图)或 map-only(仅映射)。支持按域名限速、遵守 robots.txt、自动去除模板化冗余。
🧩 extract 从页面中抽取结构化数据:表格、元数据、JSON-LD、品牌信息、命名化 schema(Article / Recipe / Product 等),或任意自定义 JSON Schema。
💾 cache 以关键词或混合语义方式查询所有已访问内容。还支持统计、清除、变更检测。
🧲 find_similar 通过关键词、语义、实时网络三路融合,找出与某 URL 或某概念相似的页面。
🧠 research 拆解问题 → 并行展开子查询 → 抓取来源 → 综合成带引用的报告(或由宿主大语言模型撰写的结构化摘要)。
🤖 agent 自主采集循环:规划 → 搜索 → 抓取 → 抽取 → 综合,附带步骤日志、时间预算与可选输出 schema。
🔁 diff + ⏱️ watch 精确查看页面自上次访问以来的变化;按需复查并将变更推送至 Webhook。

每个工具还支持以下调用方式:终端直接调用(wigolo search "…" --json)、交互式 Shell 并支持 NDJSON 管道(wigolo shell)、REST 接口,以及 SDK——详见 CLI 参考。各工具的完整参数说明见 docs/tools.md;可运行的示例见 examples/。

它的不同之处

wigolo 并不是付费工具的免费替代品——它专为对标它们而生。它是你智能体专属的 Web 层:智能体可直接调用的 MCP 与 REST 接口,提供付费服务水准的搜索与抽取质量。其差异化体现在:

  • 为智能体而生。 一次 MCP 调用即可并行向多个引擎发起大量查询,这是串行宿主工具循环无法复现的能力。每条结果都附带透明的逐项评分,输出具有预算感知能力。
  • 诚实的输出。 过期缓存、抓取失败、后端降级、内容截断都会在结果中显式呈现。当遇到反爬保护页面无法读取时,你会收到一条标注为 blocked_by_challenge 的失败提示,而不是把挑战页面外壳当作内容返回。
  • 每次查询 $0,免费重复查询。 默认搜索通过直连适配器与公共引擎通信;重排器与向量嵌入在端侧运行。每一条响应都会被缓存,因此重复提问既即时又免费。
  • 默认私有。 缓存、嵌入、模型与配置全部保存在 ~/.wigolo/ 下。除非你显式启用大语言模型进行综合,否则不会有任何数据流向第三方。

下面是一条真实结果的拆解示例。它同时包含了失败的引擎与较弱的命中,因为这些同样是答案的一部分:

赞助者

感谢以下赞助者,正是他们的支持让 wigolo 能够持续维护并对所有人免费使用。他们的资助直接投入到项目工作中。

wigolo 对所有人免费。 如果你或你所在的公司希望支持项目维护,欢迎成为赞助者——可通过 ktowhid20@gmail.com 联系,条款详见 SPONSORS.md。也欢迎通过 Buy Me a Coffee 进行一次性赞助。

基准对比

四款工具都收敛到了同一个核心答案,但只有其中一款在做到这一点的同时,还返回了逐字、字节级对齐的证据。

一次冷启动查询在同一个 Claude Fable 5 会话中实时运行,平等地分发给四款 Web 工具(内置 WebSearch、wigolo、Tavily、Exa),由智能体仅依据证据进行评判。四款工具均收敛到同一答案与同一首选来源,能力对等在屏幕上一目了然。只有 wigolo 返回了字节偏移源区间对齐的逐字摘录、可解释的评分分解,以及实时的逐引擎遥测,并且其自带的评分器把两条弱命中标记为低质量。云端工具同样表现出色:Exa 完整渲染了官方文档中的对比矩阵。运行你自己的查询,会看到同样的结果形态。

wigolo 与内置 WebSearch、Tavily、Exa 在 Claude Fable 5 驱动下的真实查询对比