wigolo

Web Scraping & CrawlingCLITypeScript

★ 5,235주당 +76조회 4

무엇인가

wigolo는 AI 에이전트가 웹을 다룰 때 거치는 단일 접점이다. MCP 서버, REST 엔드포인트, 임베드 SDK 세 가지 형태로 같은 도구 집합을 노출하며, 상용 검색·스크래핑 API가 차지하던 자리를 에이전트 옆에서 도는 로컬 프로세스로 대체한다. 다루는 범위는 search, fetch, crawl, extract, cache, find-similar, research, 그리고 자율 수집 루프인 agent다.

어떻게 동작하나

`init`은 로컬 엔진을 구성한다. 브라우저 엔진과 온디바이스 모델을 내려받고 헬스 체크를 돌린 뒤 컴포넌트별 결과를 보고한다. 검색은 공개 엔진에 직접 붙는 어댑터로 처리하고, 리랭커와 임베딩은 온디바이스에서 실행한다. MCP 호출 하나가 여러 쿼리를 여러 엔진에 병렬로 팬아웃한다. 각 결과는 원문 발췌와 소스 내 정확한 위치, 인용 가능한 citation ID, 검사 가능한 점수를 함께 싣는다. 캐시·임베딩·모델·설정은 모두 `~/.wigolo/` 아래에 남는다.

무엇과 다른가

상용 검색 API와의 차이는 과금 구조와 출력의 정직성에 있다. 키 발급이 없고 쿼리당 비용이 붙지 않으며, 모든 응답이 캐시되어 재질의가 즉시 끝난다. 호스트의 직렬 툴 루프로는 흉내 낼 수 없는 병렬 팬아웃을 한 번의 호출로 수행한다. 봇 차단 페이지를 읽지 못하면 챌린지 셸을 본문으로 돌려주는 대신 `blocked_by_challenge` 실패로 라벨링하고, 실패한 엔진·스테일 캐시·잘림도 결과에 표시한다. 합성용 LLM을 명시적으로 켜지 않는 한 어떤 데이터도 외부로 나가지 않는다.

어떻게 쓰나

설치는 `npx wigolo init`으로 시작한다. `--agents`에 `claude-code`·`cursor`·`codex`·`gemini-cli`·`opencode`·`vscode`·`windsurf`·`zed`·`antigravity`를 쉼표로 나열하면 MCP 설정과 지원되는 경우 지침 파일까지 같은 실행에서 작성된다. 그 밖의 MCP 클라이언트·에이전트 프레임워크·셀프호스팅 에이전트는 자체 MCP 설정에 `npx -y wigolo`를 등록한다. `--interactive`는 평문 흐름, `--wizard`는 터미널 TUI, `--no-warmup`은 다운로드를 첫 사용까지 미룬다. 터미널에서는 `wigolo search "…" --json`, NDJSON 파이프용 `wigolo shell`, REST, SDK로도 같은 도구를 호출한다. 제거는 `npx wigolo config --uninstall --yes`.

전제와 한계

Node 20 이상과 약 1.5GB의 여유 디스크가 필요하고 macOS·Linux·Windows를 지원한다. search·fetch·crawl·extract·cache·find-similar는 키 없이 동작하지만, research·agent·`search format=answer`는 합성 답변을 쓰기 위해 LLM 제공자(anthropic·openai·groq·Gemini)나 `WIGOLO_LLM_PROVIDER=ollama` 같은 로컬 경로가 있어야 한다. 현재 퍼블릭 베타다. 컴포넌트 다운로드가 실패해도 `init` 자체는 완료되며, 준비되지 않은 항목과 수정 방법을 리포트에 남긴다.

유사 도구