Files
gravity_control/docs/ls-rpc-reference.md

6.5 KiB

Antigravity Language Server RPC Reference

Extracted from language_server_windows_x64.exe (160MB Go binary, v2026-03) Protocol: ConnectRPC over HTTPS on localhost Service: exa.language_server_pb.LanguageServerService


연결 정보

항목
프로세스명 language_server_windows_x64.exe
CSRF 헤더 x-codeium-csrf-token
CSRF 값 --csrf_token CLI 인자에서 추출
프로토콜 HTTPS (자체 서명 인증서)
포트 --random_port → netstat에서 PID 기반 탐색
Content-Type application/json

포트 발견 절차

  1. Get-CimInstance Win32_Process → LS PID + --csrf_token 추출
  2. netstat -ano | findstr LISTENING | findstr <PID> → 리스닝 포트 목록
  3. 각 포트에 Heartbeat 요청 시도 (HTTP → HTTPS fallback)
  4. 200 응답 포트 = ConnectRPC 포트

주의사항

  • LS 포트 3개: LSP JSON-RPC, HTTP ConnectRPC, HTTPS ConnectRPC
  • --extension_server_port는 별도 (Extension Host IPC 전용)
  • port 404 page not found = 해당 경로에 서비스 없음 (Go HTTP mux)
  • HTTP 요청 → "Client sent an HTTP request to an HTTPS server." → HTTPS 사용

🎯 핵심 RPC 메서드 (채팅/대화)

메서드 용도 비고
GetUserTrajectoryDescriptions 모든 대화 목록 조회 googleAgentId, summary, lastStepIndex
GetCascadeTrajectory 대화 전체 내용 무거움
GetCascadeTrajectorySteps 대화 단계 데이터 startStepIndex로 범위 지정 가능
StartCascade 새 대화 생성 headless 지원
SendUserCascadeMessage 기존 대화에 메시지 전송
AddCascadeInput Cascade에 입력 추가
HandleCascadeUserInteraction 사용자 상호작용 처리 승인/거절 등
LoadTrajectory 대화 로드
LoadReplayConversation* 대화 리플레이
SmartFocusConversation UI에서 대화 포커스

📡 스트리밍 RPC (실시간)

메서드 용도
StreamCascadeReactiveUpdates Cascade 실시간 업데이트 스트림
StreamCascadePanelReactiveUpdates* 패널 상태 실시간 스트림
StreamCascadeSummariesReactiveUpdates 대화 요약 실시간 스트림
StreamAgentStateUpdates 에이전트 상태 스트림
StreamUserTrajectoryReactiveUpdates* 사용자 trajectory 실시간 스트림
StreamTerminalShellCommand 터미널 명령어 스트림

🛠️ 에이전트 제어

메서드 용도
ResolveOutstandingSteps 미해결 단계 처리
AcknowledgeCascadeCodeEdit 코드 편집 승인
RevertToCascadeStep 특정 단계로 롤백
GetCascadeTrajectoryGeneratorMetadata 생성기 메타데이터
RecordUserStepSnapshot 사용자 단계 스냅샷 기록
SendActionToChatPanel 채팅 패널에 액션 전송

📋 설정/상태

메서드 용도
Heartbeat 연결 검증
GetStatus LS 상태
GetUserStatus 사용자 상태 (크레딧 등)
GetUserSettings 사용자 설정
SetUserSettings 사용자 설정 변경
GetWorkingDirectories 작업 디렉토리
SetWorkingDirectories 작업 디렉토리 설정
GetDebugDiagnostics 디버그 진단
GetModelStatuses 모델 상태
GetCascadeModelConfigs Cascade 모델 설정

🧩 MCP / 플러그인

메서드 용도
GetMcpServerStates MCP 서버 상태
RefreshMcpServers MCP 서버 새로고침
ListMcpResources MCP 리소스 목록
ListMcpPrompts MCP 프롬프트 목록
GetAvailableCascadePlugins 사용 가능한 플러그인
InstallCascadePlugin 플러그인 설치
GetCascadePluginById 플러그인 상세

📊 분석/기록

메서드 용도
RecordAnalyticsEvent 분석 이벤트 기록
RecordChatFeedback 채팅 피드백 기록
RecordEvent 일반 이벤트 기록
GetUserAnalyticsSummary 사용자 분석 요약

🗂️ Artifact / Memory

메서드 용도
GetArtifactSnapshots 아티팩트 스냅샷
GetRevisionArtifact 특정 리비전 아티팩트
SaveMediaAsArtifact 미디어 → 아티팩트 저장
GetCascadeMemories Cascade 메모리
UpdateCascadeMemory Cascade 메모리 업데이트
GetUserMemories 사용자 메모리
UpdateConversationAnnotations 대화 주석(태그,제목) 업데이트

🔧 기타

메서드 용도
GetRepoInfos 저장소 정보
GetWorkspaceInfos 워크스페이스 정보
GetAllRules 모든 규칙
GetAllSkills 모든 스킬
GetAllWorkflows 모든 워크플로우
GetAllCustomAgentConfigs 커스텀 에이전트 설정
GetBrowserOpenConversation 브라우저에 열린 대화
SkipBrowserSubagent 브라우저 서브에이전트 스킵

getDiagnostics 구조 (VS Code 명령)

antigravity.getDiagnostics → 176KB JSON string:

타입 내용
isRemote boolean 원격 여부
systemInfo object OS, 타임스탬프, 이메일, 사용자명
extensionLogs Array(426) Extension 로그 문자열 배열
rendererLogs object 렌더러별 로그 (artifacts, interactive-editor)
mainThreadLogs object 메인 스레드 로그 (auth, cloudcode)
languageServerLogs object LS 디버그 로그
recentTrajectories Array(10) 최근 대화 메타데이터

recentTrajectories 항목 구조

{
  "googleAgentId": "uuid",
  "trajectoryId": "uuid",
  "summary": "대화 제목",
  "lastStepIndex": 56,
  "lastModifiedTime": "2026-03-07T05:53:11.1492Z"
}

⚠️ recentTrajectories대화 텍스트를 포함하지 않음 — 메타데이터만. AI 응답 텍스트를 얻으려면 LS ConnectRPC의 GetCascadeTrajectorySteps 필요.


실패한 접근법 (참고)

접근 결과 이유
onDidChangeTextDocument Agent 패널은 WebView, TextDocument 이벤트 미발생
antigravity.getManagerTrace undefined 가용 데이터 없음
antigravity.getWorkbenchTrace undefined 가용 데이터 없음
brain/ 파일 모니터링 △ partial task.md/walkthrough.md만 — AI 응답 텍스트 없음
getDiagnostics.agentWindowConsoleLogs 없음 시스템 로그뿐