프로젝트 소개

Vibex는 Rust와 GPUI UI 프레임워크로 구축된 에이전트 기반 소프트웨어 개발을 위한 네이티브 로컬 우선 워크벤치이며, AGPL-3.0-or-later 라이선스로 출시되었습니다(현재 상태 0.1.0-rc.2). 이 프로젝트의 핵심 원칙은 데스크톱 런타임이 권한을 갖는다는 것입니다. 에이전트 프로세스, 세션 기록, 워크스페이스 파일, Git, PTY, 제공자 및 권한이 모두 사용자가 선택한 머신에 상주합니다. 로컬 데스크톱을 실행하는 데 호스팅된 워크스페이스가 필요하지 않으며, 저장소, 자격 증명 및 지속적인 세션 상태는 로컬에 유지됩니다. 에이전트 통합은 Agent Client Protocol(ACP)을 기반으로 하며, 프로젝트는 이를 유일한 온라인 에이전트 전송 방식으로 설명합니다. 따라서 명령, 인수, 환경 및 디스플레이 메타데이터가 포함된 실행 파일을 등록함으로써 모든 ACP 호환 에이전트를 연결할 수 있습니다. Claude Code, Codex, ZCode, OpenCode에 대한 기본 프리셋이 제공되며, ACP 카탈로그에는 Antigravity, Cline, Codebuddy Code, Cursor, Gemini CLI, GitHub Copilot, Devin, Grok, Hermes, Kimi Code, Pi, DeepSeek Harness가 포함되어 있으며, 설치된 런타임, 제공자 설정 및 라이브 기능 프로브를 통해 가용성을 확인합니다. 문서화된 워크플로우 기능에는 Markdown, 추론, 계획, 도구 및 프로세스 세부 정보, 첨부 파일, 승인 및 유형화된 유도 양식으로 렌더링되는 구조화된 타임라인 형태의 에이전트 세션이 포함됩니다. 또한 중지, 계속, 포크, 이름 변경, 재개 및 지원되는 로컬 기록 가져오기 기능을 제공합니다. 워크스페이스 범위의 파일 트리는 브라우징, 이름/콘텐츠 검색, 리비전 확인 읽기 및 쓰기, 명시적 인코딩, 줄 바꿈 및 대용량 파일 처리를 지원합니다. Git 지원으로는 상태, 기록, diff 및 blame, 브랜치 생성 및 전환, 스테이징, 언스테이징, 되돌리기, 커밋, 페치 및 푸시, 그리고 보호된 머지 및 리베이스 복구가 가능한 격리된 워크트리가 포함됩니다. 네이티브 PTY는 ANSI 에뮬레이션, 탭, 크기 조정, 스크롤백, 검색 및 원시 바이트 처리를 제공하며, 워크벤치는 Markdown, 이미지, PDF 및 지원되는 Office 문서를 미리 봅니다. 설정 센터에서는 에이전트 런타임, 모델 및 추론 선택, 제공자 인증, 상태 프로브, 범위 지정 MCP 서버, Skills, Prompts 및 Hooks를 관리합니다. 자동화 기능을 통해 일회성, 간격 또는 일일 에이전트 실행을 예약하고 실행 상태, 복구 및 감사 기록이 포함된 자동화 그래프를 구성할 수 있습니다. 데스크톱 알림은 완료, 실패 또는 입력 대기 중인 세션을 추적하며, 타임라인 상태는 재연결 및 재시작 후에도 유지되도록 설계되었습니다. 세 가지 네이티브 인터페이스가 설명됩니다. 데스크톱 앱은 Linux, macOS, Windows를 위한 전체 GPUI 워크벤치이자 권한을 가진 DesktopRuntime입니다. 모바일 컴패니언은 네이티브 GPUI iOS 및 Android 클라이언트로, 데스크톱 세션 모델을 타임라인으로 렌더링하고 유형화된 원격 변조를 전송합니다. 모바일 앱은 로컬 에이전트를 시작하거나 워크스페이스 파일 시스템을 소유하고, 로컬 Git을 변조하거나 두 번째 PTY 권한자가 되지 않습니다. 선택 사항인 자체 호스팅 릴레이는 암호화된 WebSocket 프레임을 전달하는 Rust/Axum 서비스이며, 워크스페이스, 제공자, 에이전트 또는 애플리케이션 데이터를 저장하지 않습니다. 페어링에는 Direct 또는 Tailnet 경로를 사용할 수도 있습니다. 아키텍처적으로 런타임은 여러 crate로 나뉩니다. core는 직렬화된 ID, DTO, 오류, 기능 및 원격 프로토콜 계약을 담당하고, desktop-model은 프레임워크 중립적인 세션 및 타임라인 투영을, vibex-backend는 제공자 중립적인 기능 파사드를, vibex-ui는 시맨틱 토큰 및 컴포넌트 모델을, vibex-remote-client는 페어링, 재연결, 동기화 및 경로 선택을 담당합니다. 스택에는 ACP 스키마 1.6, Tokio, rusqlite를 통한 SQLite, xpty 및 alacritty_terminal, PDFium, 그리고 전송을 위한 X25519, HKDF, HMAC, ChaCha20-Poly1305 기반의 Rustls가 포함됩니다. 개발에는 서브모듈이 포함된 Git, Node.js 22, pnpm 11.3.0, rust-toolchain.toml로 고정된 Rust 1.97.0 및 작동하는 Vulkan 드라이버가 필요합니다. 데스크톱 실행은 pnpm dev:desktop으로 시작하며, 모바일 빌드에는 cargo-ndk와 함께 Android SDK/NDK 또는 Xcode 및 XcodeGen이 설치된 macOS가 필요합니다. 저장소 게이트에는 pnpm check, pnpm release:build-smoke 및 pnpm check:mobile-native가 포함됩니다. 개인정보 보호 참고 사항에 따르면 권한은 기능별로 제한되고 감사 가능하며, 제공자 홈 설정은 기본적으로 재작성되지 않고, 토큰, 개인 키, 프롬프트, 파일 내용 및 터미널 바이트는 로그 및 진단 아티팩트에서 제외됩니다.