Project NOMAD 深度解析:38K Stars 的离线优先知识服务器,断网也能查维基、上课、问本地 AI
posts posts 2026-06-08T10:00:00+08:00Crosstalk-Solutions/project-nomad 是一个离线优先的知识与教育服务器:一条命令装在 Debian 系机器上,Kiwix 离线维基与药品参考、Kolibri 可汗学院课程、ProtoMaps 地图、CyberChef、Supply Depot 应用目录一应俱全,本地 Ollama + Qdrant RAG 为可选件;断网可用、零遥测、无认证需自行做网络隔离、Apache-2.0 开源。技术笔记Project NOMAD, 离线优先, Ollama, Qdrant, Kiwix, Kolibri, Docker, 知识管理, 应急工具, 开源项目深拆Project NOMAD 深度解析:38K Stars 的离线优先知识服务器,断网也能查维基、上课、问本地 AI
Project NOMAD 回答的问题很具体:断网之后,你的知识库还剩多少?它把维基百科、可汗学院课程、药品参考、地形地图这些日常依赖网络的东西,连同本地大模型一起,编排成一台开箱即用的服务器。AI 反而是可选件——官方描述写得很清楚,这是一个 “offline-first knowledge and education server”,本地 AI 只是 “optional”。
这个取舍决定了项目的气质。它的真功夫不在模型,而在内容编排:每个知识包按 Essential/Standard/Comprehensive 分层,维基百科按体积分六档,更新有预检和冷却期。这些枯燥的运维细节,才是它和网上那些「一堆 docker run 命令合集」的区别。
目录
- Project NOMAD 是什么
- 38K Stars 从哪来:定位与竞品
- 系统地图:Command Center 管什么
- 内置能力详解
- 安装与维护
- 5.1 一条命令安装
- 5.2 高级安装:自定义 Compose
- 5.3 更新、备份与卸载
- 从裸机到断网:一次完整演练
- 硬件要求与适用边界
- 与同类方案的对比
- 参考链接
一、Project NOMAD 是什么
仓库地址:https://github.com/Crosstalk-Solutions/project-nomad。2026-10-01 读数:38,784 stars、3,871 forks、43 位贡献者,最新版 v1.35.0(2026-09-29 发布)。作者 Chris Sherwood 来自网络工作室 Crosstalk Solutions;项目 2025 年 6 月创建,名字最初是个缩写 Node for Offline Maps, Archives, and Data,官方后来干脆退役了这个缩写——现在就叫 NOMAD。
一句话定位:
一个 Docker 编排套件加一个 Web 管理界面(Command Center),把 Kiwix(离线维基与参考资料)、Kolibri(可汗学院离线课程)、Ollama + Qdrant(本地 AI,可选)、ProtoMaps(离线地图)、CyberChef(数据工具)、FlatNotes(笔记)等十几个容器装到一台 x86 机器上,统一安装、统一更新,断网后照常工作。
它做的事可以概括成三层:内容(ZIM 电子书包、PMTiles 地图、课程镜像、FDA 药品数据集)、AI(本地聊天 + 文档检索,可选)、生命周期管理(下载、分层目录、自动更新、卸载)。前两层网上都有现成工具,NOMAD 的价值在第三层——把「装一堆服务然后各自维护」这件事收进一个界面。
二、38K Stars 从哪来:定位与竞品
离线知识服务器这个需求早就存在,但它长期以「卖成品」的形态出现。官网给的主流替代品全是付费硬件:PrepperDisk($199–279)、R.E.A.D.I.($499)、Z3R4H($499)、Doom Box($699),共同点是预装内容、锁定自家的树莓派或迷你主机、不可升级。轻量一些的 Internet in a Box 是免费自装路线,但更新和编排要自己动手。
NOMAD 用开源软件占了同一个生态位:同样的内容包(维基、医疗、教材),装在你已有的任何 x86 机器上,不锁硬件,Apache-2.0 许可,免费。README 还专门声明「不受任何硬件厂商赞助」,硬件指南只给推荐配置不给购买链接。
一年多攒下 38,000 stars,靠的不是单一爆款功能,而是定位踩准了三拨人:应急准备社区(preppers)要「断网也能用的本地智能」,自托管爱好者要「数据不出门」,家庭教育用户要「可汗学院离线跑」。官网的宣传语把这件事说得很直白——“Pull the plug. Watch it keep working."(拔掉网线,看它继续干活。)
三、系统地图:Command Center 管什么
NOMAD 本体其实是一个管理界面加一套 API,自己不干活;干活的是它拉起来的容器。看懂这层委托关系,很多设计就好理解了:
| 层 | 组件 | 职责 |
|---|---|---|
| 管理面 | Command Center(端口 8080) | 安装、配置、更新所有服务;AdonisJS 后端 + React/Vite/Inertia 前端 |
| 数据面 | MySQL 8.0 + Redis 7 | Command Center 自己的数据库、队列与定时任务 |
| 工具面 | Kiwix、Ollama、Qdrant、Kolibri 等 | 真正提供能力的容器,容器名统一 nomad_ 前缀,便于和机器上已有容器区分 |
| 边车 | updater、disk-collector、Dozzle | 自动更新、磁盘信息采集、容器日志查看 |
| 存储 | /opt/project-nomad | ZIM、模型、笔记等所有数据的落点,可改绑定路径 |
两个设计决策值得单独说:
Docker-outside-of-Docker(DooD)。 Command Center 容器不自己跑 Docker,而是挂载宿主机的 Docker socket,直接在宿主机层面编排其他容器。这避开了 DinD 的嵌套开销,也让 NOMAD 能和机器上已有的容器和平共处——前提是端口不冲突。代价是它拿到了宿主机 Docker 的完全控制权,这也是下一条的原因之一。
默认无认证。 README 写得很坦率:出于「开放、零门槛」的设计哲学,NOMAD 不带任何登录机制。多人权限(家长控制、教师账号)在公共路线图上征集投票,目前仍未实现。官方的建议是:装完就断网用;要给局域网其他设备访问,就用防火墙控制端口;不要直接暴露到公网。管理面还零遥测——联网检查只用于判断在线状态(默认探测 1.1.1.1 的 Cloudflare 端点,可在设置里改),不回传任何数据。
四、内置能力详解
4.1 Information Library:分层内容目录
这是整个项目最有特色的部分。NOMAD 没有把 Kiwix 丢给你了事,而是维护了一套带版本、带体积、分层的目录(collections/ 目录下的 JSON 清单),把 ZIM 内容分成六大类,每类三层:
| 类别 | 资源数 | 代表内容 |
|---|---|---|
| Medicine | 9 | NHS 药品 A to Z(16 MB)、CDC 健康信息(170 MB)、FDA 药品标签数据集(1.7 GB) |
| Survival & Preparedness | 15 | 生存与应急手册 |
| Education & Reference | 13 | 教育与百科参考 |
| Computing & Technology | 14 | 计算机与技术文档 |
| Agriculture & Food | 7 | 农业与食品 |
| DIY & Repair | 4 | 维修指南 |
分层逻辑是累积式的:Essential 层管急救和常用药(医疗类四个资源合计约 330 MB,断网家庭最该先下的就是它);Standard 层在此基础上加 MedlinePlus 这类消费级医学百科;Comprehensive 层再往上加专业教材。每一层都有 includesTier 字段声明依赖,用户只需要选「我想要多全」,不用关心具体文件。
维基百科单独分六档,从 331 MB 的十万篇速查版到 124 GB 的全量带图版(2026-06 版 ZIM),安装向导里按体积选即可。此外还有两个内置能力容易漏掉:Drug Reference 提供离线 FDA 药品标签搜索,按药名查成分、剂量与相互作用;nomad-translate(v1.35.0 新增)为整个资料库提供离线机器翻译,以 Supply Depot 应用的形式安装。
4.2 AI Assistant:可选项,但做得认真
AI 助手是可选安装项,默认不装。装上后得到的是 Ollama(推理)+ Qdrant(向量库)+ 一条自研 RAG 管线:上传文档(支持 PDF、ePub、docx、纯文本和图片),系统用 nomic-embed-text:v1.5 做嵌入写入 Qdrant,聊天时检索引用。
模型管理有明确边界:只能用 Ollama 生态的模型,HuggingFace 上的裸模型文件不能直接导入;设置页没有的 ollama.com 模型可以用一条 curl 命令通过 API 拉取。推理也可以完全放在另一台机器上——设置里填一个 Ollama 或 OpenAI 兼容 API 的地址即可(Ollama 跨机时需以 OLLAMA_HOST=0.0.0.0 启动)。
RAG 管线的细节比「套壳聊天」多得多,源码注释和 release notes 里能拼出完整的演进线:
- 上下文处理:Ollama 在显存不足 24 GB 的机器上默认只给 4096 token 上下文且静默截断——不报错,模型就是看不到对话开头。NOMAD 设了一个保守的上下文下限,再按模型和硬件逐请求动态放大。
- 检索质量:v1.35.0 加了 rerank 之后的相关性门槛,检索结果不够相关时宁可拒答;每个答案下方显示来源文档和日期;还可以按会话关闭 RAG。
- 辅助任务分流:标题生成、问题改写这类小任务交给轻量模型,不占主模型。
- 其他:支持本地图片附件(v1.35.0)、按模型开关思维链、
nomad.md自定义全局指令(v1.34.0)、四种预设响应风格。
4.3 Education、Maps、Notes 与 Tools
这三件套加笔记,覆盖「断网家庭」的其余刚需:
- Education:Kolibri(Learning Equality 出品)承载可汗学院课程,带学习进度追踪和多用户支持。没有稳定带宽的学校用它当教室,是这个项目最诚实的用例。
- Maps:ProtoMaps 把 OpenStreetMap 切成 PMTiles 单文件瓦片。注意:内置目录目前只有美国各州(按人口普查区分组,夏威夷 28 MB、加州 1.1 GB,2025-12 版),外加一张低缩放的全球底图;官网宣传口径是「全球或指定国家」,海外用户需要留意这个差距。v1.35.0 补齐了地图标记管理(增删、图标、颜色、搜索排序)。
- Notes:FlatNotes,markdown 文件即笔记,数据落在本地存储目录,随时可以拿 git 同步或备份。
- Tools:CyberChef,GCHQ 出品的数据瑞士军刀,编码、加密、哈希、解密全在浏览器里完成,不上传任何东西。
4.4 Supply Depot:一键应用目录
v1.34 前后成型的扩展机制:一个内置应用目录,一键安装 PDF 工具、文件浏览器、Calibre 电子书库、密码管理器、离线翻译等周边应用,也支持带上自己的镜像跑自定义 Docker 容器。社区也有人往里添内容——官方文档收录的美军野战手册 ZIM(约 180 本,成品约 2 GB)和 W3Schools 离线包(约 700 MB)就是两个现成的第三方内容包。
4.5 System Benchmark:硬件跑分与社区排行榜
装好后可以跑一次硬件基准测试(底层是 sysbench),得分会提交到 benchmark.projectnomad.us 的社区排行榜。对「我这台旧机器够不够跑 AI」这个高频问题,排行榜是最直观的参照——看看同档硬件的得分和配置再决定买不买显卡。
五、安装与维护
5.1 一条命令安装
支持任何 Debian 系系统(推荐 Ubuntu 26.04 LTS,24.04 LTS 和 Debian 12 也在支持列表)。脚本会自动装 Docker(如果没有)、下载 compose 文件到 /opt/project-nomad、生成密钥和数据库密码:
sudo apt-get update && \
sudo apt-get install -y curl && \
curl -fsSL https://raw.githubusercontent.com/Crosstalk-Solutions/project-nomad/refs/heads/main/install/install_nomad.sh \
-o install_nomad.sh && \
sudo bash install_nomad.sh装完浏览器开 http://localhost:8080(或 http://DEVICE_IP:8080),首次进入是 Easy Setup Wizard,跟着向导勾选内容包即可。Windows 用户走社区维护的 WSL2 指南(原生 Docker 和 Docker Desktop 两条路线);macOS 和非 Debian 发行版不受官方支持,社区方案散落在 Discord 和 GitHub Discussions,出了问题靠自己。
5.2 高级安装:自定义 Compose
官方提供 management_compose.yaml 模板,复制为 docker-compose.yml 后替换占位符(端口、数据库密码、存储路径),再 docker compose up -d。适合要改端口映射、把数据挪到外置盘或自定义模型环境的用户;官方提醒这条路需要对 Docker 熟练。
5.3 更新、备份与卸载
更新分两条线:应用与内容走 Command Center 界面,还可以开启按时间窗执行的自动更新——只自动装 minor/patch 版本,major 版本始终手动,且更新前会预检磁盘空间和下载任务;Command Center 自身另有脚本兜底,都在 /opt/project-nomad 下:
sudo bash /opt/project-nomad/start_nomad.sh # 启动所有已装容器
sudo bash /opt/project-nomad/stop_nomad.sh # 停止
sudo bash /opt/project-nomad/update_nomad.sh # 更新 Command Center 容器(不含应用容器)彻底卸载用官方 uninstall 脚本(不可逆)。备份的核心是把 /opt/project-nomad 数据目录整份拷走——ZIM、模型、笔记全在里面。
六、从裸机到断网:一次完整演练
用一个最小的断网家庭方案把上面的机制串起来:
- 装核心。找一台闲置 x86 机器(4 GB 内存即可)跑 5.1 的命令,约 5 GB 磁盘、不到 1 GB 内存占用,Command Center 就跑起来了。此时还没有任何内容。
- 选内容。向导里按预算勾选:医疗 Essential 层(约 330 MB)、维基速查版(331 MB)或紧凑全量版(12.5 GB)、本州地图(几百 MB)、可汗学院课程。想省事就开自动更新,让内容包在设定的时间窗里自己保持新鲜。
- 决定要不要 AI。不装也能用全部功能;装的话预留约 25 GB 磁盘,模型运行时的内存占用大致等于它的下载体积(7B 量化模型约 4–5 GB),没有独立显卡就吃系统内存。下载完成后推理完全本地。
- 备份。把
/opt/project-nomad整目录拷到移动硬盘。 - 拔网线。维基、药品参考、课程、地图、笔记、CyberChef、本地聊天全部照常工作。联网唯一的用途是安装和更新——这正是它和「套壳 ChatGPT」的分界线。
七、硬件要求与适用边界
官方给的两档配置(x86-64 专用,暂无官方 ARM 支持,树莓派用户只能用社区镜像):
| 最低配置 | 推荐配置(跑 AI) | |
|---|---|---|
| CPU | 2 GHz 双核 | Ryzen 7 / Core i7 |
| 内存 | 4 GB | 32 GB |
| 显卡 | 无 | RTX 3060 或同级(显存决定能跑多大的模型) |
| 磁盘 | 5 GB(建议 10 GB) | 250 GB SSD;含 AI 的安装约 25 GB 起 |
| 系统 | Debian 系(推荐 Ubuntu 26.04 LTS) | 同左 |
按场景给边界:
- 适合:有闲置 x86 机器、想要数据主权的自托管用户;断网/弱网环境的家庭教育;应急准备场景;隐私敏感的行业内网部署(配合网络隔离)。
- 不适合:macOS 或树莓派用户(无官方支持);想要多人权限体系的人(无认证,等 roadmap);只想用 GPT-4 级云端模型的人(本地 3B–8B 模型的能力上限摆在那里,视觉问答尤其明显);只有小内存的笔记本(模型内存 ≈ 下载体积,跑不动的不是 NOMAD 是物理规律)。
八、与同类方案的对比
下表整理自官网的对比页(口径是官方的,价格为其页面标价,购买前自行核实):
| 方案 | 形态 | 价格 | 可升级性 |
|---|---|---|---|
| PrepperDisk | 预装内容盘/设备 | $199–279 | 有限 |
| R.E.A.D.I. | 预装设备 | $499 | 锁定硬件 |
| Z3R4H | 预装设备 | $499 | 锁定硬件 |
| Doom Box | 预装设备 | $699 | 锁定硬件 |
| Internet in a Box | 免费自装软件 | 免费 | 自由,但编排手工 |
| Project NOMAD | 免费开源软件 | 免费 | 任意 x86 机器 + 应用目录 |
差异点一句话:付费竞品卖的是「装好的硬盘」,Internet in a Box 给的是「装好的内容」但管理靠手工,NOMAD 把内容和管理界面都开源化,并且把更新这件事做成了可持续的软件工程——一个月数个版本、46 个 release、43 位贡献者的维护强度,在同类里没有对手。
九、参考链接
- GitHub:https://github.com/Crosstalk-Solutions/project-nomad
- 官网:https://www.projectnomad.us
- 安装指南:https://www.projectnomad.us/install(WSL2:https://www.projectnomad.us/install/wsl2)
- 硬件指南:https://www.projectnomad.us/hardware
- FAQ:https://www.projectnomad.us/faq(仓库内另有 FAQ.md)
- Benchmark 排行榜:https://benchmark.projectnomad.us
- 功能路线图:https://roadmap.projectnomad.us
- 社区扩展(Add-Ons):https://github.com/Crosstalk-Solutions/project-nomad/blob/main/admin/docs/community-add-ons.md
- Discord 社区:https://discord.com/invite/crosstalksolutions
- 许可:Apache-2.0
2026-06-08 · GitHub Trending 收录 · 文本矩阵「技术笔记」专栏(数据刷新于 2026-10-01)
参与讨论
使用 GitHub 登录。欢迎补充事实、异议与实践。
讨论暂时无法加载。