Show HN: OpenGravity – Antigravity의 설치가 필요 없는 BYOK 바닐라 JS 클론
요약
OpenGravity는 Google Antigravity UI를 재현한 설치가 필요 없는 브라우저 기반의 에이전트 워크스페이스입니다. WebContainer API와 xterm.js를 활용하여 실시간 터미널 환경을 제공하며, 사용자의 API 키를 직접 사용하는 BYOK 방식을 통해 자율적인 소프트웨어 엔지니어링 작업을 수행합니다.
핵심 포인트
- Google Antigravity UI를 모방한 가볍고 빠른 바닐라 JS 기반 클론 프로젝트
- WebContainer API를 통한 브라우저 내 실시간 Linux 유사 터미널 환경 제공
- Gemini API를 활용한 선제적 에이전트 추론 및 자율적 코딩 작업 수행
- BYOK(Bring Your Own Key) 방식을 채택하여 개인정보 보호 및 모델 선택권 제공
- 설치가 필요 없는 제로 블로트(Zero Bloat) 설계
OpenGravity
<div align="center"> <img src="https://github.com/ab-613/OpenGravity/blob/main/assets/icon.jpeg?raw=true" alt="OpenGravity Logo" width="100"> </div> <br>설치가 필요 없는 에이전트 기반 워크스페이스 (agentic workspace).
Google Antigravity UI를 실험적이고 가볍게 재현한 BYOK (Bring Your Own Key, 직접 키 가져오기) 프로젝트입니다. OpenGravity는 WebContainer API를 통해 구동되는 실시간 xterm.js 터미널을 갖춘, 브라우저 기반의 추론 가능 IDE (Integrated Development Environment)를 제공합니다. 직접적인 로컬 파일 시스템 동기화 기능과 기본적인 소프트웨어 엔지니어링 작업을 오케스트레이션하고, 셸 명령어를 실행하며, 실시간으로 파일을 편집할 수 있는 선제적인 자율 에이전트 (autonomous agent) 기능을 특징으로 합니다. 현재는 개발 진행 중인 단계입니다. 기본적인 코딩 작업에는 작동하지만, 이 버전은 "알파 (Alpha)" 버전으로 간주해 주세요.
최대 속도와 설치 제로를 위해 순수 HTML/CSS/JS로 구축되었습니다.
기원 (Origin)
- 저는 제가 만들고 있는 수많은 프로젝트를 위해 Google Antigravity를 매우 집중적으로 사용하고 있었습니다.
- 아주 빠르게, 저는 속도 제한 (rate limits) 문제에 부딪혔습니다.
- Google Antigravity는 지난 몇 달 동안 이 문제로 꽤 악명이 높아졌으며, 개선될 기미가 보이지 않습니다.
- CLI (Command Line Interface)나 VS Code 기반 프로그램으로 전환할까 생각했지만, 저는 Antigravity UI를 정말 좋아합니다.
- 그래서 Google AI Studio에 접속하여 수많은 스크린샷을 넣었고, 다양한 흥미로운 프롬프트 엔지니어링 (prompt engineering) 기술을 사용하여 Gemini 1.5 Pro가 (제 입으로 말하기 좀 그렇지만) 아름다운 클론을 만들어냈습니다.
- 결과물이 너무 마음에 들어서, 며칠간의 여유 시간을 활용해 파일 관리 및 에이전트 로직과 같은 기능들을 연결했고, 이렇게 탄생하게 되었습니다!
📸 예시 (Examples)
자율적 웹 개발 (Autonomous Web Development)
에이전트는 사용자가 지켜보는 동안 프로젝트를 선제적으로 초기화하고, pnpm을 사용하여 종속성 (dependencies)을 설치하며, 완전한 애플리케이션을 빌드할 수 있습니다.
✨ 주요 기능 (Features)
- BYOK (Bring Your Own Key): 완전한 개인정보 보호. 현재는 오직 Gemini API 모델(예:
gemini-3.1-pro-preview,gemini-3-flash-preview,gemini-3.1-flash-lite, [단, 변경하려면agent.js:8을 수정해야 함])만 지원합니다. - 선제적 에이전트 추론 (Proactive Agentic Reasoning): 고급 사고 모델 (thinking models)을 사용하여 사용자의 지속적인 개입 없이도 작업을 계획, 실행 및 검증합니다.
- 고성능 터미널 (High-Performance Terminal): WebContainer API가 제공하는 실제 Linux와 유사한 환경과 xterm.js가 통합되어 있습니다.
- 대화형 도구 (Interactive Tooling): 에이전트가 bash 명령어를 실행하고, 대화형 터미널 프롬프트(y/n)를 처리하며, 파일을 직접 관리할 수 있습니다.
- 제로 블로트 (Zero Bloat): IDE 자체를 위한
npm install이 필요 없습니다. 그저 서빙하고 코딩하면 됩니다. - 설계 단계부터 보안 고려 (Secure by Design): API 키는 오직 브라우저의
localStorage에만 저장됩니다.
🛠️ 도움을 주실 수 있는 방법
저는 현재 학업에 집중하고 있어, 커뮤니티에 바통을 넘기고자 합니다. UI는 훌륭해 보이고 기본적인 로직도 갖춰져 있지만, 원본을 진정으로 뛰어넘으려면 "프로"급 기능들이 필요합니다.
사람들이 이 프로젝트를 가져가서 일반 사용자도 사용할 수 있게 만들어 주기를 바랍니다. 구체적으로는 다음과 같습니다:
- 더 나은 오케스트레이션 (Better Orchestration): 현재의 에이전트 로직은 기초적인 수준입니다. 더 나은 "매니저/서브 에이전트 (Manager/Sub-agent)" 핸들링이 필요합니다.
- 제공업체 지원 (Provider Support): 현재는 Gemini만 지원합니다. OpenAI, Anthropic 등을 추가할 수 있도록 도와주세요.
- 버그 (Bugs): 파일 동기화와 터미널이 까다로울 수 있습니다. "실전 테스트를 통한 강화 (battle-hardening)"가 필요합니다.
- 다듬어진 UI (Polished UI): UI는 멋지지만, 해야 할 일이 많습니다.
- 모델 선택 (Model Selection): 드롭다운 메뉴가 하드코딩되어 있습니다.
agent.js에서 모델을 전환할 수 있어야 합니다. - 상단 메뉴 바 (Top Menu Bars): "파일 (File)", "편집 (Edit)", "선택 (Selection)" 메뉴는 플레이스홀더(placeholder) 상태입니다. 저장 및 검색과 같은 기본적인 기능이 필요합니다.
- Git 지원 (Git Support): 아이콘은 존재하지만, 아직 그 뒤에 작동하는 로직은 없습니다.
- 설정 UI (Settings UI): 사용자가 API 키를 입력하려면 우측 상단의 작은 "a" 아이콘을 클릭해야 합니다. 제대로 된 사용자 친화적인 설정 패널이 필요합니다.
🚀 시작하기
- 로컬 서버(
python3 server.py)를 사용하여 프로젝트 루트를 서빙(Serve)합니다. - 브라우저에서
http://localhost:8000을 엽니다. - 우측 상단의 작은 "a" 아이콘을 클릭하고(네, 좀 불편합니다. 수정할 할 일 목록(to-do list)에 올라와 있습니다!) Gemini API 키를 입력합니다.
- 우측 패널에서 Antigravity와 대화를 시작합니다.
🛠️ 상태: 휴식기 (On Hiatus)
저는 현재 GCSE(영국 중등교육 자격시험)를 병행하고 있어, 매주 일요일 저로에 PR(Pull Request)을 검토하고 병합(Merge)할 예정입니다.
📜 라이선스
GPL-3.0 라이선스 하에 배포됩니다. 상업적 이용 및 기여에 관한 자세한 내용은 LICENSE 파일을 참조하세요.
⭐ Star History
AI 자동 생성 콘텐츠
본 콘텐츠는 HN OpenAI Codex의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기