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命令,可自动检查并修复状态层。
相关
- 项目
- 项目
- 项目
- 项目
- 项目