<div align="center">
🚀 Superagent
페어 프로그래밍, 컨텍스트 엔지니어링, 자율 워크플로우 자동화를 위한 대화형 터미널 기반 AI 코딩 어시스턴트.
Version
License
Bun
t-line
<br />
Superagent Terminal UI
</div>
⚡ 개요 (Overview)
Superagent는 개발자를 위해 구축된 고성능의 터미널 네이티브 AI 코딩 어시스턴트입니다. 로컬 터미널에서 쉘 명령을 실행하고, 코드베이스를 검사 및 편집하며, 테스트 스위트를 실행하고, 다중 파일 편집을 관리하며, 컨텍스트 가지치기(context pruning)를 자동화합니다.
Superagent는 공식 데스크톱 클라이언트인 **t-line**과 네이티브로 페어링됩니다.
✨ 주요 기능 (Key Features)
-
🎯 단일 에이전트 모드 (Single Agent Mode) (주요 기능): 실시간 터미널 실행, 지능형 도구 사용(tool usage), 서브에이전트 위임(subagent delegation)을 통한 원활한 페어 프로그래밍.
-
⚡ 즉시 시작 및 시스템 캐시 (Instant Startup & System Cache): 병렬화된 제로 대기 의존성 검사, 분리된 백그라운드 신경 분류기 로딩(neural classifier loading), 영구적인 24시간 캐시, 그리고 즉각적인 -q / --quick 빠른 경로(< 200ms).
-
📡 옴니채널 메시징 게이트웨이 (Omnichannel Messaging Gateway): 세션 매핑 및 자동 메시지 청킹(message chunking)을 지원하는 Telegram, Discord, Slack 및 일반 웹훅을 지원하는 양방향 메시징 통합.
-
⏰ 자율 헤드리스 데몬 및 크론 스케줄러 (Autonomous Headless Daemon & Cron Scheduler): 표준 5필드 크론 파싱(분 시 일 월 요일)을 갖춘 백그라운드 실행 데몬으로, 오버랩 보호(overlap protection), 동시성 제한(concurrency limits) 및 CLI 관리를 제공합니다.
-
🧩 자율 스킬 합성기 (Autonomous Skill Synthesizer): 실행 궤적(execution trajectories)에서 다단계 도구 워크플로우, 명령어 패턴, 오류 복구 과정을 추출하여 재사용 가능한 SKILL.md 문서로 만듭니다.
-
🖥️ 네이티브 데스크톱 통합 (Native Desktop Integration): 수동 구성 없이 t-line 데스크톱 GUI 앱과 자동으로 연결됩니다.
-
🧠 스마트 컨텍스트 관리 (Smart Context Management): 자동 토큰 추적(token tracking), LLM 요약, 전략 기반 가지치기(strategy-based pruning), 메시지 고정(message pinning).
-
🛡️ 로컬 Git 체크포인트 (Local Git Checkpoints): 활성 세션 중 자동 브랜치 체크포인트 및 안전 롤백 기능을 제공합니다.
-
🛠️ 통합 도구 모음 (Integrated Tooling): 파일 검색, 정규표현식 ripgrep, 백그라운드 명령어 실행기, 터미널 프리셋, 시스템 수준 스크린샷, 그리고 Playwright 웹 페이지 스크린샷 등 내장 기능을 갖추고 있습니다.
-
⚙️ 배치 우선 경계 실행 (Batch-First Bounded Execution): 파일 읽기 배치는 격리된 Node OS 워커 프로세스(최대 4개)를 사용하며, 로컬, SSH 및 MCP 배치 I/O는 제한된 동시성(bounded concurrency)과 순서화된 결과를 사용합니다. MCP 도구 superagent_process_pool_status로 워커 카운터를 확인하고, 현재 범위와 남은 Agent IPC 작업을 보려면 multi-process runtime plan을 참조하세요.
-
🌐 원격 SSH 작업 공간 (Remote SSH Workspaces): 활성 경계 보호, 대화형 경로 확장, 로컬-원격 파일 전송 및 작업 공간 기반 세션 연속성을 통해 원격 호스트에 안전하게 연결할 수 있습니다.
-
🛰️ 원격 AI 에이전트 조정 (Muse) (Remote AI Agent Coordination (Muse)): Cloudflare Tunnel + WebSocket 또는 Telegram 버스를 통해 원격 AI 두뇌와 협력하며, 고수준 추론(high-level reasoning)은 Muse에 위임하고 Superagent는 다중 프로젝트 감시 모드 및 다중 터널 격리 기능을 갖추고 로컬에서 배치 도구를 실행합니다.
-
🔌 Tunnel을 통한 MCP (MCP via Tunnel): 안전한 도구 허용 목록(safe-tool allowlist)을 통해 Streamable HTTP로 Superagent 도구를 노출하며, 위험한 작업에 대한 명시적 옵트인(explicit opt-in)과 감사 로깅(audit logging) 기능을 제공합니다. 직접적인 Muse 대화를 위해서는 superagent_muse_chat_status가 준비 상태를 확인하고, superagent_muse_chat은 별도의 인증된 Muse WebSocket 터널을 통해 상관관계 있는 답변을 기다립니다.
-
🗂️ MCP 독립 다중 프로젝트 관리 (v1.14.0) (MCP Independent Multi-Project Management): 하나의 MCP 연결을 통해 여러 개의 관련 없는 로컬 저장소 및 독립적인 SSH 프로젝트에서 작업할 수 있습니다. 워크스페이스 체인(Workspace Chain)은 선택 사항이며, 노드 간 워크플로우에만 필요합니다. 안정 ID로 프로젝트를 등록/목록화/검사하고, projectId를 가진 대상 지원 도구와 신원 기반 읽기, 쓰기, 실행, git, worktree, 계획(planning), 또는 체인 기능을 부여할 수 있습니다.
프로젝트 권한은 로컬에서 Full YOLO를 요구하며 보호된 구성이나 경로 경계 검사를 재정의하지 않습니다. 독립형 SSH는 워크스페이스 검사, 명령어 실행, 배치 파일 I/O, 목록화/검색 및 프로젝트별 별도의 SSH 연결을 통한 Git 지원을 제공합니다. 미지원 SSH 도구는 로컬에서 실행되는 대신 닫힌(fail closed) 방식으로 작동합니다. 독립형 MCP 프로젝트를 참조하십시오.
- 🌐 Chrome 프로세스 도구 (v1.5.146): 프로필 전반에 걸쳐 실행 중인 모든 Chrome 창 목록화(창별 탭 목록 포함) 및 특정 Chrome 프로필을 안전하게 종료하는 내장 도구입니다.
- **🤖 3단계 다중 에이전트 모드 (실험적) ***: 여러 Git 작업 트리(
--multi)에 걸쳐 격리된 Superagent를 오케스트레이션하는 마스터 Agent입니다.
- 🌐 확장 기능 없는 Chrome 자동화 (v1.10.0): Chrome DevTools Protocol을 통해 실제 Chrome 브라우저를 직접 구동합니다 — 확장 프로그램이 필요하지 않습니다 (
control_chrome_cdp: 탐색, 요소 인덱스를 통한 스냅샷/클릭/입력, wait_for, 스크린샷, PDF, 쿠키). --remote-debugging-port=9222로 시작한 Chrome이 필요합니다 (아래 참조).
- 👁️ 비전 기반 UI 자동화 및 Set-of-Mark 인식 (v1.13.30+):
control_chrome_vision은 Set-of-Mark(SoM) 시각적 인식을 위해 로컬 UI-DETR-1 AI(RF-DETR Medium ~535MB)를 사용합니다 (perceive_page), 시각적 ID를 통한 직접 좌표 클릭/입력(click_id, type_id), 자동화된 UI 레이아웃 결함 감사(audit_layout), 그리고 전후 시각 차이 검증(verify_visual_state)을 수행합니다. 취약한 CSS 선택자, shadow-DOM 또는 캔버스 장벽은 없습니다.
🚀 빠른 시작 (Quick Start)
설치 (Installation)
Bun (v1.0 이상) 또는 Node.js가 필요합니다.
git clone https://github.com/RudyCity/superagent.git
cd superagent
...
사용법 (Usage)
💻 데스크톱 앱 통합 (t-line)
Superagent는 Superagent의 데스크톱 버전인 **t-line**과 자동으로 연결됩니다.
수동 서버 설정이나 추가 CLI 인수는 필요하지 않습니다. 단순히 Superagent와 함께 t-line을 실행하여 통합된 데스크톱 경험을 누리세요.
🌐 Chrome 원격 디버깅 (확장 프로그램 불필요)
control_chrome_cdp 도구는 Chrome DevTools Protocol을 통해 실제 Chrome 브라우저를 직접 자동화합니다. 확장 프로그램이 필요 없습니다.
일회성 설정 (Windows):
- 모든 Chrome 창을 닫으세요 (Chrome은 싱글톤입니다: 디버그 플래그는 이미 실행 중인 창이 있다면 무시됩니다).
scripts/chrome-debug.bat을 더블클릭하세요. --remote-debugging-port=9222가 적용된 Chrome이 실행됩니다. 만약 Chrome이 여전히 실행 중이라면, 종료하는 대신 경고 메시지를 표시합니다.
- 확인:
curl http://127.0.0.1:9222/json/version은 브라우저 정보를 반환해야 합니다.
참고:
- 디버그 포트는
127.0.0.1에만 바인딩됩니다. 네트워크를 통해 접근할 수 없습니다.
- 영구적인 설정을 위해서는 Chrome 바로가기(예: 작업 표시줄 고정된 바로가기)에
--remote-debugging-port=9222를 추가하세요.
- 이 도구는 Chrome이 디버그 모드로 실행되고 있지 않으면 명확한 메시지와 함께 즉시 실패합니다.
👁️ Vision 기반 Chrome 자동화 및 Set-of-Mark (SoM) 인식 (UI-DETR-1)
control_chrome_vision 도구는 로컬 racineai/UI-DETR-1 모델(~535MB, RF-DETR Medium)을 사용하여 **인간과 유사한 시각적 인식 및 공간적 접지(spatial grounding)**를 제공합니다. 이는 불안정한 CSS 선택자, DOM 트리 덤프 또는 canvas/shadow-DOM의 한계에 대한 의존성을 제거합니다.
핵심 기능:
- Set-of-Mark (SoM) 인식 (
perceive_page): 스크린샷을 받아 UI 컴포넌트를 감지하고, 번호가 매겨진 시각적 배지([1], [2], [3]...)와 색상 코드가 지정된 바운딩 박스를 오버레이하며, 주석이 달린 이미지를 멀티모달 LLM(Claude 3.5 Sonnet, GPT-4o, Gemini, Qwen2.5-VL)에 직접 주입합니다.
- 직접 시각적 액션 (
click_id, type_id): 모든 시각적 ID의 중심 좌표로 네이티브 CDP 마우스/키보드 이벤트를 직접 전송하여 (예: click_id(id=3)), Canvas, WebGL 또는 복잡한 shadow-DOM 트리가 있는 경우에도 원활한 상호 작용을 가능하게 합니다.
- 시각적 레이아웃 감사기 (
audit_layout): UI 및 접근성 결함을 페이지에서 자동으로 검사합니다:
- 겹치는 요소 (Overlapping Elements): 상호작용 컨트롤 간의 충돌 감지 (>40% 겹침).
- 터치 타겟 결함 (Touch Target Defects): 24×24px보다 작은 버튼이나 필드를 플래그 지정합니다.
- 화면 외부 요소 (Off-Screen Elements): 활성 뷰포트 밖에 잘리거나 렌더링된 요소를 식별합니다.
- 레이블 없는 컨트롤 (Unlabeled Controls): 접근성 레이블이나 텍스트가 누락된 상호작용 컨트롤을 강조 표시합니다.
- 시각적 상태 검증 (
verify_visual_state): 액션 전후의 스크린샷을 비교하고, 픽셀 차이 비율(/diff)을 계산하여 UI 전환이 실제로 화면에 발생했는지 보장합니다.
- 상호작용 확장 사이드패널 (
chrome-extension/): 인간 감사자가 스크린샷 요소에 직접 클릭할 수 있는 상호작용 비전 캔버스를 포함하며 (자동으로 조정된 좌표가 활성 탭으로 전송됨), 카테고리별로 배지를 필터링할 수 있습니다 (All, Buttons, Fields, Links).
모델 상세 정보 및 제로-설정(Zero-Config) 설정:
- 모델:
racineai/UI-DETR-1 (~535MB, RF-DETR Medium).
- 클래스:
button, field, heading, iframe, image, label, link, text.
- 자동 캐싱(Automatic Caching): 가중치(
model.pth)는 첫 실행 시 한 번 다운로드되며 HuggingFace Hub (~/.cache/huggingface/hub/)에 영구적으로 캐시됩니다.
- 자동 데몬(Auto-Daemon): Superagent는
control_chrome_vision이 호출될 때마다 로컬 UI-DETR-1 서비스(scripts/vision_server.py, 포트 8095)를 자동으로 시작합니다.
- 포트:
127.0.0.1:8095에서 수신(localhost 전용).
- 경량 아키텍처(Lightweight Architecture): OmniParser 대신 이 단일 ~535MB 모델을 사용하여 메모리 소비를
2.8GB VRAM으로 줄였으며, 추론 속도는 23배 빨라졌습니다.
⌨️ 명령어 참조 (Command Reference)
핵심 및 세션 명령어 (Core & Session Commands)
| 명령어 | 설명 |
|---|
/help | 대화형 명령어 가이드 및 활성 단축키 표시 |
| ... | |
설정 및 제공자 (Configuration & Providers)
| 명령어 | 설명 |
|---|
/setup | 대화형 제공자(provider) 및 초기 설정 마법사 실행 |
| ... | |
| 명령어 | 설명 |
|---|
/agents | 활성 서브에이전트 및 정의된 서브에이전트 유형 목록 표시 |
| ... | |
작업 공간 관리 (Workspace Management)
| 명령어 | 설명 |
|---|
/workspace /w | 로컬, 원격(SSH) 작업 공간 및 작업 공간 체인 관리 |
| ... | |
/workspace 하위 명령어: | |
status — 현재 작업 공간 정보 및 SSH 원격 상태 표시
add <path|ssh://...> — 작업 공간 등록 (로컬 경로 또는 SSH 원격)
use <path|index> — 등록된 작업 공간으로 전환
SSH 원격 형식: ssh://user@host:port/path?key=/path/key.pem
추가 허용 경로 선언: ssh://user@host:port/path?key=/path/key.pem&allow=/var/www/html,/etc/nginx
SSH 작업 공간 예시:
/ssh 하위 명령어(subcommands):
status: 현재 SSH 호스트, 작업 공간 경로(workspace path), 그리고 허용된 경로를 표시합니다.
expand <path>: 추가 절대 경로를 화이트리스트에 등록합니다 (예: /var/www/html).
allowed: 현재 화이트리스트에 등록된 모든 추가 경로 목록을 보여줍니다.
🔒 SSH 작업 공간 경계 확장 및 허용 경로(Allowed Paths)
Superagent는 승인되지 않은 파일 읽기/쓰기 작업을 방지하기 위해 SSH 원격 작업 공간에 엄격한 경계 보호(boundary protection)를 적용합니다. 접근 권한을 추가 경로로 확장할 수 있습니다:
- 자동 경계 확장 (Automatic Boundary Expansion): 도구가 원격 작업 공간 외부의 경로에 접근하려고 시도하면, Superagent는 대화형 확인 다이얼로그(interactive confirmation dialog)를 띄웁니다. 승인되면 경계가 동적으로 확장됩니다.
- URL을 통한 허용 경로 (Allowed Paths via URL):
?allow= 매개변수를 사용하여 연결 시 추가 디렉터리를 지정합니다.
- 런타임 명령어 (Runtime Command):
/ssh expand <path>를 사용하여 언제든지 디렉터리를 화이트리스트에 등록할 수 있습니다.
📂 로컬 세션 스크래치 및 파일 전송