xlings 是一个通用包管理基础设施,支持多版本共存、OS-like SubOS 环境隔离和去中心化包索引生态。可以作为操作系统的系统级包管理器使用。
| 发布目标 |
包管理 |
Sandbox 边界 |
| Linux x86_64 / aarch64 |
支持 |
bwrap/proot 文件系统隔离 |
| macOS 14+ arm64 |
支持 |
仅 HOME 重定向 |
| Windows x86_64 |
支持 |
仅 USERPROFILE 重定向 |
macOS/Windows 的重定向不是不受信代码的安全边界。
# Linux / macOS
curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash
# Windows PowerShell
irm https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.ps1 | iex
xlings install gcc@16 node@24 cmake # 安装工具(支持指定版本)
xlings use gcc@16 # 切换当前使用的版本
xlings search python # 搜索可用包
xlings list # 查看已安装的包
xlings remove gcc # 卸载
| 场景 |
操作 |
| 多版本共存 |
xlings install gcc@16 gcc@11 后通过 xlings use 切换 |
| 项目环境复现 |
在项目目录放 .xlings.json 声明依赖,xlings install 一键安装 |
| 为 Agent 创建隔离环境 |
xlings subos new agent-ws --from subos:dev-env@latest |
| 进入隔离的 SubOS |
xlings subos use agent-ws --sandbox |
| 在 SubOS 中执行命令 |
xlings subos use agent-ws --sandbox --cmd "python run.py" |
| 升级 xlings 自己 |
xlings self update |
| 环境出问题、命令报错 |
xlings self doctor 体检,xlings self doctor --fix 一键修复 |
SubOS 提供三级隔离,满足从日常开发到 Agent 安全执行的不同需求:
| 级别 |
隔离范围 |
需要 root |
适用场景 |
| Shell |
工具版本 |
否 |
日常开发、版本切换 |
| FS |
文件系统(HOME, /tmp) |
否 |
Agent 运行、实验、不信任代码 |
| Image |
块设备完整隔离 |
是 |
重型工作负载 |
支持同时使用多个包索引仓库:
- 官方索引:
openxlings/xim-pkgindex
- 第三方社区索引:任何人可以创建
- 自建私有索引:团队内部使用
详细的操作说明,按主题组织。
面向需要了解内部实现或参与开发的读者。
| 文档 |
内容 |
| 系统架构概览 |
模块关系、数据布局、安装流程、隔离模型 |