ncps

高性能Nix本地缓存代理服务器,加速依赖下载。

安装使用

复制下面这段提示词发给你的 AI(Claude / Cursor / TRAE / Codex / WorkBuddy 等),它会自动帮你完成安装:

帮我安装这个 AI Skill:ncps。
它的用途是:高性能Nix本地缓存代理服务器,加速依赖下载。
完整的 Skill 内容见:https://321skill.com/skills/ncps/raw/index.md
请读取该页面内容,如果是 SKILL.md 格式直接安装,如果是 README 提炼核心 prompt 后安装。

提示词包含完整的 Skill 内容链接,AI 读取后即可完成安装。你也可以 查看完整内容 确认无误。

使用示例

“帮我检查一下 ncps 的 Docker 运行日志,看看为什么服务启动后无法访问。”,它会引导你查看容器日志,分析可能的配置错误或端口冲突。或者

对AI说:“我想在 Kubernetes 上部署 ncps 并配置 S3 存储,请给我一个基本的 Helm values.yaml 示例。”,它会提供一个包含基础配置、S3 参数和探针设置的 YAML 模板。

介绍

ncps 是一款专为 Nix 包管理器设计的高性能本地缓存代理服务器,旨在解决团队或家庭网络中重复下载 Nix 依赖包导致的带宽浪费和构建速度慢的问题。它通过在本地网络中架设一个中间缓存层,首次从上游(如 cache.nixos.org)获取的依赖包会被存储在本地,后续同一网络内的其他机器或构建任务可以直接从本地高速获取,显著减少下载时间和对外网带宽的占用。

使用 ncps 非常便捷,官方提供了 Docker 镜像,用户可以通过几条简单的 Docker 命令快速完成部署和初始化。配置上支持灵活的存储后端(本地文件系统或 S3)、多种数据库(SQLite、PostgreSQL、MySQL)以及高可用部署选项。部署完成后,只需在 Nix 客户端的配置中指向 ncps 服务器的地址,即可透明地享受加速。

这个工具非常适合拥有多台 NixOS 或使用 Nix 进行开发的机器环境,例如软件开发团队、科研实验室或家庭中的多台开发设备。对于频繁进行大规模构建或网络条件受限的场景,ncps 的价值尤为突出。

需要注意的是,ncps 目前仍处于早期开发阶段,其主分支和预发布版本不应用于生产环境,可能存在数据丢失或损坏的风险。在生产部署时,务必使用最新的稳定发布版本,并定期备份重要数据。

核心特点

与简单的 Nix 本地缓存不同,ncps 提供了企业级特性,如支持 S3 等远程存储、多数据库后端、基于 Redis 的分布式锁实现高可用,以及完整的可观测性(OpenTelemetry、Prometheus)支持,使其更适合团队和规模化部署。

注意事项

目前处于早期开发阶段,生产环境使用需谨慎,数据一致性和恢复能力尚未完全保证。

常见问题

ncps 和直接配置多个 upstream cache 有什么区别?

ncps 在本地网络内提供了一个持久化的统一缓存层,能避免同一依赖在局域网内被重复下载,而多个 upstream 配置只是增加了远程来源,无法减少跨外网的重复流量。

部署 ncps 需要修改每台客户机的 Nix 配置吗?

是的,需要在每台希望使用该缓存的 Nix 客户机上,通过配置 substituters 选项将 ncps 服务器的地址添加进去。

给 AI 助手的安装指引

如果你的 AI 编程助手(Claude Code、Cursor、TRAE 等)能看到这个页面,把下面这段发给它即可自动完成安装:

请访问 https://321skill.com/skills/ncps/raw/index.md 读取 ncps 的原始 Skill 定义(Markdown 格式),按其中说明在我的环境里完成安装和配置。