llm-agents.nix

用 Nix flake 统一打包数十款 AI 编码代理与开发工具,一条 nix run 命令即可试用或固定版本。

Star 数
★ 2.2k
最近更新
今天
License
MIT
主语言
Nix

30 秒速览

运行形态
命令行工具
可在哪里用
通用 · 跨平台
费用
软件免费,模型调用费用自付
上手难度
低 · 几分钟可跑通
开始前需要
启用 flakes 的 NixShell / 命令行网络访问本地文件系统
典型场景
想在不动系统环境的前提下试跑某个新编码代理 CLI,例如先 nix run …#crush -- --help 看一眼再决定是否长期使用。
不适合
  • 不使用 Nix / flakes 的团队:文档只给出 nix run 一种使用方式
  • 要求所有工具开源可审计的团队:多款打包对象被标记为 unfree 或仅提供二进制、字节码
  • 需要明确版本固定策略的用户:README 展示了每日自动更新,却没有固定 commit 或 flake input 的说明

这个 Agent 能做什么,适合哪些场景?

llm-agents.nix 是 Numtide 维护的 Nix 包集合,把 Claude Code、Codex、Gemini CLI、opencode、crush、Aider 类工具以及配套的代码评审、任务编排、记忆检索、沙箱隔离、用量统计工具统一封装成可复现的 Nix 包。每个条目在 packages/<名称>/package.nix 中定义,来源可能是源码构建、预编译二进制或字节码,并在 README 中生成对应的来源类型、许可证、主页与 nix run 用法。仓库本身以 MIT 许可发布,描述称每日自动更新,因此上游新版本会被持续并入。它本身不是一个代理,而是分发层:你在终端下通过 flakes 属性名调用任一工具。对已经使用 Nix 的开发者,这是把「今天想试哪个编码代理」的成本压到一条命令的方式。

仓库以 Nix flake 形式组织,按 packages/<name>/package.nix 为每个上游工具定义一个派生(derivation):从源码构建、拉取上游预编译二进制,或处理字节码分发。README 的「Available Tools」区块由生成器产出,按 AI Coding Agents、AI Assistants、Claude Code Ecosystem、ACP Ecosystem、Usage Analytics、Workflow & Project Management、Code Review、Voice & Transcription、Memory & Code Intelligence、Sandboxing & Isolation、Skills & Plugins、Utilities 等分组列出每个条目,并给出 source(source/binary/bytecode)、License(含 unfree)、Homepage、Usage 和 package.nix 路径。使用者执行 nix run github:numtide/llm-agents.nix#<属性名> -- --help,Nix 解析 flake、构建或获取对应派生,再把参数透传给上游 CLI。少数包另有 packages/<name>/README.md 说明细节(claude-code、forgecode、kandev、qmd)。仓库自身不做模型调用、不存数据,产物就是一个可运行的命令。

  1. 想在不动系统环境的前提下试跑某个新编码代理 CLI,例如先 nix run …#crush -- --help 看一眼再决定是否长期使用。
  2. 团队已在用 Nix,希望把 Claude Code、Codex、Gemini CLI 等多个代理写进同一个 shell 或开发环境并锁定版本。
  3. 需要横向对比不同厂商的终端代理(OpenAI、Anthropic、Google、xAI、Mistral、Qwen 等)而不想分别维护安装脚本。
  4. 正在搭多代理流程,想直接取用 beads、vibe-kanban、gastown、herdr 这类任务编排与工作区管理工具。
  5. 关注代理安全边界,需要 nono、sandbox-runtime、claudebox、fence 等沙箱运行时来隔离代理执行。
  6. 想统计各代理的 token 花费与会话记录,用 ccusage、tokscale、agentsview、mindwalk 做本地分析。

如何安装或部署这个 Agent?

唯一被文档化的前提是可用 Nix(并使用 flakes):README 中的所有示例都是 nix run。仓库没有给出非 Nix 的安装方式,也没有说明如何把它添加为 flake input 或 overlay。

nix run github:numtide/llm-agents.nix#claude-code -- --help

换一个属性名即可换工具,例如:

nix run github:numtide/llm-agents.nix#codex -- --help
nix run github:numtide/llm-agents.nix#opencode -- --help

README 未记录的信息:如何 nix build 全部包、如何在 flake.nix 中引用本仓库、以及各包被标记 unfree 时使用者需要做什么配置。

如何使用这个 Agent?

按 README 生成表格中的属性名调用,-- 之后是透传给上游 CLI 的参数:

nix run github:numtide/llm-agents.nix#gemini-cli -- --help
nix run github:numtide/llm-agents.nix#beads -- --help
nix run github:numtide/llm-agents.nix#vibe-kanban -- --help

claude-code、forgecode、kandev、qmd 另有 packages/<名称>/README.md 说明具体用法,其余条目只提供来源、许可证、主页和 nix run 一行用法;各家所需的账号、订阅或 API key 由上游工具自己决定,本仓库不负责也不记录这些凭据。

这个 Agent 有哪些优点和局限?

优点
  • 覆盖面罕见:编码代理、代码评审、任务编排、记忆检索、沙箱、用量统计集中在同一个 flake 中,属性名一目了然。
  • 调用方式统一:源码构建、预编译二进制、字节码三种来源都用同一条 nix run github:numtide/llm-agents.nix#<名称> 命令跑起来。
  • 元数据机器可读:每个条目标注 source 类型、License(含 unfree)、Homepage 与 package.nix 路径,README 表格自动生成,便于审查。
  • 每日自动更新,上游发版后无需等待人工提交即可拿到较新的工具版本。
  • 仓库自身为 MIT 许可,且基于 Nix 派生,构建结果可复现、可以和其他 Nix 环境组合。
局限
  • 强依赖 Nix 与 flakes,没有 Homebrew、npm、Docker 等替代路径的文档。
  • 相当一部分条目是 unfree、binary 或 bytecode 分发,意味着要信任上游预编译产物而非本地从源码构建。
  • README 未说明如何作为 flake input 引入或如何进行版本固定,而仓库又每日更新,长期可复现性需要使用者自行处理。
  • 除 claude-code、forgecode、kandev、qmd 外,多数条目只有一行 nix run 用法,缺少配置、鉴权和参数说明。
  • 仓库本身不提供稳定性承诺或版本矩阵,各工具的行为与授权完全取决于上游。

这个 Agent 与同类方案有什么区别?

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
llm-agents.nix 当前 30 · 缺口较多 命令行工具免费 + 模型费 ★ 2.2k 今天 Nix —
Foremerge 77 · 表现良好 命令行工具免费 ★ 534 6 天前 Rust Codex · Claude Code
pitwall 70 · 存在缺口 — ★ 18 今天 Go Codex · Claude Code
acpx 57 · 缺口较多 命令行工具免费 + 模型费 ★ 3.4k 3 天前 TypeScript Codex · Claude Code

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
30/ 100 五分制 1.5 / 5
信任安全 2/29
可靠稳定 3/14
适用触发 6/18
规范维护 8/18
有效结果 7/13
证据核验 4/8
查看各维度的扣分理由
信任安全2 / 29 · 0.3/5

README 逐包列出 source、license、homepage 和 Nix 路径,source_attribution 可得 2,但未验证上游来源。least_privilege 得 0:auto-merge 工作流在 pull_request_target 上授予 contents:write 与 pull-requests:write,并使用未固定版本的 Mic92/auto-merge@main。user_confirmation 得 0:依赖更新自动合并,无人工确认。data_flow_transparency、sensitive_data_handling、rollback 均无说明,得 0。dependency_security 得 0:未见锁文件或固定 action,且每日自动更新。external_effects 得 0:自动合并会直接写仓库,安装包也会引入外部二进制/源码,但无同意或恢复说明。

可靠稳定3 / 14 · 1.1/5

self_consistency 得 1:README 生成文档与 pyproject 基本一致,但缺少 flake.nix、package.nix 和锁文件证据,无法核对包定义。dependency_availability 得 1:只能从 nix run 命令推断可用,未展示 flake 输入或依赖固定。failure_messages 得 0:没有运行时代码或错误处理证据。

适用触发6 / 18 · 1.7/5

audience_and_scenarios 得 2:明确面向 Nix 用户,覆盖多种编码代理并给出逐包 usage。capability_boundaries 得 1:说明是包集合而非单一代理,但未说明平台、权限或能力限制。trigger_precision 得 0:没有触发机制或选择指南。environment_fit 得 1:Nix 环境适配明显,但未说明 Linux/macOS、unfree 配置等环境要求。

规范维护8 / 18 · 2.2/5

information_architecture 得 2:README 有生成式包文档和清晰分组。install_notes 得 1:只有 nix run 命令,缺少 Nix 安装、unfree 许可和 flake 使用说明。naming_stability 得 1:存在重命名/别名迹象,但无命名政策。examples_and_faq 得 1:有 usage 示例,无 FAQ。known_limitations 得 0:未列出限制。license 得 3:MIT LICENSE 完整,且 README 逐包标注许可证。versioning_changelog 得 1:pyproject 仅 0.1.0,无 changelog。maintenance_responsibility 得 1:有 Numtide 版权和 check-maintainers 工作流,但无明确维护者列表,发布者未验证。

有效结果7 / 13 · 2.7/5

output_usability 得 2:提供可直接执行的 nix run 命令和包路径。marginal_value 得 2:聚合大量 AI 编码代理,对 Nix 用户有实际价值。cost_benefit 得 1:大量 unfree/binary/bytecode 包、自动合并和未固定 action 增加使用与供应链成本,收益被部分抵消。

证据核验4 / 8 · 2.5/5

claim_traceability 得 2:README 链接 package.nix 和上游主页,可追溯主要声明。cross_source_corroboration 得 1:证据仅 README、LICENSE、pyproject 和两个工作流,缺少包定义与测试,交叉验证弱。fact_inference_separation 得 1:生成描述与事实推断未明确分离,部分包描述来自上游文案。

风险与缓解建议
  • 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
  • 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
  • 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
  • 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
  • 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
  • 自动合并工作流在 pull_request_target 上拥有写权限且使用未固定 action,存在供应链和误合并风险。
  • README 列出大量 unfree、binary 或 bytecode 包,但未说明沙箱、数据流、敏感数据处理或回滚机制。
  • 证据中缺少 flake.nix、package.nix 和测试,无法验证包可构建、依赖固定或更新流程正确性。
  • 发布者未经验证,维护责任和上游来源未明确确认。
证据充分度:低 评估于 2026年10月31日 审查版本 b14f9d18b6d1 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. assets Static Assets
    发布说明摘录
    Static assets for documentation (images, SVGs, etc.)
    在 GitHub 查看 ↗

常见问题

必须安装 Nix 吗?
是。README 中所有可用示例都是 nix run github:numtide/llm-agents.nix#<名称> -- --help,没有提供其他安装或分发渠道。
这些代理都是免费的吗?
仓库自身是 MIT 许可,但每个包的许可证单独记录:不少条目被明确标为 unfree(如 claude-code、amp、cursor-agent、jules、junie),也有 MIT、Apache-2.0、AGPL-3.0 等。使用前应查看该条目的 License 字段。
它会把工具装进我的系统吗?
文档只展示 nix run 的即时运行方式,没有全局安装步骤;若要长期固定使用,需要自己在 flake 或开发环境中引用,但该做法未在 README 中说明。
包内容多久更新一次?
仓库描述为每日自动更新,因此属性名背后的上游版本会随时间推进;这也意味着同一条命令在不同日期可能拿到不同版本。
运行某个代理需要我自备 API key 吗?
仓库不涉及鉴权,凭据和订阅由上游工具决定;README 只记录来源、许可证、主页和调用方式,不记录账号配置。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents