Files
gravity_web/docs/antigravity-data-sources.md

4.6 KiB

Antigravity 데이터 소스 분석 보고서

Antigravity IDE의 대화 데이터에 접근할 수 있는 모든 경로를 조사한 결과입니다.

1. 데이터 소스 요약

경로 포맷 읽기 내용
conversations/*.pb Protobuf (암호화) 대화 전체 본문
state.vscdbtrajectorySummaries base64 + protobuf 대화 메타 + 최근 요약
state.vscdbsidebarWorkspaces base64 열린 워크스페이스 목록
brain/{id}/*.md 마크다운 아티팩트 (task, walkthrough 등)
state.vscdbantigravity.notification.* boolean 알림 확인 상태만

2. trajectorySummaries 상세

위치

%APPDATA%\Antigravity\User\globalStorage\state.vscdb
  테이블: ItemTable (key TEXT UNIQUE, value BLOB)
  키:     antigravityUnifiedStateSync.trajectorySummaries

접근 방법

const Database = require('better-sqlite3');
const db = new Database(dbPath, { readonly: true });
const row = db.prepare(
  "SELECT value FROM ItemTable WHERE key = 'antigravityUnifiedStateSync.trajectorySummaries'"
).get();
const decoded = Buffer.from(row.value.toString('utf8'), 'base64');
// → 43,380 bytes protobuf binary

디코딩 절차

  1. SQLite에서 value 읽기 → base64 문자열 (57,840 bytes)
  2. Buffer.from(value, 'base64')protobuf binary (43,380 bytes)
  3. 바이너리에서 UTF-8 문자열 추출
  4. UUID 패턴으로 대화별 경계 분할
  5. 내부 base64 → 2차 디코딩 → 제목/요약/메시지 추출

대화별 포함 정보

필드 예시
대화 ID 64409b3f-a1f1-4654-bac3-45b5cd45d223
제목 Setting Up Python Environment
워크스페이스 URI file:///c%3A/.../Desktop/test1
도구 호출 이름 notify_user, task_boundary
도구 파라미터명 BlockedOnUser, Message, PathsToReview
어시스턴트 응답 요약 전환사채(CB) 가격평가 엔진이 완성되었습니다!
아티팩트 경로 file:///...brain/.../walkthrough.md
마크다운 테이블/리스트 응답 내용 그대로 포함

실제 추출 예시 (대화 64409b3f)

📌 제목: Setting Up Python Environment
📁 워크스페이스: file:///c%3A/Users/.../Desktop/test1

추출된 내용:
  - "전환사채(CB) 가격평가 엔진이 완성되었습니다! 🎉"
  - "cb_engine.py — BS PDE + Crank-Nicolson FDM 엔진"
  - "| 시나리오 | CB 가격 | 전환가치 | 프리미엄 |"
  - "| ATM (50K=50K) | 115,321 | 100,000 | 15.3% |"
  - "서버가 현재 실행 중이며 http://localhost:5000 에서 접속 가능"

통계

  • 대화 수: 16개
  • 대화당 평균 문자열: ~30개
  • 전체 크기: 43 KB
  • 포함 범위: 마지막 몇 스텝의 notify_user 메시지 + task_boundary 정보

한계

Warning

  • 전체 대화 기록이 아님 — 최근 스텝의 요약만 포함
  • 사용자 메시지 미포함 — 어시스턴트 응답 + 도구 호출만
  • 실시간 스트리밍 불가 — 파일 변경 감시 폴링만 가능
  • protobuf 스키마 없음 — 문자열 추출 기반 비공식 파싱

3. conversations/*.pb (암호화)

.pb 파일에는 대화 전체 본문이 저장되지만 암호화/압축되어 있어 직접 읽을 수 없습니다.

~/.gemini/antigravity/conversations/
├── 02ed8fa2-....pb  (7.2 MB) ← 현재 대화
├── bbda3491-....pb  (137 KB)
└── ...
  • 헤더에 SQLite format 3 없음
  • UTF-8 문자열 추출 시 무의미한 바이트만 나옴
  • protobuf 스키마리스 디코딩 시도 실패

4. state.vscdb 기타 유용 키

내용
google.antigravity installationId
antigravityUnifiedStateSync.agentPreferences 에이전트 설정 (base64+pb)
antigravityUnifiedStateSync.modelPreferences 모델 설정
antigravityUnifiedStateSync.sidebarWorkspaces 열린 워크스페이스 URI 목록
antigravityUnifiedStateSync.userStatus 사용자 인증 상태
antigravity.notification.* 알림 확인 여부 (true/false)

5. 결론

용도 가능 여부 데이터 소스
대화 목록 + 제목 trajectorySummaries
최근 응답 요약 trajectorySummaries
워크스페이스 정보 sidebarWorkspaces
아티팩트 읽기 brain/{id}/*.md
전체 대화 기록 .pb (암호화)
실시간 채팅 스트림 Extension 필요
메시지 전송 Extension 필요
승인/거절 제어 Extension 필요