Files
gravity_control/.agents/references/architecture.md
Variet Worker 5f795b9a91 refactor(extension): 모듈 분리 + Hub 통합 테스트 #task-395
- extension.ts 3,446→1,289줄 (-63%)
- step-probe.ts (1,435줄): setupMonitor, processResponseFile, tryApprovalStrategies
- observer-script.ts (687줄): DOM observer script
- ws-client.ts (390줄): WSBridgeClient
- step-utils.ts (114줄): step 파싱 유틸
- auth.py (115줄): JWT + registration code
- hub.py (581줄): WSHub + per-client queue
- Hub WS 연동 테스트 통과 (auth, chat, register)
- VSIX v0.4.0 빌드
2026-03-17 06:41:42 +09:00

2.5 KiB

Architecture

AI 에이전트는 구현 전 이 문서를 반드시 확인합니다.

프로젝트 개요

Antigravity AI 코딩 에이전트의 Discord 연동 시스템.

  • AG Extension ↔ WebSocket Hub ↔ Discord Bot (실시간)
  • AG Extension ↔ 파일 bridge ↔ Collector ↔ Gateway ↔ Discord Bot (레거시)

디렉토리 구조

gravity_control/
├── auth.py              # JWT 토큰 관리
├── hub.py               # WebSocket Hub (메시지 라우팅, 인스턴스 관리)
├── bot.py               # Discord 봇 (승인 UI, 채널 관리, Hub 핸들러)
├── gateway.py           # HTTP REST + /ws endpoint
├── bridge.py            # 파일 기반 IPC (레거시)
├── collector.py         # 원격 파일→HTTP 릴레이 (Phase 2 삭제 예정)
├── watcher.py           # Brain 디렉토리 변경 감시
├── config.py            # 환경변수 설정
├── main.py              # 진입점 (Bot + Hub + Watcher 시작)
├── parser.py            # Markdown→Discord 파서
├── extension/src/
│   ├── extension.ts     # 메인 Extension (3,300줄, 점진적 모듈화 진행)
│   ├── ws-client.ts     # WSBridgeClient (Hub 연결, 재연결, 메시지 큐)
│   └── sdk/             # Antigravity SDK (로컬 임베드)
└── .agents/references/  # AI 에이전트 레퍼런스 문서

핵심 모듈

모듈 역할 의존성
hub.py WS 연결 관리, 메시지 라우팅, 인스턴스 번호 auth.py
auth.py JWT 토큰 생성/검증, registration code -
bot.py Discord UI, 승인 처리, 채팅 릴레이 hub.py, bridge.py, parser.py
gateway.py HTTP REST API + /ws endpoint hub.py
ws-client.ts Extension→Hub WS 클라이언트 -
extension.ts AG SDK 연동, step 감시, DOM observer ws-client.ts, sdk/

데이터 흐름

    [Extension]
        │
   ┌────┴────┐
   │ WS Hub  │ ← 실시간 (preferred)
   │ (ws-client.ts → hub.py)
   └────┬────┘
        │                    ┌─────────────┐
        ├───────────────────→│  Discord Bot │→ Discord
        │                    └─────────────┘
   ┌────┴────┐
   │파일 bridge│ ← 레거시 fallback
   │(Collector → Gateway)
   └─────────┘