피드로 돌아가기
Dev.toInfrastructure
원문 읽기
Go-PTY 기반 경량화 아키텍처를 통한 Browser-native IDE 구현
I Wanted Zed in the Browser, So I Built My Own
AI 요약
Context
Electron 기반 에디터와 VSCode Server의 높은 리소스 점유율로 인한 소규모 VPS 환경의 성능 저하 문제 발생. 확장 프로그램 및 워크스페이스 증가에 따른 부팅 속도 저하와 배포 복잡성을 해결하기 위한 Lightweight Remote-first IDE 필요성 대두.
Technical Solution
- Go 언어 기반 백엔드 설계를 통한 Static Deployment 및 런타임 리소스 최적화
- Pseudo-Terminal(PTY) 직접 제어로 Vim, Tmux 등 Interactive CLI 앱의 완전한 쉘 동작 보장
- ACP(Agent Client Protocol) 기반 JSON-RPC 통신 구조를 설계하여 다양한 AI 에이전트 간 인터페이스 표준화
- AI 에이전트의 파일 수정 및 명령어 실행 전 승인 다이얼로그를 배치한 권한 제어 레이어 구축
- Tunneling 기능을 내장하여 Nginx 및 SSL 설정 없이 즉시 외부 접속이 가능한 네트워크 경로 자동화
- 화면 크기에 따른 Multi-panel 및 Overlay 전환 로직을 적용한 Responsive Layout 구현
실천 포인트
- 리소스 제한적인 VPS 환경에서는 무거운 프레임워크보다 Go와 같은 정적 컴파일 언어 기반의 경량 런타임 검토 - AI 에이전트 도입 시 단순 텍스트 교환이 아닌 JSON-RPC 기반의 구조화된 프로토콜(ACP 등) 설계 권장 - 외부 프로세스 제어 시 단순 에뮬레이션이 아닌 PTY 기반의 실제 쉘 세션 관리를 통한 호환성 확보