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