项目详情

Project NOMAD

Knowledge That Never Goes Offline——断网也不断的知识基础设施,一台你拥有的机器装下维基百科、课程、地图与本地 AI

Crosstalk-Solutions/project-nomad Apache-2.0 TypeScript + Docker 38k stars v1.35.0-rc.1

分类:基础设施 · 自托管 · 离线优先 · ← 返回汇总

项目速览

一句话定位

不是又一个离线工具,是一整个知识生态的「发行版」

离线优先的自托管知识与教育服务器:一个管理界面(Command Center)+ API,通过 Docker 编排 Kiwix(离线维基百科)、Kolibri(可汗学院课程)、Ollama + Qdrant(本地 AI 与 RAG)、ProtoMaps(离线地图)、CyberChef、FlatNotes 等成熟工具,一键装进你自己的硬件,装完即断网可用、零遥测。适合灾难准备、偏远地区教育、隐私敏感场景与家庭实验室玩家;不适合需要认证体系的多用户生产环境。

管理面自研,工具面全是成熟开源 联网只在安装与主动下载时需要 Crosstalk Solutions 频道出品,自带社区
项目速览

核心数据

38k
Stars(15 个月)
3.78k
Forks
37
贡献者
v1.35
版本(约每月一个 minor)
8
内置能力模块
0
内置遥测
96
Open Issues
TS 96%
代码构成

数据采集:GitHub API,2026-09-22。2025-06-24 建仓,最近 push 2026-09-21(采集前一天)。发版节奏:v1.34.0(08-04)→ v1.34.1(09-02)→ v1.35.0-rc.1(09-13),rc 多轮打磨后再出正式版。

为什么存在

现代人的知识,全部依赖「在线」

断网 = 断知识

灾害断网、偏远地区、跨国旅行:维基百科、在线课程、地图、AI 助手瞬间全部不可用。已有离线工具(Kiwix、Kolibri)各自为战,普通人装不明白。

云端 = 隐私让渡

查医疗资料、写笔记、问 AI,每一次都在向服务商交出上下文。「知识基础设施自有」是对云依赖的对冲。

碎片 = 运维负担

自托管玩家手装十个容器:配置、更新、数据卷各一套心智。缺一个统一的「应用商店 + 自动更新」层。

NOMAD 的答案:一次 sudo 脚本,装出一台断网可用的知识服务器——安装、配置、更新全部由 Command Center 代管。

🔥 核心理念

不发明轮子,做「发行版」

每个能力背后都站着一个已验证的开源项目,NOMAD 自研的只有编排层(安装、配置、更新、目录)。这正是 Home Assistant 之于智能家居、Proxmox 之于虚拟化的路径:管理面统一,生态面开放。

Command Center(自研) 管理 UI + API · AdonisJS/TypeScript · :8080 安装 / 配置 / 更新 / 应用目录 全代管 Docker 引擎(宿主机,Debian 系) Kiwix 离线维基 / 医疗 / 电子书 Kolibri 可汗学院课程 + 进度 Ollama + Qdrant 本地 AI 聊天 + RAG ProtoMaps 离线区域地图 CyberChef 加密 / 编码 / 分析 FlatNotes 本地 Markdown 笔记 Benchmark 硬件评分 + 排行榜 Supply Depot 一键应用目录 + 自带容器 自动更新(可选) 核心软件 / 已装应用 / 离线内容,按计划免维护更新
自研编排层(代码库主体) 收编的成熟开源工具 扩展面(目录与更新)
核心机制

开箱能力矩阵

能力Powered By你得到什么
信息图书馆Kiwix离线维基百科、医疗参考、生存指南、电子书(ZIM 格式,内置选择器与库管理器)
AI 助手Ollama + Qdrant本地聊天 + 文档上传语义搜索(RAG),可外接 LM Studio / llama.cpp
教育平台Kolibri可汗学院完整课程、进度跟踪、多用户支持
离线地图ProtoMaps按区域下载的离线地图,支持查看与搜索
数据工具CyberChef加密、编码、哈希与数据分析(GCHQ 出品)
笔记FlatNotes本地 Markdown 笔记应用
系统基准内置硬件评分、Builder Tags、社区排行榜
Supply Depot内置一键装 PDF 工具 / 文件浏览器 / 电子书库 / 密码管理器,或跑任意自定义容器
🔥 系统架构

一套管理面,三层结构

接入层 · ACCESS 浏览器(局域网任意设备) http://DEVICE_IP:8080 · 无桌面环境也可纯服务器运行 安装脚本(sudo bash install_nomad.sh) Debian 系一键 / Docker Compose 高级路径 / Windows 走 WSL2 管理层 · COMMAND CENTER(admin/ · TypeScript 96%) AdonisJS 应用 controllers / services / jobs / commands 编排引擎 容器安装 · 配置 · 更新调度 自动更新决策 窗口 + 冷却 + 预检 MySQL 状态存储 执行层 · RUNTIME(宿主机) Docker 容器舰队 Kiwix / Kolibri / Ollama / Qdrant / ProtoMaps … Ollama(可外置主机) OLLAMA_HOST=0.0.0.0 · OpenAI 兼容端点 离线内容卷(ZIM 库 / 地图 / 模型) 内容自动更新走队列,按用户计划拉取 运维脚本:/opt/project-nomad 下 start / stop / update / uninstall 四脚本兜底,其余操作尽量走 UI。
自研代码 服务组件 外部依赖 质量工程亮点
核心机制

本地 AI:聊天 + RAG + 可外置

  • Ollama 为首选:支持应用内模型下载;LM Studio / llama.cpp 走 OpenAI 兼容 API,模型下载需回宿主软件操作
  • RAG 管线:文档上传 → Qdrant 向量库 → 语义检索增强回答,全部本地完成
  • 模型主机可分离:AI 助手设置里填远程 Ollama / OpenAI 兼容端点 URL,弱机器跑管理面、强机器跑模型
  • 反直觉定位:同类「离线生存电脑」多瞄准最低配硬件,NOMAD 明确反方向——鼓励 GPU 机器(RTX 3060+、32GB RAM、250GB SSD)榨满本地 AI
  • 硬件指南三档:官网给 $150 / 中档 / $1,000+ 三套攒机方案,硬件无关立场(无厂商赞助)
  • 裸装很轻:Command Center 本体仅需 2GHz 双核 / 4GB / 5GB——重的是你选择安装的工具与内容
质量工程

把更新器做成了可测试系统

自动更新是自托管软件最危险的代码路径。NOMAD 为它建了完整的 dry-run 决策管线:整个判定流程不触发任何真实更新,可离线、可定时钟、可灌入伪造 release 列表。

# 确定性场景套件:无网络/DB/Docker 依赖
# 覆盖 major-only / cool-off / prerelease / window-wrap
node ace auto-update:dry-run --scenarios

# 对着真实 GitHub releases + 预检模拟
node ace auto-update:dry-run \
  --current=1.32.0 --force-enabled

# 完全离线:伪造 releases + 固定时钟
node ace auto-update:dry-run --current=1.32.0 \
  --releases-file=./fixtures/releases.json \
  --now=2026-06-04T21:00:00Z \
  --window-start=20:00 --window-end=23:00
  • 语义化更新策略:minor / patch 在可配置时间窗内自动装,major 永远手动确认
  • 三重保险:冷却期 + 预检(磁盘是否够新镜像、是否有下载/安装在进行)+ 时间窗校验
  • 输出明确裁决:每次 dry-run 打印当前版本、窗口状态、目标版本、阻塞项,以 WOULD UPDATE → v1.33.2 或 WOULD NOT UPDATE (outside-window) 收尾
  • 场景套件退出码非零即失败,可直接接 CI——「更新器自己的回归测试」
安全与隐私

零认证是设计选择,不是疏漏

隐私立场(加分)
  • 零内置遥测:联网只在安装期与你主动下载内容时发生
  • 联网检测可审计:先探 1.1.1.1/cdn-cgi/trace,失败回退 GitHub API / NOMAD API;UI 与环境变量两层可覆盖检测端点
  • 数据不出机:笔记、文档 RAG、AI 对话全在本地容器栈内闭环
安全边界(需警惕)
  • 默认无认证:任何能访问 :8080 的设备都能操作全部功能——README 明示「open and available without hurdles」,靠防火墙/端口控制兜底
  • 强烈不建议暴露公网:官方原话「除非你真的知道自己在做什么」
  • 认证在 roadmap:多用户权限(家长控制、教师/管理员)已有公开提案,投票驱动优先级
快速上手

三条安装路径 + 四个兜底脚本

# 路径 1 · Debian 系一键脚本(推荐)
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

# 路径 2 · Docker Compose(高级用户自定义)
# 路径 3 · Windows WSL2(社区支持)
  • 设置向导:首次配置有引导流程 + 精选内容合集,不必逐个研究 ZIM 库
  • 三个自动更新对象:核心软件、已装应用、离线内容,各自可排计划、可关
  • 运维兜底:/opt/project-nomad 下 start / stop / update / uninstall 四脚本,UI 之外的最后手段
  • 社区扩展:Community Add-Ons 机制装第三方内容包
适用场景

适合谁,不适合谁

适合
  • 灾难准备家庭:台风 / 断网 / 应急场景下保住百科、医疗参考、地图与通信工具
  • 偏远地区教育:一台机器给整间教室提供可汗学院课程 + 进度跟踪(Kolibri 多用户)
  • 隐私极客:AI 问答、笔记、文档检索全自有,零遥测可审计
  • 家庭实验室玩家:Supply Depot 当一键应用商店,Benchmark 排行榜自带社交属性
不适合
  • 多用户生产环境:无认证 + 无权限分级,团队共享请等 roadmap 落地或自加网关
  • 公网服务:设计定位就是局域网 / 单机,暴露公网需自行承担
  • 低配 ARM 盒子:跑管理面可以,但 AI 能力基本无缘(项目哲学是「反低配」)
  • 非 Debian 系:一键脚本仅支持 Debian 系,其他发行版走 Compose 自行折腾
风险提示

需要警惕

潜力评估

未来空间

评分 9.0:「离线知识基础设施」是被反复验证的赛道(Kiwix 全球装机、灾备市场刚需),NOMAD 第一个把它做成了普通人能一键装好的发行版——Home Assistant 路径在知识场景的重演。38k stars / 15 个月 / 37 贡献者 / 月度发版 + rc 打磨,执行力和社区运营都是头部水准;dry-run 更新管线这类工程细节说明团队知道自托管软件的死穴在哪。扣分:无认证中间期、编排层长期维护税、个人品牌单点。看点:认证与多用户落地后能否吃下教室 / 社区机构场景,Supply Depot 能否长成离线应用生态的事实目录。


上一个
AutoClip
下一个
video-use
1 / 14