AutoCLI 소개
최근 대규모 언어 모델(LLM) 기반의 AI 에이전트가 다양한 개발 및 업무 자동화 환경에 도입되면서, 외부 웹사이트로부터 실시간 데이터를 정확하게 수집하는 능력이 그 어느 때보다 중요해졌습니다. 하지만 기존의 웹 크롤링 솔루션이나 스크래핑 라이브러리는 무거운 런타임 환경(Node.js, Python 등)을 요구하거나, 점차 고도화되는 웹사이트의 로그인 인증 및 봇 방지 시스템을 우회하는 데 큰 어려움을 겪어왔습니다. 이러한 문제를 해결하기 위해 등장한 AutoCLI는 개발자와 AI 에이전트 모두가 단 하나의 명령어로 원하는 웹사이트의 정보를 즉각적이고 안전하게 추출할 수 있도록 돕는 차세대 명령줄 인터페이스(CLI) 도구입니다.
AutoCLI는 강력한 성능과 메모리 안전성(Memory-safe)을 보장하는 순수 Rust 언어로 개발되었습니다. 복잡한 환경 설정이나 패키지 의존성 없이 단 4.7MB 크기의 단일 바이너리 파일만으로 동작하는 것이 가장 큰 특징입니다. 기본적으로 X(구 Twitter), Reddit, YouTube, HackerNews, Bilibili, Zhihu 등 55개 이상의 전 세계 주요 웹사이트와 플랫폼을 지원합니다. 또한, 사용자가 이미 로그인해 둔 브라우저 세션을 그대로 재사용하여 별도의 토큰 관리나 인증 우회 로직을 구현할 필요 없이 매끄럽게 데이터를 가져옵니다. AI 에이전트의 워크플로우에 완벽히 호환되도록 설계되어, 현대적인 개발 및 자동화 환경에서 웹 데이터를 다루는 패러다임을 혁신적으로 바꾸고 있습니다.
AutoCLI vs. OpenCLI 비교
| Metric | Improvement | ||
|---|---|---|---|
| 15 MB | 99 MB | 6.6x | |
| 9 MB | 95 MB | 10.6x | |
| 4.7 MB | ~50 MB (node_modules) | 10x | |
| None | Node.js 20+ | Zero deps | |
| 103/122 (84%) | 104/122 (85%) | Near parity |
AutoCLI는 본래 TypeScript와 Node.js 환경에서 구동되던 OpenCLI(opencli-rs) 프로젝트를 Rust 기반으로 완전히 재작성한 버전입니다. 언어 및 아키텍처의 근본적인 변화를 통해 기존 버전과 거의 동일한 기능을 제공하면서도 성능과 리소스 효율성 면에서 비약적인 발전을 이루었습니다. 기존 OpenCLI는 구동을 위해 Node.js 20 이상의 버전이 필수적이었으며, node_modules를 포함해 약 50MB의 용량을 차지했습니다. 하지만 새롭게 탄생한 이 도구는 어떠한 외부 런타임 의존성 없이(Zero dependencies) 독립적으로 실행 가능한 4MB 대의 정적 바이너리로 경량화되었습니다.
| Command | Speedup | ||
|---|---|---|---|
| bilibili hot | 1.66s | 20.1s | |
| zhihu hot | 1.77s | 20.5s | |
| xueqiu search 茅台 | 1.82s | 9.2s | |
| xiaohongshu search | 5.1s | 14s |
성능 지표에서도 극적인 차이를 보여줍니다. 일반적인 브라우저 기반 명령어를 실행할 때 기존 도구가 약 95MB의 메모리를 사용했던 반면, 새로운 Rust 버전은 단 9MB만을 사용하여 메모리 점유율을 10.6배나 감소시켰습니다. 데이터 수집 속도 또한 대폭 향상되어, Bilibili의 실시간 인기 데이터를 가져오는 명령의 경우 20.1초에서 1.66초로 약 12배 단축되었고, Zhihu 및 기타 플랫폼 검색 속도 역시 5~11배 더 빨라졌습니다. 자동화 테스트 결과 122개의 명령어 중 103개를 성공적으로 통과(84%)하여 기존 버전(85%)과 거의 동일한 안정성을 검증받았습니다.
AutoCLI의 주요 특징 및 구조
┌─────────────────────────────────────────────────────────────────┐
│ User / AI Agent │
│ autocli <site> <command> │
└─────────────────────┬───────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ CLI Layer (clap) │
│ main.rs → discovery → clap dynamic subcommands → execution.rs │
│ ┌───────────┐ ┌───────────────┐ ┌──────────────────┐ │
│ │ Built-in │ │ Site adapter │ │ External CLI │ │
│ │ commands │ │ commands │ │ passthrough │ │
│ │ explore │ │ bilibili hot │ │ gh, docker, k8s │ │
│ │ doctor │ │ twitter feed │ │ │ │
│ └───────────┘ └───────┬───────┘ └──────────────────┘ │
└─────────────────────────┼───────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ Execution Engine (execution.rs) │
│ Arg validation → Capability routing → Timeout ctrl │
│ ┌─────────┼─────────┐ │
│ ▼ ▼ ▼ │
│ YAML Pipeline Rust Func External CLI │
└────────────────┬────────────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────────────┐
│ Pipeline Engine Browser Bridge │
│ ┌────────────┐ ┌─────────────────────┐ │
│ │ fetch │ │ BrowserBridge │ │
│ │ evaluate │ ──── IPage ────▶ │ DaemonClient (HTTP) │ │
│ │ navigate │ │ CdpPage (WebSocket) │ │
│ │ map/filter │ └──────────┬──────────┘ │
│ │ sort/limit │ │ │
│ │ intercept │ Daemon (axum:19825) │
│ │ tap │ HTTP + WebSocket │
│ └────────────┘ │ │
│ ▼ │
│ Expression Engine (pest) Chrome Extension (CDP) │
│ ${{ expr | filter }} chrome.debugger API │
└──────────────────────────────────────────────────────────────────┘
광범위한 웹사이트 지원과 유연한 통합
AutoCLI는 HackerNews, StackOverflow와 같은 개발자 커뮤니티부터 뉴스 포털, 금융 사이트, 소셜 미디어 플랫폼에 이르기까지 총 55개 사이트와 333개의 내장 명령어를 제공합니다. 단순히 웹사이트의 데이터를 가져오는 것에 그치지 않고, gh(GitHub CLI), docker, kubectl과 같은 로컬 개발 도구를 통합하여 실행할 수 있습니다. 또한, Electron 기반의 데스크톱 애플리케이션을 제어할 수 있는 확장성을 갖추고 있어 단순한 크롤러를 넘어선 범용적인 통합 CLI 플랫폼으로 기능합니다.
크롬 익스텐션을 통한 브라우저 세션 재사용
대부분의 최신 웹사이트는 데이터를 가져오기 위해 로그인 정보나 복잡한 쿠키(Cookie) 값을 요구합니다. 이 도구는 전용 Chrome 확장 프로그램을 활용하여 사용자의 브라우저 세션을 그대로 재사용하는 아키텍처를 채택했습니다. 확장 프로그램을 설치하고 백그라운드 데몬과 연동하면, 백그라운드에서 실행되는 CLI 명령어가 사용자의 활성화된 로그인 상태를 빌려와 데이터를 요청합니다.
이를 통해 복잡한 인증 토큰을 수동으로 관리하거나 갱신할 필요 없이, 소셜 미디어의 개인 피드나 검색 결과를 안전하게 추출할 수 있습니다. (HackerNews나 일반 뉴스 사이트 등 공개 API를 사용하는 명령어의 경우 확장 프로그램 없이도 즉시 동작합니다.)
AI 네이티브 기능 및 AutoCLI.ai 클라우드 연동
AutoCLI의 가장 혁신적인 부분은 AI를 적극적으로 활용한 어댑터(Adapter) 생성 파이프라인입니다. 기존에는 웹사이트의 DOM 구조가 변경되면 크롤링 코드를 일일이 수정해야 했지만, 이 도구는 공식 클라우드 서비스인 AutoCLI.ai와 연동하여 이 과정을 자동화합니다. 사용자가 Chrome 확장 프로그램의 선택 도구(Selector Tool)를 사용해 웹 페이지에서 필요한 핵심 데이터를 시각적으로 지정하면, AI가 해당 페이지의 구조를 스스로 분석하고 관련된 필드를 확장하여 완벽하게 동작하는 스크래핑 규칙을 생성합니다. 생성된 규칙은 선언적인 YAML 파이프라인 형태로 로컬에 저장되며, 동시에 AutoCLI.ai 클라우드에 동기화되어 즉시 명령어로 사용할 수 있게 됩니다.
AI 에이전트 전용 툴링 및 멀티 포맷 출력
이 도구는 OpenClaw나 여타 AI Agent의 완벽한 파트너로 설계되었습니다. 프로젝트 내의 AGENT.md 파일이나 .cursorrules 설정에 명령어 목록을 등록해 두면, AI 에이전트가 스스로 가용한 도구를 탐색하고 웹사이트에서 필요한 실시간 데이터를 주도적으로 수집할 수 있습니다. 수집된 데이터는 파이프라인을 거쳐 Table, JSON, YAML, CSV 등의 정형화된 데이터 포맷은 물론, 이미지가 포함된 Markdown 형식으로도 출력될 수 있습니다. yt-dlp를 활용한 미디어 파일 일괄 다운로드 기능도 내장되어 있어 활용 범위가 매우 넓습니다.
설치 방법 및 퀵 스타트
의존성이 전혀 없기 때문에 복잡한 설정 과정 없이 단일 실행 파일을 다운로드하는 것만으로 모든 설치가 끝납니다.
시스템별 설치 명령어
macOS 및 Linux 환경에서는 공식 설치 스크립트를 통해 시스템 아키텍처에 맞는 바이너리를 /usr/local/bin/ 디렉토리에 자동으로 다운로드하고 설치할 수 있습니다.
# macOS 및 Linux 환경 한 줄 설치 스크립트
curl -fsSL https://raw.githubusercontent.com/nashsu/autocli/main/scripts/install.sh | sh
Windows 사용자의 경우 PowerShell을 활용하여 GitHub 릴리스에서 압축 파일을 다운로드 후 시스템의 PATH에 직접 등록할 수 있습니다.
# Windows PowerShell 설치 명령어
Invoke-WebRequest -Uri "https://github.com/nashsu/autocli/releases/latest/download/autocli-x86_64-pc-windows-msvc.zip" -OutFile autocli.zip
Expand-Archive autocli.zip -DestinationPath .
Move-Item autocli.exe "$env:LOCALAPPDATA\Microsoft\WindowsApps\"
기본적인 명령어 활용 예시
설치가 완료되었다면, 터미널에서 즉각적으로 다양한 플랫폼의 데이터를 조회할 수 있습니다.
# Hacker News의 상위 게시물 5개를 JSON 형태로 출력 (브라우저 불필요)
autocli hackernews top --limit 5 --format json
# X (구 Twitter)에서 "rust lang" 키워드 검색 결과 조회 (크롬 확장프로그램 필요)
autocli twitter search "rust lang" --limit 10
# Bilibili의 실시간 인기 영상 목록 20개 조회 (크롬 확장프로그램 필요)
autocli bilibili hot --limit 20
# AI 클라우드(AutoCLI.ai) 인증 및 토큰 발급
autocli auth
# 클라우드에 공유된 특정 웹사이트(예: example.com)의 커뮤니티 어댑터 검색
autocli search example.com
라이선스
AutoCLI 프로젝트는 Apache License 2.0으로 공개 및 배포 되고 있습니다.
AutoCLI 공식 홈페이지
AutoCLI 프로젝트 GitHub 저장소
더 읽어보기
-
CLI 환경에서 인프라와 서비스를 손쉽게 구축/관리하는 자동화 도구, Stripe Projects 개발자용 미리보기 출시
-
OpenCLI: 주요 웹사이트와 데스크톱 앱을 CLI 명령어로 제어하는 AI 네이티브 유니버설 허브 프로젝트
-
Lark/Feishu CLI: 인간과 AI 에이전트 모두를 위해 설계된 Lark/Feishu의 공식 커맨드라인 도구
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. ![]()
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ ![]()

