gi-dellav/zerostack
Lightweight coding agent written in Rust, optimized for memory footprint and performance
zerostack – 가볍고 Rust 기반의 코딩 어시스턴트
개요 – zerostack은 터미널 기반 AI "코딩 에이전트"로, 코드 작성, 계획, 리뷰, 디버깅, 리팩토링을 수행할 수 있습니다. 대규모 언어 모델 제공업체(OpenAI, Anthropic, Gemini, OpenRouter, Ollama 등)와 통신하고 내장 유틸리티 도구 상자(파일 읽기/쓰기, grep, git, 셸 명령, 웹 검색 등)를 사용하여 요청된 작업을 실행합니다. 전체 시스템은 Rust로 작성된 단일 네이티브 바이너리(약 26MB)로 실행되며, JavaScript 기반 대안에 비해 낮은 메모리/CPU 사용량을 목표로 합니다.
주요 기능
- 다중 공급자 지원 – 모든 LLM 서비스와 사용자 지정 공급자 후크를 연결할 수 있습니다.
- 풍부한 프롬프트 라이브러리 –
code,plan,review,debug,brainstorm,frontend-design등의 내장 시스템 프롬프트를 런타임에 전환하거나 사용자 지정 Markdown 프롬프트를 추가할 수 있습니다. - 권한 시스템 – 에이전트가 호출할 수 있는 도구를 제어하는 5가지 안전 모드(
restrictive,readonly,guarded,standard,yolo)와 도구별 glob 규칙 및 세션 전체 허용 목록을 제공합니다. - 세션 지속성 – 세션 저장, 로드, 재개가 가능하며, 자동 컨텍스트 창 압축, 실행 간 시스템 프롬프트에 주입되는 선택적 일반 Markdown 메모리를 지원합니다.
- 터미널 UI – crossterm TUI로 Markdown 렌더링, 마우스 복사, 스크롤백, 모델의 "생각" 추적 표시 토글을 제공합니다.
- 확장성 – 선택적 컴파일 타임 기능:
- MCP(에이전트 통신 프로토콜)로 Zed와 같은 편집기에 연결.
- 어드바이저 – 전략적 지침을 위해 상담하거나 인간에게 넘길 수 있는 두 번째 모델.
- 후크 – Claude Code와 동일한 JSON 계약을 사용하여 도구 호출을 관찰하거나 거부할 수 있는 외부 명령.
- 멀티모달 입력 – 이미지 또는 PDF 첨부(공급자가 지원하는 경우).
- 상태 신호 – 외부 상태 표시줄을 위해 Unix 소켓을 통해 실행 상태 이벤트를 발행.
- 하위 에이전트 및 병렬 작업 – 코드베이스를 탐색하기 위한 빠른 병렬 하위 에이전트를 생성하거나
multistack을 실행하여 여러 에이전트를 동시에 관리할 수 있습니다. - 샌드박싱 – 에이전트가 실행하는 모든 셸 명령에 대해 선택적
bubblewrap(Linux) 또는zerobox(macOS) 격리를 제공하며, 자격 증명 디렉토리의 세밀한 노출과 네트워크 제어를 지원합니다.
사용 방법
- 제공된 스크립트, Cargo, Homebrew 또는 Nix로 설치합니다.
- LLM 공급자의 API 키를 내보냅니다(기본값은 OpenRouter).
zerostack을 실행하면 자연어 요청을 입력할 수 있는 TUI가 표시됩니다./prompt <name>또는/mode <permission-mode>로 에이전트 동작을 즉시 변경합니다.- 세션을 저장(
/session save)하고 나중에 재개합니다(zerostack -c).
중요성
- 성능 – 약 16MiB RAM과 거의 0에 가까운 유휴 CPU로 저사양 머신이나 장기 실행 세션에 적합합니다.
- 안전성 – 권한 시스템과 샌드박싱은 자율 코딩 봇에서 흔한 문제인 우발적 파괴 명령을 방지하는 것을 목표로 합니다.
- 네이티브 Rust – 많은 경쟁 에이전트가 요구하는 무거운 Node.js 런타임을 피하여 시작 속도가 빠르고 공격 표면이 작습니다.
- 사용자 지정 워크플로 – 프롬프트 체인을 통해 브레인스토밍 → 계획 → 코딩 → 리뷰의 흐름을 안내되고 반복 가능한 프로세스로 진행할 수 있습니다.
시작하기 – 리포지토리에는 전체 Get Started 가이드, 빠른 설치 스크립트, 커뮤니티 지원을 위한 전용 Matrix 채팅방이 포함되어 있습니다.
위의 모든 세부 사항은 프로젝트의 README에서 직접 가져온 것입니다.
관련
- Dispatch
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트