openyak/openyak

One chat. Every agent. A universal interface for AI agents running on your computer.

OpenYak – AI 에이전트를 위한 로컬 데스크톱 워크스페이스

소개

  • OpenYak은 Codex 및 Claude Code와 같은 대규모 언어 모델 기반 에이전트와 채팅하면서 모든 파일, 대화 기록 및 프로젝트 상태를 자신의 컴퓨터에 유지할 수 있는 오픈 소스 데스크톱 애플리케이션(Electron + React)입니다.
  • 이는 모델 호스팅 서비스가 아니며, 작동하는 Codex 또는 Claude Code 런타임(공식 CLI 도구)과 해당 계정 자격 증명이 필요합니다.

주요 기능

기능 설명
지속적인 대화 워크스페이스 프로젝트, 작업 및 대화 기록이 로컬 SQLite 데이터베이스에 저장되므로 컨텍스트를 잃지 않고 에이전트를 전환하거나 다시 방문할 수 있습니다.
네이티브 런타임 통합 OpenYak은 stdio를 통해 공식 Codex App Server 또는 Claude Agent SDK와 직접 통신합니다. 선택적 ACP 호환성 계층도 지원됩니다.
파일 중심 워크플로우 에이전트가 파일을 참조하면 OpenYak은 이를 지속적인 탭에서 엽니다. Markdown, HTML(샌드박스), PDF, DOCX 및 구문 강조된 소스 코드를 렌더링할 수 있습니다.
공유 브라우저 뷰 Playwright MCP와 전용 Chrome 인스턴스를 사용하여 사용자와 에이전트 모두 동일한 웹 페이지를 제어할 수 있습니다. 제어권을 가져오면 에이전트가 일시 중지되고, 해제하면 페이지가 반환됩니다.
크로스 플랫폼 UI 라이트/다크 테마, 크기 조절 가능한 패널, macOS Dock 아이콘 및 메뉴바 바로가기.(Linux/Windows 지원은 아직 alpha 단계입니다.)
확장 가능한 아키텍처 프론트엔드는 app/ (Electron + React)에 있습니다. 핵심 데이터 처리 및 런타임 이벤트 정규화는 core/ (Rust + SQLite)에 있습니다. 문서에는 런타임 계약과 둘 사이에서 사용되는 core-protocol이 설명되어 있습니다.

로컬 실행 방법

  1. Node 26 및 Rust 1.90을 설치합니다(리포지토리에 정확한 버전이 지정되어 있으며 mise install로 자동 설정 가능).
  2. 리포지토리를 복제하고 npm install을 실행한 다음 npm run dev를 실행합니다. 이는 Rust 코어를 빌드하고 Electron을 시작하며 핫 리로드를 활성화합니다.
  3. 환경 변수 OPENYAK_CODEX_BIN / OPENYAK_CLAUDE_BIN을 통해 로컬 Codex 또는 Claude 바이너리를 앱에 지정합니다. 격리된 워크스페이스를 위해 OPENYAK_DATA_DIR을 설정하거나 호환성 어댑터를 사용하기 위해 OPENYAK_AGENT_TRANSPORT=acp를 설정할 수 있습니다.

내부 구조

  • app/ – Electron 셸과 채팅, 파일 워크벤치, 공유 브라우저 패널을 표시하는 React UI.
  • core/ – 프로젝트, 작업 및 대화 기록을 SQLite에 저장하고 에이전트 런타임에서 오는 이벤트를 정규화하는 Rust 라이브러리.
  • Docs – 아키텍처, 런타임 계약, 공유 브라우저 설계 및 CI 워크플로우는 모두 docs/ 폴더에 문서화되어 있습니다.

현재 상태

  • 프로젝트는 v2 alpha 단계입니다. 핵심 기능은 작동하지만 설치 프로그램, 전체 Windows/Linux 검증 및 더 광범위한 에이전트 지원은 진행 중입니다.
  • UI는 파일을 렌더링하고 공유 브라우저를 표시할 수 있지만, 전체 컴퓨터 사용 도구(예: 네이티브 데스크톱 제어)는 아직 번들로 제공되지 않습니다.

라이선스

  • Apache-2.0.

위의 모든 세부 정보는 리포지토리의 README에서 직접 가져온 것이며, 추가 기능은 추론되지 않았습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트