webcoyote/sandvault

Run AI agents isolated in a macOS user account and sandbox-exec. Configured to run Claude Code, OpenAI Codex, Cursor Agent, Google Gemini.

SandVault – macOS에서 사전 설정된 AI 에이전트 및 쉘 명령어

무엇인가요 – SandVault (sv)는 가벼우면서 제한된 macOS 사용자 계정을 생성하고, 그 계정 내에서 명령어(예: Claude, Codex, Gemini 등 인기 있는 코드 생성 에이전트 포함)를 실행하는 명령줄 유틸리티입니다. macOS의 sandbox-exec과 별도의 사용자 계정을 결합하여, 전체 가상 머신의 부담 없이 VM과 유사한 격리 환경을 제공합니다.

주요 기능

  • AI 준비 완료 – Claude, OpenAI Codex, OpenCode, Google Gemini, pi, Muse Code 등 인기 있는 코드 생성 에이전트를 호스트 또는 사내에서 한 번의 클릭으로 시작할 수 있습니다.
  • 웹 및 iOS 자동화 – 사내는 호스트의 헤드리스 Chrome(또는 Lightpanda) 인스턴스와 Chrome DevTools 프로토콜을 통해 통신할 수 있으며, HTTP 브리지를 통해 iOS 시뮬레이터를 제어할 수 있어 웹 페이지 및 iOS 앱의 UI 테스트를 자동화할 수 있습니다.
  • 빠른 컨텍스트 전환 – macOS 사용자 전환만으로도 사내 세션을 시작하는 것이 거의 즉각적이며, VM을 시작하는 것과는 달리 지연이 없습니다.
  • 비밀번호 없이 전환 – 초기 설정 후 사내 사용자는 sudo -u sandbox-$USER …로 가짜로 실행하거나, SSH를 통해 인터랙티브 비밀번호 없이 접근할 수 있습니다.
  • 공유 워크스페이스 – /Users/Shared/sv-$USER 아래의 디렉터리는 메인 계정과 사내 계정 모두에서 쓸 수 있어 파일이나 Git 리포지토리 교환을 쉽게 할 수 있습니다.
  • 방어의 다층화 – 사내 사용자는 홈 폴더, 다른 사용자, 마운트된 드라이브, 시스템 파일에 접근할 수 없으며, 읽기 전용 시스템 경로 몇 가지만 볼 수 있습니다.
  • 깨끗한 제거 – sv uninstall 명령어로 사내 사용자와 모든 파일을 제거할 수 있지만, 공유 워크스페이스는 그대로 유지됩니다.

사용 방법

# 사내에서 Claude 실행
sv claude
# 사내에서 쉘 명령어 실행
sv shell /Users -- pwd
# 공유 영역에 리포지토리 복제하고 거기서 에이전트 시작
sv-clone https://github.com/example/repo.git -- codex

또한 --ssh를 추가하여 사내 사용자로 SSH 연결을 통해 명령어를 실행하거나, SANDVAULT_ARGS를 설정하여 --native-install(에이전트를 사내에 설치)와 같은 옵션을 기본값으로 설정할 수 있습니다.

설치 – Homebrew(brew install sandvault) 또는 리포지토리를 복제하고 sv 스크립트를 $PATH에 추가하여 사용할 수 있습니다.

고급 기능

  • 네이티브 설치 – 에이전트는 자체 설치 프로그램을 사용해 사내에 설치할 수 있습니다(sv -N claude).
  • 브라우저 자동화 – 헤드리스 Chrome(또는 Lightpanda)를 시작하고 SV_BROWSER_ENDPOINT 환경 변수를 사용해 사내에서 연결할 수 있습니다. Playwright 또는 Puppeteer와 호환됩니다.
  • iOS 시뮬레이터 자동화 – 호스트에서 새 시뮬레이터가 시작되어 HTTP 브리지를 통해 노출됩니다(SV_IOS_SIMULATOR_ENDPOINT). 간단한 curl 명령어로 접근성 트리 조회, 요소 탭, 앱 실행, 스크린샷 캡처가 가능합니다.
  • SSH 키 관리 – 공개 키를 ~/.config/codeofhonor/sandvault/authorized_keys.d/에 넣으면 SandVault이 사내 사용자의 authorized_keys를 자동으로 재구성합니다.
  • AgentsView 통합 – AgentsView 대시보드를 사용하는 경우, sv-agentsview-setup가 사내 세션 데이터를 미러링하여 AI 에이전트 활동을 호스트 세션과 함께 확인할 수 있습니다.

제한 사항

  • GUI 앱은 macOS가 다른 사용자가 WindowServer에 연결하는 것을 방지하기 때문에 사내에서 실행할 수 없습니다.
  • 중첩된 sandbox-exec는 지원되지 않습니다. swift와 같은 도구의 경우 환경 변수 플래그로 내부 사내를 비활성화하거나, --no-sandbox(-x)로 SandVault을 실행해야 합니다.

대상 사용자 – 강력한 AI 코드 생성 에이전트를 실험하거나 브라우저/iOS 시뮬레이터 자동화를 원하면서도, 이러한 도구를 메인 macOS 환경에서 격리하고 싶은 개발자에게 적합합니다. Docker 스타일 컨테이너가 무거우거나 사용 불가능한 macOS 환경에서 특히 유용합니다.


TL;DR – SandVault은 macOS 전용 CLI로, 제한된 사용자 계정을 생성하고, AI 코드 생성 에이전트, 쉘 명령어, 헤드리스 Chrome, iOS 시뮬레이터 자동화를 사내에서 실행할 수 있게 하며, Homebrew를 통해 간편하게 설치 및 제거할 수 있습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트