The Construct CLI
<p align="center">
<img src="https://raw.githubusercontent.com/EstebanForge/construct-cli/HEAD/construct-cli-logo.png" alt="The Construct CLI Logo" />
</p>
The Construct는 AI 에이전트가 미리 로드된 깨끗하고 격리된 샌드박스 컨테이너를 부팅하는 단일 바이너리(single-binary) CLI입니다. 이 도구는 호스트 시스템을 의존성 확산(dependency sprawl)으로부터 보호하며, 선택적 네트워크 격리를 추가하고, Docker, Podman 또는 macOS 네이티브 컨테이너 런타임과 함께 작동합니다.
하지만 가장 중요한 점은 로컬 머신을 LLM 프롬프트 주입 공격(LLM prompt injection attacks), 이 방식으로 유포되는 악성 코드(malware), 이렇게 도난당하는 자격 증명(credentials), 그리고 여러분의 파일을 아무것도 남기지 않게 할 수 있는 AGENT가 저지르는 위험한 실수로부터 안전하게 유지한다는 것입니다.
주요 특징 (Highlights)
-
단 하나의 명령어로 보안이 확보된 격리된 샌드박스 내부의 모든 AGENT를 사용할 수 있습니다. 에이전트는 호출되는 경로에서 스폰되며, 경로 탈출(path escape) 위험이 없습니다.
-
설정 불필요 (Zero Config): 복잡한 설정이 필요하지 않습니다. The Construct는 macOS, Linux 및 Windows (WSL) 전반에 걸쳐 별도의 설정 없이 바로 작동합니다.
-
자동 감지(Auto-detection): 사용 가능한 최적의 컨테이너 런타임(macOS 네이티브 → Podman → Docker)을 자동으로 감지하고 사용합니다.
-
실험적 MicroVM 엔진: 마이크로 VM(MicroVMs)을 통한 선택적 하드웨어 수준 격리 기능을 제공하며, 전용 게스트 리눅스 커널로 에이전트를 실행합니다. 이 기능은 데몬과 [daemon] mount_paths가 프로젝트 루트를 포함하도록 함께 사용해야 하며, 프로젝트를 전환할 때 샌드박스가 재사용되고 다시 생성되지 않도록 합니다.
-
깨끗한 상태(Clean Slate): 임시 샌드박스를 제공합니다. 사용자 설정 홈 디렉터리(에이전트, 캐시, 도구)와 프로젝트 디렉터리는 실행 간에도 유지됩니다.
-
네트워크 격리(Network Isolation): 허용적(permissive), 엄격(strict), 또는 오프라인(offline) 네트워크 모드를 선택할 수 있으며, 허용/차단 목록을 설정할 수 있습니다.
-
SSH 에이전트 포워딩(SSH Agent Forwarding): SSH 에이전트를 자동으로 감지하고 안전하게 마운트합니다.
-
전체 클립보드 브리지(Full Clipboard Bridge): Claude, Copilot, Antigravity, Qwen, Pi를 위한 텍스트 및 이미지 붙여넣기 지원 기능을 제공합니다.
-
에이전트 브라우저(Agent Browser): AI 에이전트를 위한 헤드리스 브라우저 자동화 CLI입니다.
-
호스트 루프백 브라우징(Host Loopback Browsing): 헤드리스 브라우저 에이전트가 호스트로 제공되는 localhost/*.localhost의 개발 사이트에 접근할 때, 호스트로의 자동 TCP 릴레이를 통해 접속합니다.
-
터미널 ID 포워딩(Terminal Identity Forwarding): kitty 및 Ghostty 터미널 마커가 샌드박스로 전달되어 TUI와 pi 확장이 인라인 이미지를 올바르게 렌더링하도록 합니다.
-
사용자 정의 패키지(User-Defined Packages): apt, mise, bun, npm, pip, cargo 또는 gems 패키지로 샌드박스를 사용자 지정할 수 있습니다.
-
병렬 워크플로우(Parallel Workflows): 병렬 AI 에이전트 워크플로우를 위한 Git worktree 관리를 지원합니다.
스크린샷
Screenshot 1
Screenshot 2
Screenshot 3
Screenshot 4
사용 가능한 AGENTS
- Codex CLI (
codex) – OpenAI의 GPT 모델용 최고급 코딩 에이전트
- Antigravity CLI (
agy) – Google의 Gemini 모델용 최고급 코드 에이전트
- Claude Code (
claude) – Anthropic의 Claude 모델용 최고급 코딩 에이전트
- GitHub Copilot CLI (
copilot) – 모든 Copilot 지원 모델에 접근 가능한 GitHub Copilot 코드 에이전트
- Pi Coding Agent (
pi) – Earendil Works의 최소 확장 가능 코딩 에이전트
- Pig (
pig) – Pi의 Go 구현체 (pi-in-go.dev); 동일한 에이전트 인터페이스, ~/.pig에서 독립적인 설정 제공
- OpenCode (
opencode) – OpenCode의 코딩 에이전트로, 빠르고 오픈 가중치 모델로 가득함
- Amp CLI (
amp) – Sourcegraph의 코딩 에이전트
- Qwen Code (
qwen) – Alibaba의 Qwen 모델용 코딩 에이전트
- Cline (
cline) – VS Code 및 CLI를 위한 자율 코딩 에이전트
- Droid CLI (
droid) – Factory의 코딩 에이전트
- Goose CLI (
goose) – Block의 코딩 에이전트
- Crush CLI (
crush) – Charmbracelet의 코딩 에이전트
- Kilo Code CLI (
kilocode) – Kilo Code의 코딩 에이전트
- Claude Code (다른 제공업체와 함께): Zai GLM, MiniMax M2, Kimi K2, Qwen, Mimo
- 전체 에이전트 목록 →
빠른 설치(Quick Install)
curl -fsSL https://raw.githubusercontent.com/EstebanForge/construct-cli/main/scripts/install.sh | bash
...
상세 설치 가이드 →
빠른 시작(Quick Start)
PATH 쉼(shims): 하네스 및 비셸 호출자 내의 에이전트
셸 별칭(Shell aliases)은 대화형 셸 내부에서만 존재합니다 (이전의 별칭 시스템은 심(shims)으로 대체되었습니다). 코딩 에이전트를 관리하는 도구들(Paseo와 같은 오케스트레이터, IDE 확장 기능, CI 래퍼 등)은 에이전트 바이너리를 PATH에서 해결하거나 셸 없이 직접 실행하므로, 별칭을 볼 수 없습니다. 이들은 순수한 호스트 바이너리만 실행합니다. 항상 에이전트를 샌드박스 내부에서 사용하고 싶은 사용자들을 위해, 심(shims)은 또한 ns-<agent> 실행 파일을 설치하여 실제 호스트 바이너리를 직접 실행하며 (비-샌드박스), 이를 설치하면 셸 설정 파일에서 레거시 관리 별칭 블록이 제거됩니다:
construct sys shims --install
pi --version
ns-pi --version
...
심(Shims)은 모든 인수를 사용하여 construct <slug>을 실행합니다. stdin/stdout은 변경되지 않고 그대로 전달되므로, RPC 모드(예: pi --mode rpc)의 에이전트는 stdout에 JSON 스트리밍을 계속 유지할 수 있습니다. 오케스트레이터가 전달하는 호스트 경로 인수들(pi --extension, --mcp-config, --session)은 자동으로 construct 홈으로 스테이징되고 컨테이너 경로로 재작성되므로, 하네스(harness) 기반 에이전트는 브리지를 온전히 유지하며 샌드박스 처리되어 실행됩니다. 명시적인 에이전트 바이너리를 허용하는 하네스(예: Paseo의 PI_COMMAND)는 심 파일 자체를 직접 가리킬 수도 있습니다. 오케스트레이터를 위한 전체 설정 가이드 (데몬 마운트, PATH, 문제 해결): docs/HARNESSES.md.
일반적인 예시
construct claude -ct-n strict "제 코드 검토해줘"
...
문서화
시작하기
기능 (Features)
참고 자료 (Reference)
CLI 참조
construct sys init
construct sys doctor
...
보안
내장 보호 기능:
- ✅ 컨테이너 격리 (에이전트가 프로젝트 디렉터리를 벗어날 수 없음)
- ✅ 네트워크 격리 (허용/엄격/오프라인 모드)
- ✅ 임시(휘발성) 컨테이너 (실행할 때마다 깨끗한 상태 유지)
- ✅ 경로 이탈 방지 (에이전트는 프로젝트 루트 내에 머무름)
- ✅ 비밀 정보 마스킹 (실험적 기능) - 문서 보기
- ✅ 선택적 마이크로 VM 격리 (실험적,
backend = "msb") - 문서 보기
빌드 무결성:
- ✅ GitHub Actions를 통한 자동화된 CI/CD 빌드
- ✅ 소스 커밋을 추적할 수 있는 재현 가능한 빌드
- ✅ 릴리스 검증을 위한 SHA256 체크섬
전체 보안 가이드 →
기여하기
기여를 환영합니다! 다음 문서를 참고하세요:
라이선스
MIT License - 자세한 내용은 LICENSE 참조
감사의 글
제 아이들을 위해 ❤️로 제작되었습니다. 마음껏 실험하고 즐기세요. 재미있게 사용하세요.
문서: docs/ | 이슈: GitHub Issues | 릴리스: GitHub Releases