wigolo
무엇인가
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` 자체는 완료되며, 준비되지 않은 항목과 수정 방법을 리포트에 남긴다.
유사 도구
- firecrawl웹 페이지를 검색·스크래핑·크롤링해 LLM이 읽는 Markdown이나 구조화 JSON으로 변환하는 API 서버이자 CLI다.
- Scrapling적응형 파서와 안티봇 우회 fetcher, Scrapy 스타일 스파이더를 한 라이브러리에 묶은 Python 웹 스크래핑·크롤링 프레임워크다.
- atomic-agent로컬 llama.cpp로 오픈웨이트 모델을 돌리며 브라우저·파일·셸을 조작하는 로컬 우선 AI 에이전트 CLI다. 상태와 제어 루프가 전부 사용자 디스크에 남는다.
- teamai-cli팀의 스킬·규칙·MCP 설정·지식을 하나의 git 저장소에 모아 Claude Code, Codex, Cursor 등 여러 AI 에이전트에 배포하고 회수하는 TypeScript CLI다.
- octocode로컬 코드와 GitHub 저장소를 ripgrep·AST·LSP로 검색해 AI 에이전트에 토큰 효율적인 근거 컨텍스트를 돌려주는 Rust 엔진 기반 CLI·MCP 서버다.
- row-bot부모 에이전트가 목표를 유지한 채 자식 에이전트에 조사·구현·검토를 위임하고, 체크포인트로 재시작을 견디는 로컬 우선 데스크톱 AI 어시스턴트다.