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 上使用 bwrapproot 實現無根檔案系統隔離;在 macOS 與 Windows 上則透過重新導向主目錄來隔離點檔案(dotfiles)。

適用對象

  • 需要在不同專案間切換不同工具鏈版本的 開發者
  • 需要在不影響主機機器的前提下安全執行程式碼與安裝相依性的 AI 代理
  • 需要透過 .xlings.json 檔案定義可重現、專案專用環境的 CI/CD 流水線

主要亮點

  • SubOS 隔離:提供三種隔離層級(shell、檔案系統、鏡像),建立安全的工作空間。
  • 代理就緒:包含 JSON 事件介面(NDJSON)與內建代理指南,使 LLM 代理能自我學習並管理工具鏈。
  • 多平台統一:支援 Linux、macOS 與 Windows 的統一指令。
  • 去中心化索引:支援官方、第三方與自架設的套件索引。
  • 自診斷功能:提供 self doctor 指令,可自動檢查並修復狀態層。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案