wigolo
为本地 AI 编码环境提供免密钥网页检索与采集。
- Star 数
- ★ 5.5k
- 最近更新
- 2 天前
- License
- NOASSERTION
- 主语言
- TypeScript
- FA 评分
- 54/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台Codex · Claude Code · OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 使用 Claude Code、Codex 或 Cursor 的开发者,可把 wigolo 配置为 MCP 服务,让编码助手检索 API 文档、获取网页内容并给出可定位的来源摘录。
- 不适合
- 要求稳定版、不接受公开测试版产品的生产环境
- 依赖数据中心 IP 抓取强反爬站点的自托管用户
- 源码审查
- 54/100 · 缺口较多
这个 Agent 能做什么,适合哪些场景?
wigolo 是面向 AI 编码工具和其他 MCP 客户端的本地优先网页智能层。它以单个 Node 进程提供 MCP stdio、REST、CLI、TypeScript SDK 和 Python SDK 接口,并将缓存、嵌入、模型与配置放在 ~/.wigolo/。其工具覆盖搜索、抓取、爬取、结构化提取、本地缓存查询、相似页面发现、研究报告、自治采集、页面差异与监控。搜索使用 18 个直接适配器、排名融合和本地 ML 重排;抓取会从普通 HTTP 按信号升级到无头浏览器。核心检索与采集无需 API 密钥,但 research、agent 和 answer 格式的搜索要生成综合答案时,需要配置外部或本地兼容的 LLM 提供方。
通过 search 并行查询多个搜索引擎,返回标题、URL、原文摘录、citation_id、source_span、证据分数和新鲜度信号。fetch 读取单个 URL,按需从 HTTP 升级到浏览器,并输出清理后的 Markdown、元数据和链接;crawl 可按 BFS、DFS、sitemap 或 map-only 遍历页面,并遵守 robots.txt 和站点速率限制。extract 从页面提取表格、元数据、JSON-LD、品牌信息、预定义 schema 或自定义 JSON Schema;cache 可用关键词或混合语义检索已见内容,find_similar 融合关键词、语义与实时网页结果。research 将问题拆成子查询、抓取来源并输出带引用的报告或证据简报;agent 执行 plan → search → fetch → extract → synthesize 的采集循环。diff 和 watch 比较页面变化,并可通过 webhook 投递更新。
- 使用 Claude Code、Codex 或 Cursor 的开发者,可把 wigolo 配置为 MCP 服务,让编码助手检索 API 文档、获取网页内容并给出可定位的来源摘录。
- 维护自托管开发助手的团队,可运行
wigolo serve,通过本机 REST API 将搜索、抓取和提取能力接入现有工作流。 - 需要从公开产品页或文档页收集字段的工程师,可用
extract获取 JSON-LD、表格、元数据或自定义 JSON Schema 结果。 - 构建 RAG 或知识工具的 TypeScript、Python、LangChain、CrewAI、LlamaIndex 或 Vercel AI SDK 用户,可使用对应 SDK 或框架包装器接入本地检索结果。
- 需要持续关注公开网页变更的研究或运维人员,可先抓取页面,再使用
diff或watch检查并投递后续变化。
如何安装或部署这个 Agent?
需要 Node.js 20 或更高版本及约 1.5 GB 可用磁盘空间。在 macOS、Linux 或 Windows 终端运行:npx wigolo init。如需同时配置已列出的编码工具,可运行:npx wigolo init --agents=claude-code,cursor。随后用 npx wigolo doctor 检查本地引擎状态。搜索、fetch、crawl、extract、cache 和 find-similar 不需要凭据;如需让 research、agent 或 search format=answer 生成综合答案,可设置 WIGOLO_LLM_PROVIDER=gemini 和 GEMINI_API_KEY=<free-key>,也可选择 anthropic、openai、groq 或 ollama。
如何使用这个 Agent?
完成初始化后,可在终端执行:wigolo search "local-first web search" --json。要作为本地 HTTP 服务运行,执行 wigolo serve,然后调用:curl -sX POST http://127.0.0.1:3333/v1/search -H 'Content-Type: application/json' -d '{"query":"local-first software","max_results":5}'。服务默认监听 127.0.0.1:3333;绑定到非回环地址时需要 bearer token。任意 MCP 客户端可在其 MCP 配置中注册 npx -y wigolo。
这个 Agent 有哪些优点和局限?
- 同一套工具同时提供 MCP、REST、CLI、TypeScript SDK、Python SDK 和多个框架包装器,适合不同集成边界。
- 搜索结果包含原文摘录、字节位置
source_span、引用 ID、证据分数和引擎状态,便于宿主工具判断来源质量。 - 搜索整合 18 个直接适配器、排名融合与本地 ML 重排;已访问内容保存在本地缓存中,可进行关键词和混合语义检索。
- 抓取路由会依据 SPA 标记、挑战页面或内容不足等信号升级到浏览器,并明确标注失败或受挑战阻断的情况。
- 初始化需要 Node.js 20 以上、浏览器引擎和本地模型,文档标示约需 1.5 GB 磁盘空间。
- research、agent 及生成答案格式依赖 LLM 综合;若未配置提供方,只返回原始简报与证据。
- 公开搜索引擎和受挑战保护的网站可能退化或无法读取;文档说明数据中心 IP 可能难以通过某些网站的信誉检查。
- 项目处于 public beta;README 称许可证为 AGPL-3.0-only,但提供的仓库元数据标为 NOASSERTION,采用前应核实实际许可证文件。
这个 Agent 与同类方案有什么区别?
README 将 wigolo 与 Firecrawl、Exa 和 Tavily 对比:四者都列有多引擎搜索及抓取/结构化提取;wigolo 还列出全站 crawl/map、本地持久缓存、字节偏移证据摘录、可解释的单结果评分,以及无需账号或 API key 的核心路径。该比较同时注明付费服务在部分深度提取边缘场景仍可能更强。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| wigolo 当前 | 54 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 5.5k | 2 天前 | TypeScript | Codex · Claude Code · OpenAI API · Claude API |
| Firecrawl 网页研究 MCP | 66 · 存在缺口 | MCP 服务器免费版 + 付费版 | ★ 7.8k | 今天 | JavaScript | Claude.ai |
| Omnara 托管 Agent 平台 | 65 · 存在缺口 | 云服务 / SaaS免费版 + 付费版 | ★ 3.4k | 1 天前 | Go | Codex · Claude Code · Claude.ai · OpenAI API · Claude API |
| Exa 网页研究 MCP | 47 · 缺口较多 | MCP 服务器免费版 + 付费版 | ★ 5.2k | 3 天前 | TypeScript | ChatGPT · Codex · Claude.ai |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:README 声称本地优先、数据留在 ~/.wigolo/,REST 服务默认仅绑定回环地址并要求令牌,但未提供代码级验证。扣分:缺少对权限最小化的具体实现说明,用户确认机制未明确,敏感数据处理(如 API 密钥存储)仅有提及,依赖安全未提供审计或漏洞扫描证据,外部影响(如网络请求)未详细说明,回滚机制未提及,来源归属有部分体现(如引用 ID 和字节偏移)。
证据显示:README 和 package.json 描述一致,工具列表和功能描述自洽,失败消息有示例(如 blocked_by_challenge)。扣分:依赖可用性未验证,失败消息的全面性未充分展示。
证据显示:README 明确目标用户(AI 编码代理)和多种使用场景(MCP、REST、SDK),能力边界有描述(如工具列表),触发精度有说明(如查询数组、深度搜索),环境适配有说明(Node ≥20、多平台)。扣分:部分能力边界(如限制)未详细说明。
证据显示:README 结构清晰,安装说明详细,命名稳定(工具名一致),有示例和 FAQ,已知限制有提及(如 beta 状态),许可证为 AGPL-3.0,版本号存在,维护责任有说明(作者和反馈渠道)。扣分:版本变更日志未提供,命名稳定性未完全验证。
证据显示:输出格式有示例(JSON 结构),边际价值有说明(对比表),成本效益有说明($0/查询)。扣分:输出可用性未实际测试,边际价值声明未独立验证。
证据显示:README 中的声明(如基准测试)有描述,但未提供可复现的详细数据,跨来源验证不足,事实与推断未明确区分。扣分:声明可追溯性弱,缺乏独立验证。
- 该仓库处于公开测试阶段,功能可能不稳定,请在生产环境谨慎使用。
- 依赖项较多,且包含原生模块,安装和运行可能遇到平台兼容性问题。
- 虽然声称本地优先,但可选 LLM 集成会发送数据到第三方,请明确配置。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
Sponsored by [TestMu AI](https://wigolo.app/go/testmu/?ref=release) — thank you for keeping wigolo free for everyone. What's Changed * docs(readme): quiet-confident rewrite by @KnockOutEZ in https://github.com/KnockOutEZ/wigolo/pull/212 * docs(readme): lowercase star-history repo param so the chart renders by @KnockOutEZ in https://github.com/KnockOutEZ/wigolo/pull/213 * docs(readme): quickstart command pair + stable star-history link by @KnockOutEZ in https://github.com/KnockOutEZ/wigolo/pull/214 …在 GitHub 查看 ↗ -
发布说明摘录
What's Changed * fix(watch): hash full-body content, not view-truncated markdown by @KnockOutEZ in https://github.com/KnockOutEZ/wigolo/pull/186 * feat: honest research/agent degradation + free-key guidance in tool descriptions by @KnockOutEZ in https://github.com/KnockOutEZ/wigolo/pull/187 * docs: public-face overhaul — lean README, public docs/, examples/, docs on site by @KnockOutEZ in https://github.com/KnockOutEZ/wigolo/pull/185 * fix: fresh-install reliability across platforms + clean-machine CI gate by @KnockOutEZ in https://github.com/KnockOutEZ/wigolo/pull/196 …在 GitHub 查看 ↗
常见问题
核心功能是否需要 API key?
网页数据会被上传到云端吗?
~/.wigolo/,并称只有明确选择 LLM 综合时才会向第三方发送内容。遇到反爬或动态网页时会怎样?
fetch 会从普通 HTTP 按信号升级到无头浏览器,并复用域名级 clearance;若仍无法通过挑战,会返回标记为 blocked_by_challenge 的失败信息。能否用于远程或多客户端部署?
wigolo serve 提供 REST、/mcp 和 /sse;默认限于回环地址,非回环绑定必须配置 bearer token。