Pi GPUI: Rust와 GPUI로 만든 Pi용 네이티브 데스크톱 앱 (오픈 소스)
Pi GPUI: a native desktop app for pi, written in Rust with GPUI (open source)
핵심 요약
Zed의 UI 프레임워크인 GPUI를 사용하여 Pi를 위한 가볍고 빠른 네이티브 데스크톱 인터페이스를 개발했습니다.
- 성능 최적화 — Electron 기반 클라이언트 대비 훨씬 적은 메모리 사용량과 빠른 실행 속도 제공
- 세션 관리 — 사이드바를 통한 프로젝트 및 세션 관리와 키보드 기반의 세션 트리 탐색 지원
- 확장 기능 — 채팅창 내 버튼 형태의 확장 기능 질문 처리 및 변경 사항/파일 패널의 구문 강조 지원
- 개발 로드맵 — 현재 macOS 전용이며 향후 리눅스 지원 및 Pi Durable 통합 예정

매일 pi를 쓰는데 세션들을 띄워놓을 데스크탑 창이 필요해서, Zed의 UI 프레임워크인 GPUI로 직접 하나 만들었다.
이건 설치된 pi를 RPC 모드로 돌리는데, 터미널에서 쓰던 모델, 스킬, 확장 프로그램, 세션 그대로 세션당 프로세스 하나씩 할당해서 돌아간다.
기능은 이렇다:
-
사이드바에 프로젝트랑 세션 표시, 여러 세션 동시 작업 가능
-
키보드 내비게이션 지원하는 세션 트리, 아무 메시지에서나 포크 가능
-
확장 프로그램 질문(선택, 확인, 입력, 에디터)을 채팅창 안에서 바로 해결
-
변경 사항 및 파일 패널, 문법 강조가 적용된 diff 확인
-
캐시 적중률이랑 플랜 제한 보여주는 컨텍스트 링
-
언어 제한 없는 플러그인; 예시 플러그인은 툴 콜 안에서 DOOM을 돌려버림
-
터미널 pi에서
/gpui치면 해당 세션이 앱으로 바로 넘어감 (pi install npm:pi-gpui)
아직 안 된 거: 확장 프로그램 상태 표시줄이랑 위젯 UI는 아직 구현 안 됐고, Apple 실리콘(macOS 13+)만 지원함. 리눅스는 다음 타겟이다.
내 M1 Pro에서 앱 용량은 16MB고, 창 뜨는 데 0.4초, 유휴 상태 메모리는 74MB 정도 먹는다. Electron 기반 pi 클라이언트 3개 돌릴 땐 0.5~1.1초에 190~430MB까지 처먹던 거랑 비교하면 선녀지. 이건 프로젝트 하나도 안 열고 pi만 뺀 상태 기준이고, 측정 방법이랑 스크립트는 레포에 다 있다.
영상에 나오는 모델 답변은 반복 테스트하려고 스크립트 짠 거다. 근데 앱이랑 편집, cargo 테스트 실행은 전부 실화임.
설치: brew install --cask bytesbay/tap/pi-gpui (pi 1.4+ 버전 필요) 레포: https://github.com/bytesbay/pi-gpui
너네는 터미널 놔두고 굳이 pi용 GUI를 쓴다면 어떤 기능이 있어야 쓸 거 같냐?

