惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

I
InfoQ
G
Google Developers Blog
Engineering at Meta
Engineering at Meta
月光博客
月光博客
博客园 - 聂微东
博客园 - Franky
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
有赞技术团队
有赞技术团队
A
About on SuperTechFans
Microsoft Azure Blog
Microsoft Azure Blog
Blog — PlanetScale
Blog — PlanetScale
U
Unit 42
T
Tailwind CSS Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
云风的 BLOG
云风的 BLOG
S
SegmentFault 最新的问题
F
Fortinet All Blogs
H
Help Net Security
J
Java Code Geeks
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 叶小钗
L
LangChain Blog
Martin Fowler
Martin Fowler
N
Netflix TechBlog - Medium

V2EX

我用 AI 写代码,但终端管理反而成了累赘——于是我做了 codux [调研] 各位在公司都用什么 ide 和 agent 写代码? 老运维 share 一个运维平台 看到有公司考核 token 指标,很好奇大家上个月的 AI 账单是多少 GLM-Coding 调用持续报错: z.ai 的 Lite 套餐几乎无法使用,官方 Pro/Max 是否稳定? 现在还有什么渠道可以稳定安全地使用 Claude 吗? 上海漕河泾内推,本组有 2 个 hc,一个后端,一个前端,预算都是 20k 左右,不打卡,氛围好 如果 V2EX 上有一组不永久保存聊天记录(比如只保存 7 天或者 24 小时)的聊天室,那么会开启哪些有用或者有趣的可能? gemini cli 貌似挂了,一直返回 403 第一次在自媒体上赚到钱 收集了最近在使用的低价 GPT, Gemini,邮箱等 AI 会员的小店合集 讨论个大实话:现在企业还在说 AI 编程提效 20%, 30%的,真的太落后,没用懂 AI。因为包括很多前沿公司,已经狂奔到提效 200%-500%的情况 [招聘][远程][币安] 前端/后端/QA/iOS/Android 至少 3 年以上经验 目前有大量 HC 欢迎投递 Chatgpt Pro 用量用不完的可以开这些设置 面试的时候好像遇到钓鱼了,给各位避个坑 cursor 年续费 22 号到期, 自动续费是否还是老的计次套餐呢 被两件破事毁掉的一下午,琐碎的内耗消磨人的精力 使用 Planet 存储 Codex 的会话或者重要信息 如果业务部门领导不要你开发功能,而是要求你教会它用 claude code 开发功能,你会怎么做? 分享一个 MacOS 接绿联 CM818 USB 转 DP 转接器使用感受 我的 HR 朋友 10 年老 Java ,非全大专,大家帮忙看看简历 开源了一个 AI 口语练习工具,音素级发音评分,完全免费可自部署 V2EX 上有哪些你觉得很有趣、印象深刻的妹纸? 字节为啥不出个国内版 Vercel? 有在大马的朋友吗? 问个运营商问题 你们在有领导的公司大群发过的最大胆的消息是什么 公司裁员,目前没有工作。想试试摆摊,做一个移动鲜啤打酒车 我的硬盘 Memblaze Pblaze 5 Linux 下不识别,给 Linux 内核提交了补丁, AI 说有望被合并 只有我一个人觉得 codex 不好用?
xlings: 通用包管理器 + OS-like 轻量级隔离环境, 可以创建多...
Sunrisepeak · 2026-05-17 · via V2EX

项目地址: https://github.com/openxlings/xlings

注: 目前 linux 体验比较好, windows/macos 上逐渐适配中


xlings

通用包管理基础设施 + OS-like SubOS 隔离
多版本共存 · 无需 Root · 去中心化索引 · 面向 Agent

[官网] | [文档] | [包索引] | [社区论坛]

中文 | English

使用者: MCPP · 即将推出的 Luban Linux


为什么选 xlings?

痛点 没有 xlings 有 xlings
系统 gcc@11,还想装 gcc@16 手动编译,容易冲突 xlings install gcc@16 — 两版本共存
团队需要一致的项目环境 "在我机器上能跑" .xlings.json + xlings install — 进入项目目录即无感进入隔离的项目级 SubOS
Agent 需要自己的隔离世界来运行 Docker daemon + 镜像 + 清理 Agent 跑在 SubOS 里面 — 拥有完全权限,无需 root,轻量级,宿主机不受影响

vs 其它工具

apt / brew nix docker xlings
多版本共存
无需 Root ⚠️ ⚠️ ✅(image 模式除外)
无 daemon
跨平台统一命令 ⚠️ ✅ Linux / macOS / Windows
隔离粒度 FS FS+ 🔒 shell / FS / image 三级
存储复用 ✅ store ❌ 镜像膨胀 ✅ 版本视图 + 引用计数
启动开销 ⚡ 即时 ⚡ 即时 🐢 秒级 ⚡ 即时 / ~10ms(sandbox)
去中心化索引 ✅ 官方 + 第三方 + 自建
Agent / JSON 接口 ⚠️ API xlings interface(NDJSON)
可作 OS 级包管理器 apt 本身是 NixOS ✅(Luban Linux,即将推出)

快速开始

安装

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

让你的 AI Agent 帮你装

把以下内容复制给你的 AI agent(Claude / Codex / OpenCode 等):

帮我安装 xlings 包管理器。
- Linux/macOS: curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.sh | bash
- Windows: irm https://raw.githubusercontent.com/openxlings/xlings/main/tools/other/quick_install.ps1 | iex
项目地址: https://github.com/openxlings/xlings

试一试多版本

xlings install gcc@16 node@24 cmake
xlings use gcc@16        # 切换当前版本
gcc --version            # gcc 16.x

核心概念

特性

  1. 📦 通用包管理基础设施 — binary / script / config / subos / tutorial 统统是 xpkg
  2. 🔀 多版本共存 — 同一工具 N 个版本并存;版本视图 + 引用计数(N 个环境 ≈ 1 份存储)
  3. 🏗️ 三级 SubOS 隔离 — shell(env 切换)/ FS(bwrap/proot,无需 root)/ image(ext4,需 root)
  4. 🌐 去中心化包索引 — 官方 + 第三方 + 自建仓库;资源服务器做二进制镜像分发
  5. 🤖 JSON 事件接口xlings interface(NDJSON 协议)面向 AI Agent 、CI 和第三方工具

场景

🛠 工具链 — 多版本免 sudo

xlings install gcc@16 gcc@11 cmake node@24
xlings use gcc@16        # 即时切换
xlings use gcc@11        # 切回 11, 互不干扰

📦 项目 — 无感进入项目级 SubOS

当你进入包含 .xlings.json 的项目目录时,xlings 自动透明地激活项目级 SubOS — 你和团队在隔离环境中工作而无需任何手动操作。所有依赖都在项目自己的 SubOS 中。

{
  "workspace": {
    "xmake": "3.0.7",
    "gcc": { "linux": "16.1.0" },
    "llvm": { "macosx": "20.1.7" }
  }
}
cd my-project/           # 自动进入项目 SubOS
xlings install           # 依赖装进项目级隔离环境
xmake build              # 一切正常运作, 与宿主机隔离

clone → cd → build 。团队和 CI 环境完全一致,无需手动激活。

🤖 Agent — Agent 运行在自己的轻量级世界中

xlings 让你把 agent(codex / claude / opencode 等)运行在 SubOS 内部 — agent 在隔离环境中拥有完全权限,宿主机完全安全。

为什么这很重要:

  • 🔓 Agent 在 SubOS 内拥有更大权限 — 装包、改文件、跑任意代码 — 不会伤害宿主机
  • 🔁 同一个 agent 工具,一台机器上多个实例 — 每个 SubOS 有独立配置(正常情况下 codex/claude 一个账号只能跑一份)
  • ⚡ 轻量级 — 不是重型 VM 或容器,仅 namespace 隔离

在 SubOS 中运行 Agent:

# 创建 SubOS(从 base 环境 fork,或自己从零配置)
xlings subos new claude-workspace --from subos:dev-env@latest

# 进入 SubOS — Agent 在这里面运行,拥有完全控制权
xlings subos use claude-workspace --sandbox
# → 现在你在 agent 的世界里
# → 在这里启动 claude / codex / opencode
# → 它们可以自由安装、修改、实验 — 宿主机不受影响

# 同一台机器上运行多个隔离的 agent 实例
xlings subos new claude-workspace-1 --from subos:dev-env@latest
xlings subos new claude-workspace-2 --from subos:dev-env@latest
xlings subos new codex-workspace --from subos:dev-env@latest

一次性任务也可以用 --cmd:

xlings subos use claude-workspace --sandbox --cmd "python analyze.py"

无需 root,无 daemon,无镜像膨胀。每个 Agent 拥有自己的世界。


SubOS 详解

三级隔离

级别 机制 需要 Root? 隔离范围 适用场景
🟢 Shell env/PATH 切换 工具版本 日常开发, 版本锁定
🔵 FS bwrap / proot 沙箱 文件系统(HOME, /tmp 私有) Agent, 实验, 不受信代码
🟠 Image ext4 稀疏镜像挂载 完整块设备隔离 重型工作负载, 持久化沙箱

关键能力

  • 从 base forkxlings subos new <name> --from <local|subos:pkg@ver>(shared storage 下 0s)
  • 非交互执行xlings subos use <name> --cmd "<command>"(exit code 透传)
  • 沙箱模式--sandbox 标志;bwrap 优先(setuid,xim 自管理),proot 兜底
  • 存储模式--storage shared|tmpfs|image,fork 时选择
  • 项目级 SubOS.xlings.json 中声明,进入项目目录即自动透明激活
  • Keeper(可选)--keep 保持 mount namespace 活跃,高频 exec 优化;xlings subos stop 释放

包索引生态

graph TD
    subgraph 来源
        S1["🏛️ 官方 - openxlings/xim-pkgindex"]
        S2["🌍 第三方 - 社区仓库"]
        S3["🏠 自建 - 团队 Git / 本地路径"]
    end

    subgraph "资源服务器 (二进制镜像)"
        R1[GLOBAL]
        R2[CN]
        R3[自建 OSS]
    end

    S1 & S2 & S3 -->|"xpkg 包描述"| X[xlings install]
    X -->|"下载二进制"| R1 & R2 & R3

    style X fill:#e8f5e9

一行添加自定义索引:

{
  "index_repos": [
    { "name": "xim", "url": "https://github.com/openxlings/xim-pkgindex.git" },
    { "name": "my-team", "url": "[email protected]:devtools/pkgs.git" }
  ]
}

生态

项目 角色 链接
MCPP 现代 C++ 构建工具生态 — 通过 xlings 分发 github.com/mcpp-community/mcpp
Luban Linux 即将推出的 Linux 发行版,采用 xlings 作为系统级包管理器 (发布时更新链接)
xim-pkgindex 官方包索引 — 60+ 个包持续增长 openxlings/xim-pkgindex

Agent 集成

Agent 运行在 SubOS 内部

不同于传统的"agent 调用工具"模式,xlings 让 agent 本身运行在 SubOS 里面。agent 拥有一个完整的隔离环境 — 可以装包、写文件、跑服务 — 全都不会影响宿主机。

场景 实现方式
安全地给 agent 完全权限 agent 在 --sandbox SubOS 内运行
同一 agent 工具(codex/claude)一台机器多实例 每个实例一个 SubOS
Agent 需要特定环境(Python + CUDA + 自定义库) subos:ml-env@latest fork
临时任务执行 --storage tmpfs + --cmd

程序化接口

xlings interface 提供 NDJSON 协议(stdio 通信)— 面向 AI Agent 、CI 系统和第三方工具的程序化控制:

xlings interface
# → {"protocol":"1.0","capabilities":[...]}
# ← {"action":"install","target":"subos:py-ds@latest"}
# → {"kind":"progress","phase":"downloading","percent":45,...}
# → {"kind":"data","dataKind":"installed","payload":{...}}

开发 & 测试环境

除了 Agent,SubOS 同样适合开发和测试:

# 不同场景不同环境
xlings subos new rust-nightly --storage shared
xlings subos new legacy-gcc11 --storage shared

# 或使用项目级模式:进入项目目录即自动进入隔离环境
cd my-project/           # 无感进入项目 SubOS

从源码构建

# 1. 安装 xlings(见上方"快速开始")
# 2. 在仓库根目录安装构建依赖:
xlings install           # 读取 .xlings.json → xmake, cmake, ninja, 工具链

# 3. 切换到开发工具链:
xlings use [email protected]    # 确保 xrepo 缓存用 glibc 链接

# 4. 构建:
xmake f -y && xmake build xlings
xmake build xlings_tests && xmake run xlings_tests

.xlings.json 同时驱动 CI 和 release 流水线。


社区