사용자가 직접 UI를 수정할 수 있는 코딩 에이전트 데스크톱 앱 'y'
Electron 기반의 데스크톱 코딩 에이전트 앱인 'y'는 AI가 자체 앱 UI를 실시간으로 수정 및 복구할 수 있는 혁신적인 기능을 제공합니다. Claude Code, OpenAI Codex 등 로컬 환경의 CLI 에이전트를 통합 관리하며, 격리된 워크스페이스를 통해 여러 AI가 동시에 충돌 없이 작업할 수 있게 돕습니다. 개발자가 AI의 작업 환경을 직접 맞춤형으로 구성하고 안전하게 코드를 관리할 수 있다는 점에서 의미가 있습니다.
원문 제목: Show HN: Y – A malleable coding-agent desktop app built with Electron
y y_demo.mp4 y는 유연하게 변형 가능한(malleable) 데스크톱 코딩 에이전트 앱입니다. 이 앱은 '소프트웨어는 사용하는 동안 유연하게 변형될 수 있어야 한다'는 단순한 아이디어를 바탕으로 제작되었습니다. 기본 인터페이스는 채팅이지만, 앱은 보호된 'Modify' 영역을 통해 자체 UI를 재구성할 수 있습니다. y에게 y 자체의 작동 방식을 변경해 달라고 요청하고, 안전하게 렌더링되면 변경 사항을 유지하거나, 그렇지 않으면 이전 상태로 되돌릴 수 있습니다.
y는 새로운 에이전트 모델이 아닙니다. 여러분이 이미 사용하고 있는 코딩 에이전트(Claude Code, OpenAI Codex, 그리고 향후 추가될 다른 CLI 기반 에이전트들)를 위한 로컬 기반의 채팅 우선 워크스페이스입니다.
주요 체험 기능
- 하나의 데스크톱 앱에서 Claude Code와 Codex를 나란히 실행하세요.
- 격리된 워크스페이스에서 각각의 채팅을 시작하여, 에이전트들이 동일한 작업 환경을 침범하지 않고 병렬로 작업하게 하세요.
- Modify에게 y의 인터페이스를 실시간으로 변경해 달라고 요청한 뒤, 유지 여부를 결정하기 전에 생성된 diff(차이점)를 검토하세요.
- Modify를 통해 앱 UI 컨트롤, 레이아웃, 문구, 로컬 워크플로우 환경을 추가하거나 조정하세요.
- 에이전트가 작업하는 동안 파일 트리, 터미널, diff 보기를 열어보세요.
- 새로운 UI가 마음에 들지 않으면 Modify의 변경 사항을 되돌리세요.
Modify란 무엇인가 Modify는 y가 스스로를 수정하는 부분입니다. 이는 프로젝트 코드가 아닌 앱 인터페이스 변경에 초점을 맞춘 별도의 채팅 창입니다. 변경 사항은 여전히 코드와 diff 검토를 거칩니다. Modify가 로컬 Userland UI를 수정하면 y가 이를 렌더링하고, 사용자가 이를 유지할지 되돌릴지 선택합니다.
Modify는 보호된 앱 코어를 제어하기 위한 것이 아닙니다. 인증/세션 내부 구조, 분석 제어, 권한이 있는 호스트 API 또는 Modify 시스템 자체에 대한 액세스 권한을 갖지 않습니다. 이러한 경계는 보호된 'Kernel(커널)' 내부에 존재합니다.
y가 존재하는 이유 대부분의 코딩 에이전트 앱은 고정된 제품입니다. 사용하고 구성하거나 플러그인을 설치할 수는 있지만, 제품 자체는 여전히 다른 누군가의 소유입니다. y는 다릅니다. 이 앱은 소프트웨어를 유연하게 변형 가능한 것으로 취급합니다:
- 채팅 우선: 기본 화면은 에디터의 복제품이 아닌, 집중된 대화 인터페이스입니다.
- 자가 수정: Modify 레일은 보호된 커널이 잠겨 있는 동안 실시간 Userland UI를 수정할 수 있습니다.
- 로컬 에이전트: Claude Code와 Codex는 사용자 자신의 로그인을 통해 공식 로컬 CLI로 실행됩니다.
- 병렬 작업: 채팅은 격리된 워크스페이스를 사용할 수 있어, 에이전트들이 동일한 파일을 건드리지 않고 병렬로 작업할 수 있습니다.
- Diff 기반 변경 관리: UI 변경 사항은 컴파일 및 렌더링되어 diff로 표시되며, 유지하거나 폐기할 수 있습니다.
- 내장된 롤백: 앱은 정상 작동이 확인된 스냅샷을 보관하여, UI 변경 실패 시 복구할 수 있습니다.
작동 방식 y는 두 부분으로 나뉩니다:
- 보호된 커널(Protected Kernel): 인증, 로컬 엔진 어댑터, 앱 상태, 안전장치, 파일 시스템 경계, 터미널 브릿지, Modify 레일 및 롤백 기능을 담당합니다.
- 변형 가능한 유저랜드(Mutable Userland): 사용자 또는 Modify에 의해 실시간으로 수정될 수 있는 채팅 UI 및 앱 표면입니다. 이러한 분리 덕분에 y는 수정 에이전트에게 보호된 코어에 대한 제어권을 넘겨주지 않고도 자가 수정이 가능한 것처럼 느껴집니다. 앱은 자체 인터페이스를 변경할 수 있지만, 신뢰 경계는 여전히 커널이 관리합니다.
Claude Code 및 Codex y는 호스팅된 계정을 통해 에이전트를 프록시하는 대신 로컬에서 코딩 에이전트를 실행합니다. Claude Code는 공식 Claude Code CLI를 사용하고, Codex는 공식 Codex CLI를 사용합니다. 모델 및 작업량 설정은 입력창(composer)에서 계속 확인할 수 있습니다. 여러 채팅이 서로 다른 엔진에 대해 실행될 수 있습니다. 격리된 워크스페이스를 통해 병렬 에이전트가 서로 간섭 없이 작업할 수 있습니다. 사용자의 로컬 CLI 인증이 신뢰의 근원으로 유지됩니다. y는 경험을 조율할 뿐, 에이전트 제공자를 대체하지 않습니다.
다운로드 최신 macOS 빌드는 GitHub Releases에 게시되어 있습니다: 현재 릴리스 대상: macOS Apple Silicon.
개발 cd app pnpm install pnpm dev 유용한 검사 명령어: pnpm typecheck, pnpm test:ui 로컬 macOS 번들 빌드: pnpm build:mac 생성된 앱 산출물은 app/dist/에 작성되며, 의도적으로 커밋되지 않습니다.
개인정보 및 분석 y는 코딩 워크플로우를 로컬에 유지합니다. 프로젝트 파일, 터미널 명령 및 에이전트 프롬프트는 y의 제품 분석으로 전송되지 않습니다. 제품 분석은 앱 사용 상태(로그인 상태, 기능 사용, 피드백 및 누락된 기능 요청) 파악에만 사용됩니다. '누락된 기능(Missing-brick)' 리포트는 구조화되어 있으며, 사용자가 원하는 기능이 무엇인지 설명해야 합니다.