본문 바로가기
AI 도구

🤖 CLI-Anything: 모든 소프트웨어를 AI 에이전트용 CLI로 변환하는 오픈소스

by James AI Explorer 2026. 5. 27.
    728x90

    안녕하세요! 오늘은 AI 에이전트 시대를 위한 혁신적인 도구, CLI-Anything에 대해 알아보겠습니다.

    CLI-Anything은 HKUDS(홍콩대학교 데이터사이언스연구소)에서 개발한 오픈소스 프로젝트로, 모든 소프트웨어를 AI 에이전트가 직접 제어할 수 있는 CLI로 변환합니다. 특히 7단계 자동화 파이프라인, CLI-Hub 패키지 매니저, Claude Code 플러그인을 통해 GIMP, Blender, LibreOffice 등 40개 이상의 주요 소프트웨어를 자동화 파이프라인으로 변환합니다.

    이 글에서는 CLI-Anything의 핵심 기술, Claude Code 플러그인 설치 방법, CLI-Hub로 커뮤니티 CLI 검색 및 설치, npx skills로 에이전트 발견, 실제 데모 예시, 컨트리뷰터 가입 방법에 대해 상세히 설명하겠습니다. 바로 시작해볼까요?

    "이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

     

    🤖 CLI-Anything이란 무엇인가?

    CLI-Anything의 핵심 철학은 "Today's Software Serves Humans. Tomorrow's Users will be Agents."입니다. 현재 대부분의 소프트웨어는 GUI를 통해 인간에게 최적화되어 있지만, AI 에이전트 시대에는 CLI가 필수적입니다.

    핵심 개념: CLI-Anything은 GUI 기반 소프트웨어를 AI가 직접 호출할 수 있는 CLI로 변환합니다. 스크린샷 캡처나 클릭 자동화 같은 불안정한 방식을 사용하지 않고, 실제 백엔드 API를 직접 래핑하여 안정적인 제어를 가능하게 합니다.

    이 도구의 가장 큰 특징은 "실제 소프트웨어 통합"을 지향합니다. GIMP를 Pillow로 대체하거나 Blender용 렌더러를 새로 만드는 방식이 아니라, 실제 GIMP와 Blender의 백엔드를 직접 활용합니다. 이렇게 하면 기능의 100%를 유지하면서도 AI가 프로그래밍적으로 제어할 수 있습니다.

    🤔 CLI가 AI 에이전트에 유리한 이유

    CLI는 인간과 AI 에이전트 모두에게 이상적인 인터페이스입니다. CLI-Anything은 다음 6가지 이유로 CLI를 선택했습니다.

    특징 설명
    구조화 및 조합 가능 텍스트 명령이 LLM 형식에 맞고 복잡한 워크플로우 연결 가능
    경량 및 보편적 최소 overhead, 모든 시스템에서 작동 (dependency 없음)
    자기 설명 --help 플래그가 에이전트가 발견할 수 있는 자동 문서 제공
    성공 사례 Claude Code가 매일 수천 개의 실제 워크플로우를 CLI로 실행
    에이전트 우선 설계 구조화된 JSON 출력으로 파싱 복잡성 제거
    결정론적 및 신뢰성 일관된 결과로 예측 가능한 에이전트 동작 가능

    ⚙️ 7단계 자동화 파이프라인

    CLI-Anything의 가장 강력한 기능은 7단계 자동화 파이프라인입니다. AI 에이전트가 소프트웨어를 분석하고 CLI를 설계, 구현, 테스트, 배포까지 한 번에 수행합니다.

    단계 작업 설명
    🔍 1. Analyze 코드베이스 분석 소스코드 스캔, GUI 작업을 API로 매핑
    📐 2. Design CLI 설계 명령 그룹, 상태 모델, 출력 형식 아키텍트
    🔨 3. Implement 구현 Click CLI + REPL + JSON 출력 + undo/redo
    📋 4. Plan Tests 테스트 계획 TEST.md에 단위 + E2E 테스트 계획 생성
    🧪 5. Write Tests 테스트 작성 Pytest 기반 종합 테스트 스위트 구현
    📝 6. Document 문서화 TEST.md 결과 업데이트 + SKILL.md 생성
    📦 7. Publish 배포 setup.py 생성, PATH에 설치

    이 파이프라인은 단일 실행으로 완전한 CLI를 생성할 수 있지만, 실제로는 `/refine` 명령을 반복 사용하여 품질을 향상시키는 과정이 권장됩니다.

    💡 참고: 파이프라인 실행에는 강력한 AI 모델이 필요합니다. Claude Opus 4.6, GPT-5.4 수준의 모델을 권장하며, 더 낮은 모델에서는 품질이 저하될 수 있습니다.

    🚀 Claude Code 플러그인 설치 방법

    CLI-Anything은 Claude Code용 플러그인을 제공합니다. 이를 통해 Claude Code 내에서 직접 CLI를 생성하고 사용할 수 있습니다.

    Step 1: 마켓플레이스 추가

    # CLI-Anything 마켓플레이스 추가
    /plugin marketplace add HKUDS/CLI-Anything
     

    Step 2: 플러그인 설치

    # 마켓플레이스에서 cli-anything 플러그인 설치
    /plugin install cli-anything
     

    플러그인 설치가 완료되면 Claude Code 세션에서 사용할 수 있습니다.

    ⚠️ Windows 사용자 주의: Claude Code는 bash로 shell 명령을 실행합니다. Windows에서는 Git for Windows (bash + cygpath 포함)를 설치하거나 WSL을 사용해야 합니다. 그렇지 않으면 cygpath: command not found 에러가 발생할 수 있습니다.

    Step 3: CLI 생성 실행

    # GIMP용 CLI 생성 (7단계 전체 실행)
    /cli-anything:cli-anything ./gimp
    
    # Blender용 CLI 생성
    /cli-anything:cli-anything ./blender
    
    # GitHub 저장소에서 직접 생성
    /cli-anything:cli-anything https://github.com/blender/blender
     

    Step 4: refine 명령으로 개선

    초기 생성 후 `/cli-anything:refine` 명령을 사용하여 CLI를 점진적으로 개선할 수 있습니다.

    # 광범위 개선 - 모든 기능의 gap 분석
    /cli-anything:refine ./gimp
    
    # 특정 기능에 집중한 개선
    /cli-anything:refine ./shotcut "vid-in-vid and picture-in-picture compositing"
     

    refine 명령은 소프트웨어의 전체 기능과 현재 CLI 커버리지 간의 gap을 분석하고, 새 명령, 테스트, 문서를 추가합니다. 여러 번 실행하여 커버리지를 확장할 수 있습니다.

    플러그인 명령 목록

    명령 설명
    /cli-anything <경로> 완전한 CLI 하네스 생성 (7단계 전체)
    /cli-anything:refine <경로> [focus] 기존 하네스 개선 - gap 분석으로 커버리지 확장
    /cli-anything:test <경로> 테스트 실행 및 TEST.md 결과 업데이트
    /cli-anything:validate <경로> HARNESS.md 표준에 대한 검증

    📦 CLI-Hub 패키지 매니저

    CLI-Hub는 CLI-Anything의 패키지 매니저입니다. 커뮤니티가 만든 CLI를 검색, 설치, 업데이트, 제거할 수 있는 중앙 레지스트리 역할을 합니다.

    CLI-Hub 설치

    # CLI-Hub 패키지 매니저 설치
    pip install cli-anything-hub
     

    CLI-Hub 명령어

    명령 설명
    cli-hub list 레지스트리 탐색
    cli-hub search <키워드> 키워드로 CLI 검색
    cli-hub info <이름> CLI 상세 정보 확인
    cli-hub install <이름> CLI 설치
    cli-hub update <이름> CLI 업데이트
    cli-hub uninstall <이름> CLI 제거
    cli-hub launch <이름> [args] 설치된 CLI 실행

    CLI-Hub 사용 예시

    # 레지스트리에서 사용 가능한 CLI 확인
    cli-hub list
    
    # 이미지 관련 CLI 검색
    cli-hub search image
    
    # GIMP CLI 설치
    cli-hub install gimp
    
    # CLI 정보 확인
    cli-hub info gimp
    
    # GIMP CLI 실행
    cli-hub launch gimp
     

    CLI-Hub는 40개 이상의 변환된 CLI를 제공합니다. 또한 PR을 통해 자신의 CLI를 추가할 수 있으며, 허브는 즉시 업데이트됩니다.

     

    🔍 npx skills로 에이전트 발견

    CLI-Anything은 SKILL.md 파일을 통해 에이전트가 CLI를 자동으로 발견할 수 있습니다. 이를 통해 AI 에이전트가 필요한 CLI를 검색하고 설치하는 과정을 자동화합니다.

    cli-hub-meta-skill 설치

    # CLI-Hub 메타 스킬 설치 (SKILL-compatible 에이전트용)
    npx skills add HKUDS/CLI-Anything --skill cli-hub-meta-skill -g -y
     

    이 스킬은 다음 에이전트에서 작동합니다: OpenClaw, Nanobot, Claude Code, Codex, Antigravity 및 다른 SKILL-compatible 에이전트.

    에이전트에게 CLI 사용 요청

    # 에이전트에게 CLI-Hub에서 적절한 CLI를 찾아 작업 완료 요청
    Find appropriate CLI software in CLI-Hub and complete the task: [작업 설명]
     

    메타 스킬은 에이전트를 실시간 CLI-Hub 카탈로그로 연결합니다. 에이전트는 CLI를 선택, 설치, 해당 CLI의 SKILL.md를 읽어 작업별 사용법을 파악합니다.

    SKILL.md 파일 구조

    각 CLI는 `skills/cli-anything-/SKILL.md`에 위치하며, 에이전트 발견용 정보를 포함합니다:

    SKILL.md 내용:

    • YAML frontmatter: name과 description (에이전트 스킬 발견용)
    • Command groups: 모든 서브커맨드 문서화
    • Usage examples: 일반 워크플로우 예시
    • Agent guidance: JSON 출력, 에러 처리, 프로그램적 사용 방법

    📊 지원 소프트웨어 40개 이상

    CLI-Anything은 다양한 카테고리의 소프트웨어를 지원합니다. 각 소프트웨어는 전용 CLI로 변환되어 AI 에이전트가 직접 제어할 수 있습니다.

     

    카테고리 소프트웨어 CLI 명령 테스트
    🎨 크리에이티브 GIMP cli-anything-gimp 107
    🧊 3D 모델링 Blender cli-anything-blender 208
    ✏️ 벡터 그래픽 Inkscape cli-anything-inkscape 202
    🎵 오디오 Audacity cli-anything-audacity 161
    📄 오피스 LibreOffice cli-anything-libreoffice 158
    📹 라이브 스트리밍 OBS Studio cli-anything-obs-studio 153
    🎞️ 비디오 Kdenlive cli-anything-kdenlive 155
    📞 화상 회의 Zoom cli-anything-zoom 22
    📐 다이어그램 Draw.io cli-anything-drawio 138
    🤖 AI 이미지 ComfyUI cli-anything-comfyui 70
    🦙 로컬 LLM Ollama cli-anything-ollama 98
    🎮 게임 개발 Godot cli-anything-godot 24
    🔍 AI 검색 Exa cli-anything-exa 40
    🛡️ 네트워크 AdGuard Home cli-anything-adguardhome 36
    📚 참조 관리 Zotero cli-anything-zotero New
    📖 이북 관리 Calibre cli-anything-calibre 58
    🔬 GPU 디버깅 RenderDoc cli-anything-renderdoc 59
    🎬 비디오 캡션 VideoCaptioner cli-anything-videocaptioner 26

    총 2,330개 테스트 100% 통과 — 1,732 단위 테스트 + 579 E2E 테스트 + 19 Node.js 테스트.

    npx skills add HKUDS/CLI-Anything --skill cli-anything-gimp

    🎬 실제 데모 예시

    AI 에이전트가 생성된 CLI를 사용하여 완전한 결과물을 만드는 실제 데모입니다.

    FreeCAD — 호기심 탐사차

    CLI: cli-anything-freecad | Preview Stack: preview + preview live + trajectory.json | 결과물: 에이전트가 구축한 호기심 탐사차 모델

    에이전트가 FreeCAD 하네스를 사용하여 호기심 탐사차 모델을 점진적으로 구축합니다. 각 단계에서 프리뷰 번들을 생성하고, 라이브 프리뷰 세션을 갱신하며, 명령-프리뷰 history를 trajectory.json에 기록합니다.

    Blender — 궤도 중계 드론

    CLI: cli-anything-blender | Preview Stack: preview + preview live + trajectory.json | 결과물: 에이전트가 구축한 궤도 중계 드론

    에이전트가 Blender 하네스로 하드표면 궤도 중계 드론을 생성합니다. 각 단계에서 새 렌더 번들을 push하고, 라이브 세션이 현재 head를 track하며, trajectory가 각 명령을 해당 visual state에 연결합니다.

    Draw.io — HTTPS 핸드셰이크 다이어그램

    CLI: cli-anything-drawio | 시간: ~4분 | 결과물: .drawio + .png

    에이전트가 CLI 명령만으로 HTTPS 연결 lifecycle 다이어그램을 생성합니다 — TCP 3-way handshake, TLS negotiation, encrypted data exchange, TCP 4-way termination까지 전체 과정.

    Slay the Spire II — 게임 자동화

    CLI: cli-anything-slay-the-spire-ii | 결과물: 자동화된 게임플레이 세션

    에이전트가 CLI 하네스를 통해 Slay the Spire II 게임을 플레이합니다 — 게임 state 읽기, 카드 선택, path 선택, realtime 전략 결정.

    VideoCaptioner — 자동 자막 생성

    CLI: cli-anything-videocaptioner | 결과물: 자막이 추가된 비디오 프레임

    에이전트가 VideoCaptioner CLI로 비디오에 styled 자막을 자동 생성하고 overlay합니다. bilingual text rendering과 customizable formatting을 지원합니다.

    💡 생성된 CLI 사용법

    어떤 플랫폼에서 CLI를 생성했든, 생성된 CLI는 동일한 방식으로 작동합니다.

    CLI 설치 및 실행

    # PATH에 설치
    cd gimp/agent-harness && pip install -e .
    
    # 어디서든 사용
    cli-anything-gimp --help
    cli-anything-gimp project new --width 1920 --height 1080 -o poster.json
    cli-anything-gimp --json layer add -n "Background" --type solid --color "#1a1a2e"
    
    # 대화형 REPL 진입
    cli-anything-gimp
     

    LibreOffice CLI 예시

    # 새 Writer 문서 생성
    cli-anything-libreoffice document new -o report.json --type writer
    ✓ Created Writer document: report.json
    
    # 내용 추가
    cli-anything-libreoffice --project report.json writer add-heading -t "Q1 Report" --level 1
    ✓ Added heading: "Q1 Report"
    
    # 테이블 추가
    cli-anything-libreoffice --project report.json writer add-table --rows 4 --cols 3
    ✓ Added 4×3 table
    
    # LibreOffice headless로 PDF export
    cli-anything-libreoffice --project report.json export render output.pdf -p pdf --overwrite
    ✓ Exported: output.pdf (42,831 bytes) via libreoffice-headless
    
    # JSON mode (에이전트용)
    cli-anything-libreoffice --json document info --project report.json
    {
      "name": "Q1 Report",
      "type": "writer",
      "pages": 1,
      "elements": 2,
      "modified": true
    }
     

    REPL 모드

    $ cli-anything-blender
    ╔══════════════════════════════════════════╗
    ║       cli-anything-blender v1.0.0       ║
    ║     Blender CLI for AI Agents           ║
    ╚══════════════════════════════════════════╝
    
    blender> scene new --name ProductShot
    ✓ Created scene: ProductShot
    
    blender[ProductShot]> object add-mesh --type cube --location 0 0 1
    ✓ Added mesh: Cube at (0, 0, 1)
    
    blender[ProductShot]*> render execute --output render.png --engine CYCLES
    ✓ Rendered: render.png (1920×1080, 2.3 MB) via blender --background
    
    blender[ProductShot]> exit
    Goodbye! 👋

    🌍 지원 AI 플랫폼

    CLI-Anything은 다양한 AI 코딩 에이전트 플랫폼에서 사용할 수 있습니다.

    플랫폼 상태 통합 방식
    ⚡ Claude Code ✅ 공식 플러그인 (/cli-anything)
    ⚡ Pi Coding Agent ✅ 공식 Skill
    ⚡ OpenCode 🧪 Experimental Skill
    ⚡ Goose (Desktop/CLI) 🧪 Community Skill
    ⚡ Qodercli ✅ Community Skill
    ⚡ OpenClaw ✅ Community Skill
    ⚡ Codex 🧪 Experimental Skill
    ⚡ GitHub Copilot CLI ✅ Community Skill

    🏗️ 프로젝트 구조

    CLI-Anything의 소스코드는 명확한 구조로 조직되어 있습니다.

    cli-anything/
    ├── cli-anything-plugin/       # Claude Code 플러그인
    │   ├── HARNESS.md            # 방법론 SOP (단일 소스 오브 트루스)
    │   ├── repl_skin.py          # 통합 REPL 인터페이스
    │   └── commands/             # 플러그인 명령 정의
    ├── cli-hub/                  # CLI-Hub 패키지 매니저
    ├── skills/                   # SKILL.md 파일들 (에이전트 발견용)
    ├── gimp/agent-harness/       # GIMP CLI (107 테스트)
    ├── blender/agent-harness/    # Blender CLI (208 테스트)
    ├── libreoffice/agent-harness/ # LibreOffice CLI (158 테스트)
    ├── freecad/agent-harness/    # FreeCAD CLI
    ├── drawio/agent-harness/     # Draw.io CLI (138 테스트)
    └── [40+ 다른 agent-harness/]
     

    HARNESS.md 파일은 방법론의 단일 소스 오브 트루스 역할을 합니다. 모든 에이전트는 이 파일을 참조하여 일관된 CLI 생성 방식을 따릅니다.

    ⚠️ 한계점과 주의사항

    ⚠️ 주요 한계:

    • 모델 요구사항: Claude Opus 4.6, GPT-5.4 수준 모델 필요
    • 소스코드 접근: 바이너리만 있는 경우 품질 저하
    • 반복 개선: /refine 명령으로 점진적 확장 필요

    📊 GUI 자동화 vs CLI-Anything 비교

    방식 GUI 자동화 CLI-Anything
    제어 방식 스크린샷, 클릭 백엔드 API 직접 호출
    안정성 화면 변화에 취약 소스코드 기반 안정
    기능 커버리지 제한적 100% 가능
    성능 느림 (GUI 렌더링) 빠름 (직접 호출)
    에이전트 통합 복잡 간편 (JSON 출력)
    테스트 어려움 Pytest 자동화
    대체 소프트웨어 Pillow, 커스텀 렌더러 실제 GIMP, Blender

    🎯 맺음말

    지금까지 CLI-Anything에 대해 알아보았습니다. CLI-Anything은 모든 소프트웨어를 AI 에이전트가 제어할 수 있는 CLI로 변환하는 혁신적인 오픈소스 프로젝트입니다. 특히 7단계 자동화 파이프라인으로 코드베이스 분석부터 배포까지 한 번에 처리하고, CLI-Hub 패키지 매니저로 커뮤니티 CLI를 검색·설치할 수 있습니다.

    Claude Code에서는 `/plugin install cli-anything`으로 플러그인을 설치하고 `/cli-anything ./gimp`로 CLI를 생성합니다. npx skills로 cli-hub-meta-skill을 설치하면 에이전트가 자동으로 적절한 CLI를 발견하고 사용합니다. FreeCAD, Blender, Draw.io 등 실제 데모에서 AI 에이전트가 완전한 결과물을 생성했습니다.

     

    여러분도 한번 CLI-Anything을 GitHub에서 확인하고 Claude Code 플러그인을 설치해보시길 추천드리면서 저는 다음 시간에 더 유익한 정보를 가지고 다시 찾아뵙겠습니다. 감사합니다.

    https://fornewchallenge.tistory.com/

     

     


    📚 참고 문헌 및 출처

    728x90