Communitygithub.com

cli-anything-browser

DOMShell MCP 서버를 사용한 브라우저 자동화 CLI. Chrome을 파일 시스템처럼 탐색합니다.

cli-anything-browser란 무엇인가요?

cli-anything-browser는 DOMShell MCP 서버를 활용하여 웹 브라우저를 파일 시스템처럼 탐색하고 제어할 수 있는 명령줄 인터페이스입니다. `ls`, `cd`, `cat`, `grep`, `click` 등의 익숙한 파일 시스템 명령어로 웹 페이지의 접근성 트리(Accessibility Tree)를 탐색하고 상호작용할 수 있어, AI 에이전트가 브라우저를 자동화하기에 매우 직관적입니다. Claude Code, Cursor, Codex 등 모든 AI 에이전트 플랫폼과 호환되며, Python 3.10+, Node.js, Chrome(또는 Chromium) 브라우저와 DOMShell 확장 프로그램이 필요합니다. 데몬 모드를 지원하여 여러 명령을 연속 실행할 때 콜드 스타트 오버헤드를 줄일 수 있고, `--json` 플래그로 기계가 읽기 쉬운 JSON 출력도 제공하여 에이전트의 파싱 작업을 용이하게 합니다. 보안 측면에서 URL 스킴 검증, 프라이빗 네트워크 차단 옵션, DOM 콘텐츠 위험 완화 가이드를 제공하여 신뢰할 수 없는 웹사이트와의 상호작용에서도 안전하게 사용할 수 있습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/HKUDS/CLI-Anything/tree/main/skills/cli-anything-browser

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

cli-anything-browser은(는) 무엇을 하나요?

DOMShell의 MCP 서버를 사용한 브라우저 자동화 명령줄 인터페이스입니다. ls, cd, cat, grep, click과 같은 파일 시스템 명령어로 웹 페이지를 탐색합니다.

설치

사전 요구 사항

  1. Node.js 및 npx (DOMShell MCP 서버용):

    # https://nodejs.org/ 에서 Node.js 설치
    npx --version
    
  2. Chrome/Chromium 및 DOMShell 확장 프로그램:

    • Chrome에 확장 프로그램 설치
    • CLI 사용 전에 Chrome이 실행 중인지 확인
  3. Python 3.10+

CLI 설치

cd browser/agent-harness
pip install -e .

명령어 그룹

page — 페이지 탐색

  • page open <url> — URL로 이동
  • page reload — 현재 페이지 새로 고침
  • page back — 이전 페이지로 돌아가기
  • page forward — 앞 페이지로 이동
  • page info — 현재 페이지 정보 표시

fs — 파일 시스템 명령어 (접근성 트리)

  • fs ls [path] — 경로의 요소 나열
  • fs cd <path> — 디렉토리 변경
  • fs cat [path] — 요소 내용 읽기
  • fs grep <pattern> [path] — 텍스트 패턴 검색
  • fs pwd — 현재 작업 디렉토리 출력

act — 동작 명령어

  • act click <path> — 요소 클릭
  • act type <path> <text> — 입력 필드에 텍스트 입력

session — 세션 관리

  • session status — 세션 상태 표시
  • session daemon-start — 지속적인 데몬 모드 시작
  • session daemon-stop — 데몬 모드 중지

사용 예제

기본 탐색

# 페이지 열기
cli-anything-browser page open https://example.com

# 구조 탐색
cli-anything-browser fs ls /
cli-anything-browser fs cd /main
cli-anything-browser fs ls

# 루트로 돌아가기
cli-anything-browser fs cd /

검색 및 클릭

cli-anything-browser fs grep "Login"
cli-anything-browser act click /main/button[0]

양식 작성

cli-anything-browser act type /main/input[0] "[email protected]"
cli-anything-browser act click /main/button[0]

JSON 출력

cli-anything-browser --json fs ls /

데몬 모드 (더 빠른 대화형 사용)

# 지속적인 연결 시작
cli-anything-browser session daemon-start

# 명령 실행 (지속적 연결 사용)
cli-anything-browser fs ls /
cli-anything-browser fs cd /main

# 작업 완료 후 데몬 중지
cli-anything-browser session daemon-stop

대화형 REPL

cli-anything-browser

경로 구문

DOMShell은 접근성 트리에 대해 파일 시스템과 유사한 경로를 사용합니다:

/                           — 루트 (문서)
/main                       — 주요 랜드마크
/main/div[0]                — main의 첫 번째 div
/main/div[0]/button[2]      — 첫 번째 div의 세 번째 버튼
  • 배열 인덱스는 0부터 시작: button[0]은 첫 번째 버튼
  • ..를 사용하여 한 단계 위로 이동
  • /를 사용하여 루트로 이동

에이전트별 안내

파싱을 위한 JSON 출력

모든 명령어는 기계가 읽을 수 있는 출력을 위해 --json 플래그를 지원합니다:

cli-anything-browser --json fs ls /

반환:

{
  "path": "/",
  "entries": [
    {"name": "main", "role": "landmark", "path": "/main"}
  ]
}

오류 처리

CLI는 일반적인 문제에 대해 명확한 오류 메시지를 제공합니다:

  • npx를 찾을 수 없음: https://nodejs.org/ 에서 Node.js 설치
  • DOMShell을 찾을 수 없음: npx @apireno/domshell --version 실행
  • MCP 호출 실패: DOMShell Chrome 확장 프로그램 설치

명령어를 실행하기 전에 is_available()의 반환 값을 확인하세요.

효율성을 위한 데몬 모드

여러 명령어를 실행하는 에이전트 워크플로우의 경우 데몬 모드를 사용하세요:

  1. 데몬 시작: cli-anything-browser session daemon-start
  2. 명령 실행: 각 명령어가 MCP 연결을 재사용
  3. 데몬 중지: cli-anything-browser session daemon-stop

이렇게 하면 각 명령어마다 1~3초의 콜드 스타트 시간이 발생하지 않습니다.

링크

보안 고려 사항

중요: AI 에이전트와 함께 이 CLI를 사용할 때는 다음 보안 고려 사항을 숙지하세요:

URL 제한

브라우저 하네스는 탐색 전에 모든 URL을 검증합니다:

  • 명시적 스킴 필요: URL에 http:// 또는 https:// 스킴이 포함되어야 함 (스킴이 없는 example.com 같은 URL은 거부됨)
  • 차단된 스킴: file://, javascript://, data://, vbscript://, about://, chrome:// 및 브라우저 내부 스킴
  • 허용된 스킴: http:// 및 https://만 허용 (CLI_ANYTHING_BROWSER_ALLOWED_SCHEMES로 구성 가능)
  • 프라이빗 네트워크 차단: 선택 사항 (CLI_ANYTHING_BROWSER_BLOCK_PRIVATE=true — 기본적으로 비활성화됨)

DOM 콘텐츠 위험

접근성 트리에는 페이지의 보이는 요소와 숨겨진 요소가 모두 포함됩니다. 악성 웹사이트는 다음을 시도할 수 있습니다:

  • 조작적인 텍스트(예: "이전 지침 무시")가 포함된 ARIA 레이블 제작
  • 사용자에게 보이지 않는 콘텐츠를 주입하기 위해 aria-hidden 요소 사용
  • 탐색을 혼란스럽게 하는 복잡한 DOM 구조 생성

완화 조치: 신뢰할 수 없는 웹사이트와 상호작용할 때는 다음을 고려하세요:

  1. 안전하게 파싱하기 쉬운 구조화된 출력을 위해 --json 플래그 사용
  2. 프롬프트에 포함하기 전에 DOM 콘텐츠를 정리하거나 필터링
  3. 신뢰할 수 있는 도메인으로 탐색 제한

프라이빗 네트워크 접근

기본적으로 브라우저는 localhost 및 프라이빗 네트워크(192.168.x.x, 10.x.x.x 등)에 접근할 수 있습니다. 차단하려면:

export CLI_ANYTHING_BROWSER_BLOCK_PRIVATE=true
cli-anything-browser page open http://localhost:8080  # 차단됨

세션 격리

여러 브라우저 세션이 동일한 Chrome 인스턴스를 공유합니다. 쿠키와 인증 상태는 세션 간에 유지될 수 있습니다. 민감한 작업의 경우 다음을 고려하세요:

  1. Chrome의 게스트 모드 또는 시크릿 모드 사용
  2. 세션 간 쿠키 지우기
  3. 보안 컨텍스트별로 별도의 Chrome 프로필 사용

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

cli-anything-adguardhome

>-

cli-anything-anygen

>-

cli-anything-audacity

>-

cli-anything-blender

>-

cli-anything-calibre

>-

cli-anything-ccswitch

CLI interface for CC Switch — manage AI coding tool configurations from the terminal

cli-anything-chromadb

>-

cli-anything-cloudanalyzer

Command-line interface for CloudAnalyzer — Agent-friendly harness for CloudAnalyzer, a QA platform for mapping, localization, and perception outputs. Supports 27 commands across 8 groups: point cloud evaluation, trajectory evaluation, ground segmentation QA, config-driven quality gates, baseline evolution, processing, visualization, and interactive REPL.

cli-anything-cloudcompare

Command-line interface for CloudCompare — Agent-friendly harness for CloudCompare, the open-source 3D point cloud and mesh processing software. Supports 41 commands across 9 groups: project management, session control, point cloud operations (subsample, filter, segment, analyze), mesh operations, distance computation (C2C, C2M), transformations (ICP, matrix), export (LAS/LAZ/PLY/PCD/OBJ/STL/E57), and interactive REPL.

cli-anything-comfyui

>-

cli-anything-dify-workflow

Wrapper for the Dify workflow DSL CLI. Create, inspect, validate, edit, and export Dify workflow files through a CLI-Anything harness.

cli-anything-drawio

>-

cli-anything-eez-studio

Use EEZ Studio from the command line: inspect and modify native .eez-project files, edit LVGL screens/widgets, manage SCPI commands, and invoke the real EEZ Studio backend for LVGL builds.

cli-anything-eth2-quickstart

>-

cli-anything-exa

>-

cli-anything-firefly-iii

Firefly III CLI - Personal finance management via CLI-Anything

cli-anything-freecad

Complete CLI harness for FreeCAD parametric 3D CAD modeler (258 commands). Covers ALL workbenches: Part (29 primitives + boolean + mirror + loft + sweep), Sketcher (26 cmds: geometry + constraints + editing), PartDesign (38 cmds: pad/pocket/groove/fillet/chamfer/patterns/hole/datum), Assembly (11 cmds), Mesh (16 cmds), TechDraw (15 cmds: views + dimensions + PDF/SVG), Draft (33 cmds: 2D shapes + arrays + transforms), FEM (12 cmds), CAM/CNC (10 cmds), Surface (6 cmds), Spreadsheet (7 cmds), Import (13 formats), Export (17 formats), Measure (12 cmds), Materials (21 presets). Headless FreeCAD export to STEP/IGES/STL/OBJ/DXF/PDF/glTF/3MF.

cli-anything-gimp

>-

cli-anything-godot

>-

cli-anything-inkscape

>-

관련 스킬