docs: LS ConnectRPC reference (100+ RPC methods) + devlog + commands update
This commit is contained in:
38
docs/devlog/entries/20260307-003.md
Normal file
38
docs/devlog/entries/20260307-003.md
Normal file
@@ -0,0 +1,38 @@
|
||||
# LS ConnectRPC 브릿지 역설계 + AI 응답 릴레이 구현
|
||||
|
||||
- **시간**: 2026-03-07 17:30~19:00
|
||||
- **Commit**: `952883d`~`be6fae7` (6 commits)
|
||||
- **Vikunja**: #223 → 진행중
|
||||
|
||||
## 핵심 발견
|
||||
|
||||
### AI 대화 텍스트는 brain/ 파일에 없다
|
||||
- brain/에는 artifact (task.md, walkthrough.md, implementation_plan.md)만 저장
|
||||
- .system_generated/logs/ 디렉토리도 없음
|
||||
- AI 응답 텍스트는 **LS 내부 메모리**에만 존재
|
||||
- getDiagnostics에는 시스템 로그와 대화 **메타데이터**(제목, step 수)만 포함
|
||||
|
||||
### LS ConnectRPC 접속
|
||||
- LS 바이너리: `language_server_windows_x64.exe` (160MB Go)
|
||||
- 프로토콜: ConnectRPC over HTTPS (자체 서명 인증서)
|
||||
- 인증: `x-codeium-csrf-token` 헤더 + `--csrf_token` CLI값
|
||||
- 포트: `--random_port` 사용 → netstat + PID 기반 탐색 필요
|
||||
|
||||
### Go 바이너리에서 100+ RPC 메서드 추출
|
||||
- Python regex로 `/exa.language_server_pb.LanguageServerService/` 패턴 추출
|
||||
- 핵심 메서드: `GetUserTrajectoryDescriptions`, `GetCascadeTrajectorySteps`, `StreamCascadeReactiveUpdates`
|
||||
- `GetTrajectoryDescriptions`는 존재하지 않음 → SDK 타입 정의가 부정확
|
||||
|
||||
## 실패한 접근법
|
||||
|
||||
1. `onDidChangeTextDocument` — WebView 기반 채팅은 TextDocument 이벤트 미발생
|
||||
2. `getManagerTrace` / `getWorkbenchTrace` — undefined 반환
|
||||
3. brain/ 파일 모니터링 — artifact만 존재, 대화 텍스트 없음
|
||||
4. getDiagnostics → 메타데이터만, 대화 내용 없음
|
||||
5. antigravity-sdk — d.ts만 있고 JS 구현 없는 vaporware
|
||||
|
||||
## 미완료
|
||||
|
||||
- [ ] LS ConnectRPC 호출이 실제로 대화 데이터 반환하는지 검증 필요
|
||||
- [ ] `GetCascadeTrajectorySteps` 응답 구조 파악 → AI 텍스트 추출 로직
|
||||
- [ ] `StreamCascadeReactiveUpdates`로 실시간 릴레이 가능성 탐색
|
||||
Reference in New Issue
Block a user