OpenGravity: Google Antigravity의 가볍고 BYOK 방식인 대안

AI 기반 IDE의 지형은 Google Antigravity와 같은 도구들이 원활하고 에이전트 중심적인 코딩 경험을 제공하면서 빠르게 진화하고 있습니다. 하지만 많은 개발자들에게 엄격한 사용량 할당량이나 예측 불가능한 "agent terminated" 오류와 같은 폐쇄형 소스(closed-source)의 제한 사항은 생산성을 저해할 수 있습니다. 이에 대한 해결책으로, 설치가 필요 없는 "Bring Your Own Key" (BYOK) 환경을 제공하여 이러한 제한을 우회하도록 설계된 오픈 소스 프로젝트인 OpenGravity가 등장했습니다.

GCSE 복습 기간 중 고등학생이 사이드 프로젝트로 개발한 OpenGravity는 Antigravity의 직관적인 UI를 복제하는 동시에, 사용자가 자신의 LLM API 키와 기본 실행 환경을 완전히 제어할 수 있도록 하는 것을 목표로 합니다.

OpenGravity의 아키텍처

무거운 프레임워크에 의존하는 많은 현대적인 웹 애플리케이션과 달리, OpenGravity는 극도의 미니멀리즘 철학을 바탕으로 구축되었습니다. 이러한 접근 방식은 도구가 가볍고 빠르게 유지되도록 보장하며, 일반적으로 복잡한 빌드 단계와 관련된 오버헤드를 줄여줍니다.

Vanilla JavaScript 및 CSS

OpenGravity는 순수 HTML, CSS, JavaScript로만 작성되었습니다. React나 Vue와 같은 프레임워크를 배제함으로써, 저자는 빌드 단계를 완전히 제거했습니다. 이는 코드베이스를 기여자들이 쉽게 접근할 수 있게 만들며, 도구가 브라우저에서 거의 즉각적으로 로드되고 실행될 수 있도록 합니다.

WebContainer API 통합

OpenGravity의 가장 기술적으로 도전적인 측면 중 하나는 WebContainer API와의 통합입니다. 터미널을 시뮬레이션하거나 파일 시스템 변경을 가짜로 구현하는 대신, OpenGravity는 실제 브라우저 내 Linux 환경을 제공합니다.

이를 통해 AI 에이전트는 다음과 같은 작업을 수행할 수 있습니다:

  • 쉘 명령어를 직접 실행.
  • 패키지 매니저를 통한 의존성 설치.
  • 로컬 파일 실시간 편집.
  • 보안이 유지되는 격리된 샌드박스 내에서 코드 실행 및 테스트.

터미널 인터페이스를 위한 xterm.js와 결합되어, 이는 브라우저 탭 내에 완전히 존재하는 기능적인 개발 환경을 생성합니다.

주요 기능 및 디자인 철학

Bring Your Own Key (BYOK)

독점 플랫폼과 관련된 속도 제한(rate limits) 및 구독 비용을을 피하기 위해, OpenGravity는 BYOK 모델을 구현합니다. 사용자의 API 키는 오직 localStorage에만 저장되어, 키가 클라이언트 측을 절대 벗어나지 않으며 오직 사용자만이 관리하도록 보장합니다.

오픈 소스 확장성

프로젝트가 오픈 소스이며 vanilla JS로 구축되었기 때문에, 개발자들이 폐쇄형 소스 환경에서는 불가능했을 복잡하고 맞춤화된 에이전트 워크플로우를 구축할 수 있는 기반이 됩니다. 저자는 커뮤니티가 이 기반을 위에 더 전문화된 AI 코딩 도구를 만들기 위해 구축해 나갈 것을 명시적으로 권장합니다.

현재 상태 및 향후 전망

OpenGravity는 현재 알파 단계에 있습니다. 핵심 에이전트 루프와 WebContainer 통합은 기능적으로 작동하지만, 일부 UI 요소(예: 특정 드롭다운 및 버튼)는 하드코딩된 플레이스홀더로 남아 있습니다.

저자에게 이 프로젝트는 전체 로컬 개발 환경을 구팅하는 번거로움 없이 빠른 HTML/CSS/JS 아이디어를 테스트하기 위한 실용적인 도구 역할을 합니다. 더 넓은 않은 커뮤니티에게는, 가벼운 브라우저 기반 IDE가 WebContainer API와 사용자가 제공하는 LLM 키를 통해 어떻게 구동될 수 있는지에 대한 개념 증명(proof-of-concept)을 나타냅니다.

프로젝트가 알파 단계를 넘어설 때, Antigravity에 대한 더 강력한 오픈 소스 대안이 될 수 있는 잠랜력은 기업 생태계의 제약 없이 개발자가 에이전트의 동작과 실행 환경을을 맞춤화할 수 있는 능력에 있습니다.

Sources