OpenCLI: 주요 웹사이트와 데스크톱 앱을 CLI 명령어로 제어하는 AI 네이티브 유니버설 허브 프로젝트

OpenCLI 소개

웹사이트에서 데이터를 추출하거나 반복 작업을 자동화할 때, 기존의 웹 스크래핑(Web Scraping) 도구들은 로그인 세션 관리나 동적 콘텐츠 처리에서 한계를 드러내는 경우가 많습니다. OpenCLI는 "어떤 웹사이트든 당신의 CLI로 만드세요(Make any website your CLI)"라는 슬로건 아래, 브라우저의 로그인 세션을 재사용하는 방식으로 이 문제를 해결하는 오픈소스 도구입니다. 웹사이트뿐만 아니라 Electron 기반 데스크톱 애플리케이션과 로컬 CLI 도구까지 하나의 통합된 인터페이스로 제어할 수 있어, AI 에이전트의 도구 허브로 활용하기에 적합합니다.

OpenCLI의 핵심 강점은 LLM 비용 없이 동작하는 결정론적(Deterministic) 출력에 있습니다. Browser-Use나 Stagehand 같은 AI 기반 브라우저 자동화 도구들이 매 실행마다 LLM을 호출하여 비용이 발생하는 것과 달리, OpenCLI는 사전에 구축된 어댑터(adapter)를 통해 일관된 결과를 반복적으로 제공합니다. CI/CD 파이프라인이나 정기적인 데이터 수집 작업에서 특히 유리합니다.

OpenCLI의 듀얼 엔진 아키텍처

OpenCLI는 브라우저 런타임데이터 파이프라인 엔진이라는 두 가지 엔진을 조합하여 다양한 상황에 대응합니다:

브라우저 런타임(Browser Runtime) 은 Chrome DevTools Protocol(CDP)을 통해 실행 중인 Chrome 브라우저의 로그인 세션에 직접 연결합니다. 별도의 자격증명 설정 없이 이미 로그인된 상태를 그대로 활용하므로, 계정 보안 위험 없이 인증이 필요한 서비스를 안전하게 자동화할 수 있습니다. Playwright MCP Bridge 확장 프로그램을 Chrome에 설치한 뒤 opencli setup 명령어 한 번으로 구성할 수 있습니다.

데이터 파이프라인 엔진(Data Pipeline Engine) 은 YAML 선언형 파이프라인과 TypeScript 런타임 인젝션(injection)을 지원합니다. .ts 또는 .yaml 어댑터 파일을 clis/ 디렉토리에 넣으면 자동으로 등록되는 동적 로더(Dynamic Loader) 방식으로, 새로운 사이트 지원을 쉽게 추가할 수 있습니다.

OpenCLI의 지원 플랫폼 및 명령어

위 목록을 포함하여, 현재 50개 이상의 플랫폼을 기본 지원합니다. 주요 플랫폼을 카테고리별로 살펴보면 다음과 같습니다:

카테고리 지원 플랫폼
소셜 미디어 Twitter/X, Reddit, Weibo
동영상/콘텐츠 Bilibili, YouTube, Zhihu
한국어 플랫폼 포함 小红书(샤오홍슈), 知乎(즈후)
금융 Yahoo Finance, xueqiu
개발 도구 HackerNews, GitHub (외부 CLI 통합)
생산성 도구 Notion, Discord, Obsidian

각 플랫폼은 검색(search), 피드(feed), 프로필(profile), 다운로드(download) 등 여러 서브커맨드를 제공하며, 모든 명령어에서 JSON, YAML, CSV, Markdown, Table 형식의 출력을 지원합니다.

지원하는 전체 목록은 opencli list 명령어를 사용하여 확인해볼 수 있습니다.

OpenCLI 기반의 AI 에이전트 통합

OpenCLI는 AI 에이전트를 위한 도구 발견(Tool Discovery)과 실행을 위해 특별히 설계되었습니다. 에이전트는 opencli list 명령어로 100개 이상의 사용 가능한 도구 목록을 한 번에 파악할 수 있습니다. 새로운 사이트 어댑터 생성을 위한 에이전트 워크플로우도 지원합니다.

# 1. 새 사이트 탐색 - API, 인증 방식, 기능 발견
opencli explore https://example.com --site mysite

# 2. 탐색 결과로 YAML 어댑터 자동 생성
opencli synthesize mysite

# 3. 원스텟 어댑터 생성 (탐색 → 합성 → 등록)
opencli generate https://example.com --goal "hot"

# 4. 인증 전략 자동 탐색 (PUBLIC → COOKIE → HEADER)
opencli cascade https://api.example.com/data

OpenCLI 설치 및 사용법

OpenCLI를 설치하고 사용하기 위해서는 Node.js 20 이상이 필요합니다. 설치 방법은 다음과 같습니다:

# npm으로 전역 설치
npm install -g @jackwener/opencli

# 초기 설정 (Playwright MCP Bridge 토큰 자동 감지)
opencli setup

# 사용 예시
opencli list                              # 전체 명령어 목록 조회
opencli hackernews top --limit 5          # 공개 API (브라우저 불필요)
opencli bilibili hot --limit 5            # 브라우저 세션 필요
opencli zhihu hot -f json                 # JSON 형식 출력

# 설치 상태 진단
opencli doctor

OpenCLI는 데스크톱 앱 자동화도 지원합니다. Cursor, ChatGPT(macOS 앱), Notion, Discord 등 Electron 기반 애플리케이션을 CLI에서 제어할 수 있으며, AppleScript와 CDP를 결합한 유일한 도구로 소개되고 있습니다.

또한, 다음과 같이 추가적인 플러그인을 추가해서 사용할 수 있습니다:

# 플러그인 추가
opencli plugin install github:user/opencli-plugin-my-tool

플러그인 작성은 플러그인 가이드 문서를 참고해주세요.

기존 도구와의 비교

필요 상황 최적 도구 이유
정기적 데이터 추출 OpenCLI 사전 구축 어댑터, 결정론적 JSON, LLM 비용 없음
AI 에이전트 안정적 실행 OpenCLI 수백 개 명령어, 구조화 출력
임시 웹사이트 탐색 Browser-Use, Stagehand LLM 기반 범용 브라우징
대규모 웹 크롤링 Crawl4AI, Scrapy 처리량 특화 도구

라이선스

OpenCLI는 Apache-2.0 라이선스로 공개되어 있어 개인 및 상업적 목적으로 자유롭게 사용할 수 있습니다.

:house: OpenCLI 프로젝트 홈페이지

:github: OpenCLI 프로젝트 GitHub 저장소

더 읽어보기




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck: