openxlings/xlings

Universal package infrastructure with OS-like SubOS isolation - Multi-version · Rootless · Decentralized Index · Agent-ready.

해결하는 문제

xlings는 Linux, macOS, Windows에서 다중 버전 도구 체인과 격리된 환경을 처리하기 위해 설계된 유니버설 패키지 매니저입니다. GCC나 Node.js와 같은 동일한 도구의 여러 버전을 사용할 때 발생하는 "의존성의 지옥"을 해결하고, 충돌을 방지하며 호스트 시스템을 보호하기 위해 격리된 "SubOS" 환경에서 소프트웨어를 실행할 수 있는 방법을 제공합니다.

작동 방식

시스템은 바이너리, 스크립트, 설정을 배포하기 위한 특수한 패키지 형식인 xpkg를 사용합니다. 버전 관리는 여러 버전이 병렬로 공존할 수 있도록 하는 버전-뷰와 참조 카운팅 시스템을 사용하여 과도한 스토리지 사용을 방지합니다. 격리 기능은 운영체제에 따라 다른 백엔드를 사용합니다. Linux에서는 bwrap 또는 proot를 사용해 루트리스 파일시스템 격리를 구현하고, macOS 및 Windows에서는 홈 디렉터리를 리디렉션하여 dotfiles를 격리합니다.

대상 사용자

  • 다양한 프로젝트에서 다른 도구 체인 버전을 전환해야 하는 개발자
  • 호스트 머신에 영향을 주지 않고 코드를 실행하고 종속성을 설치할 수 있는 안전한 격리 환경이 필요한 AI 에이전트
  • .xlings.json 파일로 정의된 재현 가능하고 프로젝트별 환경이 필요한 CI/CD 파이프라인

주요 특징

  • SubOS 격리: 쉘, 파일시스템, 이미지의 세 가지 격리 수준을 제공하여 안전한 작업 환경을 구축합니다.
  • 에이전트 준비 완료: JSON 이벤트 인터페이스(NDJSON)와 내장된 에이전트 가이드를 포함하여 LLM 에이전트가 자가 학습하고 도구 체인을 관리할 수 있도록 설계되었습니다.
  • 다중 플랫폼: Linux, macOS, Windows에서 통일된 명령어를 제공합니다.
  • 분산형 인덱스: 공식, 제3자, 자체 호스팅 패키지 인덱스를 지원합니다.
  • 자기 진단 기능: self doctor 명령어를 통해 상태 레이어를 자동으로 점검하고 복구할 수 있습니다.

관련

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