llm-agents.nix
用 Nix 一站式管理所有 AI 编程工具,一条命令安装 Claude Code、Codex、Cop
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
用 Nix 一站式管理所有 AI 编程工具,一条命令安装 Claude Code、Codex、Cop
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你有没有遇到过这种情况:装了 Claude Code,却忘了装个配套工具;想用 Open Interpreter,部署时卡在依赖冲突上;或者同时装了三个不同版本的 Python 环境,互不兼容。numtide/llm-agents.nix 正是来解决这个问题的——它是一个 Nix 包集合,专门为 AI 编程代理(AI coding agents)量身打造,把市面上主流的 AI 编程工具全部打包成 Nix 包,统一管理、统一更新。无论你是用 Claude Code、GitHub Copilot CLI、Open Interpreter 还是国产的 Qwen-Coder,只需一条命令就能装上,还不用担心依赖冲突。这个项目由 Numtide 团队维护。Numtide 是一家专注于 Nix 生态的公司,核心成员同时也是 NixOS 社区的活跃贡献者。他们的目标很简单:让 AI 编程工具的安装和升级变得和安装普通软件一样简单。他们发现,随着 AI 编程代理越来越多,每个工具都有自己的安装方式、更新逻辑和依赖树,开发者疲于应付这些碎片化的工具链。于是他们用 Nix 的声明式包管理机制,把这些工具统一封装,提供一致的安装体验。打个比方,传统的 AI 编程工具安装就像在厨房里分别买微波炉、烤箱、空气炸锅,每台都有自己的说明书和插座。而 llm-agents.nix 相当于给你建了一个模块化的厨房系统,所有工具都标准化接入,插上就能用,还能同时运行。## 核心功能:一条命令,装好所有 AI 编程工具llm-agents.nix 目前收录了 130+ 个 AI 相关工具包,分为几大类:- AI 编程代理:Claude Code、OpenAI Codex CLI、GitHub Copilot CLI、Google Antigravity CLI、Sourcegraph Amp、Open Interpreter、Continue.dev 等- MCP 服务器:Model Context Protocol 相关服务器,Numtide 官方维护的 mcp-servers-nix 也收录其中- 国产工具:Qwen-Coder(阿里通义)、Gemini CLI(Google)、Kimi Coding(月之暗面)等- 沙箱与实验性工具:Claudebox(沙箱化执行)、claude-code-router(多 Provider 路由)等安装方式非常灵活。第一种是即开即用,不需要预先安装任何东西:bash# 列出所有可用工具(交互式 fzf 选择器)nix run github:numtide/llm-agents.nix# 直接运行指定工具nix run github:numtide/llm-agents.nix#claude-codenix run github:numtide/llm-agents.nix#opencodenix run github:numtide/llm-agents.nix#gemini-cli第二种是通过 Flake 集成到项目或系统配置中:nix{ inputs.llm-agents.url = "github:numtide/llm-agents.nix"; outputs = { nixpkgs, llm-agents, ... }: { nixosConfigurations.myhost = nixpkgs.lib.nixosSystem { modules = [{ environment.systemPackages = with inputs.llm-agents.packages.${pkgs.stdenv.hostPlatform.system}; [ claude-code opencode gemini-cli ]; }]; }; };}第三种是通过 Overlay 接入已有的 Nixpkgs:nixnixpkgs.overlays = [ llm-agents.overlays.default ];# 然后直接 pkgs.claude-code 引用一个关键优势是二进制缓存。Numtide 维护了自己的构建缓存(cache.numtide.com),所有包都在 CI 中每日构建,Linux(x86_64 + aarch64)和 macOS(x86_64 + aarch64)全平台覆盖。换句话说,大多数情况下你不需要从源码编译,直接下载二进制即可使用。## 技术架构:基于 Nix Flakes 的声明式包管理项目采用 Nix 生态中最现代化的 Flakes 架构。flake.nix 定义了所有输入(nixpkgs-unstable、flake-parts、treefmt-nix、bun2nix 等)和输出(packages、overlays),通过 blueprint 框架生成一致的包结构。每个工具包遵循统一的目录结构:packages/<tool-name>/ package.nix # 核心包定义 default.nix # NixOS 系统包入口 update.py # 可选,自动更新脚本 *.lock # 可选,依赖锁定文件包构建支持多种来源类型:binary(二进制直接下载)、source(从源码构建)、bytecode(预编译字节码)。项目大量使用 Nixpkgs 的现有构建工具:Node.js 包用 buildNpmPackage,Rust 包用 rustPlatform.buildRustPackage,Python 包用标准 stdenv.mkDerivation。这种分层策略使得新增一个工具包时,大部分工作只是编写一个 Nix 表达式,无需关心底层构建细节。代码质量方面,项目在 CI 中运行 nix flake check 进行全面检查,包括构建验证和 linting;nix fmt 统一代码格式。所有包定义遵循 2 空格缩进的 Nix 代码风格,模块化、可组合。README 中的包列表通过 ./scripts/generate-package-docs.py 脚本自动生成,确保文档和代码同步。值得注意的是,项目还包含实验性功能探索:Claudebox 研究透明沙箱化 AI 代理执行,claude-code-router 探索 Provider 抽象层(解耦 AI 接口与具体服务商),这些都是 Nix 在 AI 工具链领域的前沿实验。## 上手门槛:Nix 生态的入门代价使用 llm-agents.nix 的前提是装有 Nix(2.18+),且建议开启 Flakes 支持。Nix 本身有一定学习曲线,但对于已经使用 NixOS 或习惯 Nix 的开发者来说,这个仓库是开箱即用的。如果你不熟悉 Nix,这条命令可以先体验一下:bash# 无需安装 Nix,直接用 nix run 体验工具nix run github:numtide/llm-agents.nix#claude-code需要注意的是,项目明确声明只测试 nixpkgs-unstable 分支,使用 NixOS 稳定版分支(如 nixos-25.05)可能会出现兼容性问题。此外,部分商业工具(如 Claude Code、Github Copilot CLI)的许可证为 unfree,需要在 nixpkgs 配置中显式允许 allowUnfree。## 局限性:不完美,但值得尝试首先要承认的是,这个项目不适合所有人。如果你没有 Nix 使用经验,前期的环境配置就是一个门槛。其次,二进制缓存虽然覆盖主流平台,但 aarch64-darwin(Apple Silicon Mac)上部分包的可用性取决于上游是否提供对应架构的二进制。另一个值得关注的点是,作为一个人工维护的包集合,项目依赖 Numtide 团队的持续投入。虽然通过自动更新脚本可以部分自动化版本跟踪,但包的更新频率和质量仍取决于社区贡献。不过,对于已经深度使用 Nix/NixOS 的团队,或者希望在一个地方统一管理 AI 工具链的开发者来说,llm-agents.nix 提供了一个极具价值的解决方案——它把碎片化的 AI 工具生态用声明式的方式整合起来,让工具的安装、升级和移除都变得可预测、可重现。## 行业意义:Nix 在 AI 时代的又一次进化从数据看,llm-agents.nix 在 GitHub 上已获得 1400+ stars,收录了 130+ 个工具,保持每日更新。这背后反映的是一个趋势:随着 AI 编程工具越来越多,传统的「下载安装」模式正在成为效率瓶颈,而 Nix 的 reproducible build 特性天然适合解决这个问题。Numtide 同时还维护着 mcp-servers-nix(MCP 服务器的 Nix 封装)、agent-images(AI 代理的沙箱容器镜像)等相关项目,形成了围绕 AI 编程工具的完整 Nix 生态。这个生态的意义在于——当 AI 编程代理从极客玩具变成日常开发工具时,它们的安装管理方式也需要从「手动」升级为「声明式」,而 Nix 正是这个升级路径上最成熟的选择。如果你是 Nix 用户,强烈建议把 llm-agents.nix 加入你的 flake inputs。图1:Numtide 组织头像