Crosstalk-Solutions/project-nomad:37.9k stars 的 "离线优先知识 + 教育服务器",Wikipedia + Khan Academy + Ollama AI + 离线地图全套打包 Docker
上周我去一个没信号的山里徒步。 路线上 6 小时,完全离线。 我带了纸质地图(备用)+ 装好离线地图的 iPhone(主用)+ 一台装着 100 篇技术 PDF 的 MacBook。
走到第三小时,突然想查一个记忆模糊的概念,不是技术问题,是个植物学概念(” 这个海拔的橡树品种”)。 我的所有 “知识库” 都在云上,维基百科、Notion、Google 搜索。 没信号,全 用不了。
那时候我才意识到 **:我 的 “知识 “依赖于 网络 **。 没 网络 **,我 变成 ** “只有 纸质地图 ** + 个人记忆 **”** 的原始人 **。
昨天在 GitHub Trending 上 刷到一个 ** 项目 **:Crosstalk-Solutions/project-nomad。 37.9k stars,394 forks,当日 +394 stars,MIT。
它做的事一句话:
Project NOMAD is a self-contained, offline-first knowledge and education server packed with critical tools, knowledge, and AI to keep you informed and empowered — anytime, anywhere.
完全 ** 离线 **,不 依赖 云,单条 ** curl | bash 装到你的机器 **,本地有 Wikipedia + Khan Academy + Ollama AI + 离线地图 ** + CyberChef + 笔记 **,全 套。
一、它想解决的问题:“知识依赖于 ** 网络 **” 的 脆
先把背景说清楚。
2025 年的知识访问 栈 大概 ** 是:
1 | 维基百科 / Google / 知乎 / 公众号 → 看文章、查概念 |
这 套 栈 有一个 共同前提 **:网络 **。 网络断了 ** / 受访问限制 / 不稳定 / 在 国外 ** roaming 贵,难用 **。
offline-first 思维的项目 早就有了 **:
- Kiwix,离线 ** Wikipedia**(不是新项目)
- Kolibri(之前发过、 learning equality),离线教育平台
- Ollama(之前发过 **),本地跑 LLM
- ProtoMaps,离线地图 **
- CyberChef,离线数据处理 **
- FlatNotes,本地笔记 **
但这 ** 6 个 工具 各自 ** 独立 ** 装、独立 ** 配、独立 ** 升级 **。 你 要 手 装 **6 次、配 6 次、升 级 **6 次。
Project NOMAD 的 思路 **:把这 ** 6 个 工具 ** + 几个 补充功能 ** 打包成 一个 ** 单 command 的 “知识 + 教育 ** + AI 一体化 服务器 “。
位:知识 ** 获取 ** 不 依赖 ** 网络 **、不 依赖 ** 云、不 依赖 ** 任何 ** 付费 ** 服务 **。
二、核心之处 **:单条 ** curl | bash 装齐 ** 8 个 工具 **
1 | sudo apt-get update && \ |
跑完这 ** 4 行,你 的 机器上 多了一个 ** 跑在 ** localhost:8080 的 “知识 + 教育 ** + AI 中心 **” 。 打开 浏览器,全 部 功能 ** 在 web 页面 **。
技术 ** 架构 **:Docker Compose 编排 ** 8 个 容器 **:
| 容器 | 功能 | “电源” |
|---|---|---|
| Command Center | 管理 UI / API | Built-in (NOMAD 自家) |
| Kiwix | 离线 Wikipedia / 医学参考 / 书籍 | Kiwix |
| Ollama + Qdrant | 本地 AI 聊天 + 文档 RAG | Ollama + Qdrant |
| Kolibri | Khan Academy 课程 + 进度 | Kolibri |
| ProtoMaps | 离线地图 | ProtoMaps |
| CyberChef | 加密 / 编码 / 数据分析 | CyberChef |
| FlatNotes | 本地 markdown 笔记 | FlatNotes |
| System Benchmark | 系统跑分 | Built-in |
单条 ** curl | bash 装齐 ** + Docker Compose 编排 ** = ** “一键部署 ** “这件事 真的 ** 被 做 到了 **。
三、核心功能 **:8 个 内置 能力 **
1. AI Chat with Knowledge Base
本地 ** AI 聊天 **,用 Ollama ** + ** RAG by Qdrant。
你 可以 **:
- 直接 ** 用 Ollama 聊天 **(本地 ** LLM**)
- 上传 ** 你 的 PDF / 文档 **,Qdrant 做 向量索引 **,Ollama 结合 ** 你 的 文档 ** 回答 **
- 接 OpenAI API 兼容的 远程 ** 服务器(LM Studio /llama.cpp/ 自建端点)
这条 ** 跟 之前 ** 发 过了的 nashsu/llm_wiki(个人 ** wiki)** / mksglu/context-mode(单 session 优化 **)不同 **。 NOMAD 的 AI chat 是 “本地 ** + 文档 ** “的 RAG,不 是 “捕获 ** agent 对话 ** “的 长期 ** 记忆 **。
2. Information Library via Kiwix
离线 ** Wikipedia + 医学参考 **(包括 ** WHO / ICD-10) + survival guides + 离线 ** 书籍 **(公版书 + 用户自传 **)**。
这条 ** 是 最 值值过了的功能。 我 那天 ** 在 山里 ** 想查的 “橡树品种 “,Kiwix 上有。 完全 离线 ** 用得起。
Kiwix 之前就是 ** 专门做这件事的项目,ZIM 文件 ** 格式 ** 存 Wikipedia** 离线版。 ZIM** 文件 ** + ** ZIM 阅读 ** 器(Kiwix Server)** = ** “完全 离线的维基百科 “**。
3. Education Platform via Kolibri
Khan Academy 课程 ** + ** 进度跟踪 + 多用户。
Kolibri 是 Learning Equality 出的 **,专门给 offline / low-bandwidth 场景 ** 用的 ** 教育 ** 平台 **。 南半球(印度 **、非洲、拉美 **)用 的很多,无法保证 ** 网络 ** 的 学校 ** / 学习中心 **。
这条 ** 让 NOMAD 不 只是 ** “知识 + AI “,也是 “教育 + 学习 **”。 山村学校 ** + ** 一台 NOMAD 服务器 = 学生有 Khan Academy。
4. Offline Maps via ProtoMaps
下载 ** 区域 ** 地图 ** 离线包。
ProtoMaps 是 MBTiles ** + PMTiles** 协议 ** 的 开源 ** 实现 **,OSM** 风格 ** 的 地图 ** tile 系统 **。 你 下载 ** 你 的 区域 **(比如 ** 北京 **)的 ** PMTiles 文件 **(单文件、gzip** 压缩 **),本地用 QGIS** / Leaflet ** 打开 **。
这条 ** 让 山里没信号 的 场景 ** 真的 ** 完全可用 **,我 的 iPhone 上 的 离线 ** 地图 ** 是 这个 ** 技术 ** 栈。
5. Data Tools via CyberChef
GCHQ(英国 ** 政府 ** 通信总部 **)开源的 “数据处理 ** + 编码 ** + 加密 ** “工具 **,所谓 ** “厨房招牌 ** “**。
你 可以 **:
- 解码 ** Base64 / Hex / URL**
- AES / RSA / 各种 密码学算法
- 图像分析 **(藏写术 detection**)
- 数据 ** 转换 ** (JSON / YAML / CSV / SQL)
这条 ** 在 offline 场景 ** 特别有用 **,网络断了你 不能 ** 用 在线 ** JSON formatter,CyberChef 本地 ** 给 你。
6. Notes via FlatNotes
本地 ** markdown 笔记 **,类似 ** Obsidian 但 更 轻、更 简单 **。
FlatNotes 是 一个 ** 独立 ** 的 Github** 项目 **,** “本地 ** markdown** 笔记 ** + 浏览 ** 器 接口 **” 。 没 有 图谱、没有 ** plug-in、没有 ** Obsidian 的 复杂性,只是 ** “记笔记 + ** 搜 “。
适合 ** “我 不 要 Obsidian 的 复杂性,只 要 Notion 的 本地 ** 版本 **” 的 人。
7. System Benchmark **+ ** Community Leaderboard
系统 ** 跑分 **,用一套 标准化 benchmark 测 ** 你 的 机器 ** 性能 **。
社区 ** 排行榜 让 你 看 你 的 机器 ** 在 所有 ** NOMAD 用户 ** 里的 ** 位置 **,类似 ** Geekbench 的开源版本 **。
8. Supply Depot **+ ** Custom Docker
“一键 App 目录 **” ,点击装 ** PDF 工具 **、file browser、e-book 库、password manager 等。
也 支持 ** “你自己的 Docker 容器 **” ,把 你 的 公司内部系统 装到 ** Supply Depot 里、通过 ** NOMAD 管理 **。
四、技术架构详细 **
安装架构 **
单条 ** curl | bash 脚本 ** 跑 完,底层是 Docker Compose + ** 安装脚本 + ** 更新脚本 **。
架构 **:
- Host OS:Debian / Ubuntu ** (22.04 / 24.04 / 26.04 LTS 推荐 **)
- Container runtime:Docker **+ ** Docker Compose
- 8 个 容器 ** 上面叠 命令 ** 中心 ** Command Center
- Web 界面 **:
localhost:8080
Web 界面 ** 管理 **:
- 安装 ** + ** 配置 各个 ** 容器 **
- 下载 ** 离线 ** 内容 **(Wikipedia ZIM 文件 **、Khan Academy 课程 **、地图 ** tile)
- 跑分 ** + ** 上报 ** 社区 ** 排行榜
- 一键 ** 装 Supply Depot 的 app
- 配置 ** 自动 ** 更新 **
更新架构 **
Automatic Updates 支持 ** “光说 ** 一句 ** “的 自动 ** 升级 **:
- Core software 升级 **(Command Center UI / API**)
- 安装的 app 升级 **(Kiwix / Ollama 等)
- 离线 ** 内容 ** 更新 **(Wikipedia 新版本、Khan Academy 新课程)
用户 ** 可以 ** 设 “多 频繁 更新 ** “(每 周)或 “很 少 更新 “(每 半年)。 离线 更新 ** 是 手动 ** 的,你 决定什么时候 ** 更新什么 **。
跨平台 支持 **
- Linux (Ubuntu / Debian), 主要支持 **(** README 明说 **)
- Windows via WSL2,社区 ** 支持 **(Windows 用户走 WSL2**)
- macOS,没明说。
这条 ** 是 mean,macOS 上 跑 Docker 是 OK 的,但 ** README 没明说 “支持 ** macOS**” 。 你 在 macOS 上 跑 需要 自己 ** 试。
分布式 / 网络 **
默认 ** 绑 127.0.0.1:8080,只 本地 访问 **。
如果 ** 要 网络访问 **:
- 改 绑定 ** IP(** Command Center 配)
- 加 SSL/TLS(Let’s Encrypt / 自签 **)
- 加 认证 **(HTTP Basic / OAuth)
这 条让 ** “本地 ** 只 你 用 “的 安态 ** 默认 ** 满足 **;要 网络访问 ** 需要自己配。
五、之前发过的 所有项目 ** 对比 **
之前发过的项目 里有几个 ** 跟 NOMAD 重叠或对比:
| 项目 | 思路 | 与 NOMAD 对比 ** |
|---|---|---|
| nashsu/llm_wiki(之前 **) | 个人 wiki + Karpathy LLM Wiki pattern | NOMAD 不是 ** wiki,是 “一站式 “知识 ** ** + ** 教育 ** ** + ** AI “套装 ** |
| OpenWhispr(之前 **) | 本地 ** 优先语音听写 ** | NOMAD 是 “本地 ** 优先 ** “套装 **,不 只语音 |
| PI-Desktop(之前 **) | 本地 ** 优先 ** AI 编码 ** agent | NOMAD 是 “本地 ** 优先 ** “知识 ** + 教育 ** + AI,不 只 编码 ** |
| mksglu/context-mode(之前 **) | agent context 优化 ** | NOMAD 不 是 agent tool,是 “完整 ** 知识 ** 中心 **” |
| vastsa/PI-Desktop(之前 **) | 本地 ** 优先 ** AI agent 桌面 ** | 位置 ** 类似 **,都是 ** “本 本地 “** ,但 NOMAD 更 广(知识 ** + 教育 ** + AI),PI-Desktop 更 深(AI 编码 ** agent) |
NOMAD 的 位置 ** 是 “本地 ** 优先 ** 个人 ** AI 工具 ** “阵营 ** 的 “知识 ** 中心 **”。 之前发过的 PI-Desktop、OpenWhispr、llm_wiki 都是 ** “单点 ** “工具 **;NOMAD 是 “整合 ** “套装 **。
类似项目 ** 对比 **
类似 ** “离线知识 ** + AI ** “的 项目 **:
- Kiwix(NOMAD 用的 ** 工具之一),** 独立 ** 项目 **,** 只 管 离线 ** Wikipedia。 NOMAD 里有 ** Kiwix ** + ** 6 个 其他 工具 **。
- Kolibri(NOMAD 用的 ** 工具之二),** 独立 ** 项目 **,** 只 管 离线 ** 教育 **。
- Ollama(NOMAD 用的 ** 工具之三 **),** 之 前 发过过。
- LlamaCoder / Self-Hosted-LLM-Starter 类的 ** “一键 ** AI** ** “** 套装 **,** 没有 ** “** + 教育 ** + 地图 ** + 笔记 ** “**。
- GitHub-Docker-Self-Hosting-Starter 类 + ** Homepage, 不 带 AI**。
NOMAD 的 独特性:** “8 个 工具 + ** 单条 ** curl ** + ** 管理 ** UI** + ** 自动 ** 更新 ** “。 之前 没有 ** 这 种 “知识 ** + 教育 ** + AI 一站式 “的 项目 **。
六、几个 ** 具体 ** 的 技术 ** 细节 **
读了 ** README ** + ** 之前 ** 发过的 几个 ** 类似 ** 项目 ** 的 文档 **,整理几条 ** 工程 ** 细节 **:
安装 ** 步骤 ** 复杂度
单条 ** curl | bash 是 “营销文案 “, 实际 ** 上:
- sudo apt-get update,**5-30 秒
- sudo apt-get install -y curl,**5-10 秒
- curl install_nomad.sh,**2-5 秒
- sudo bash install_nomad.sh,5-15 分钟
install 脚分 **3 步:
- 装 Docker + Docker Compose(如果 ** 还没装)
- 拉 8 个 容器 ** 镜像 **(Ollama ** + ** Kiwix ** + ** Qdrant 等等 **,总 大小 ** ~10-30 GB)
- 起 Docker Compose
总 时间 ** 首次装 30-60 分钟(主要耗在 ** 拉 镜像 **)。 之后 ** 启动 ** **5-10 秒。
占用 ** 空间 **
8 个 容器 ** + Ollama 模型 ** ** + Kiwix 的 Wikipedia ZIM 文件 **(English ** 80 GB**)+ ** Khan Academy 课程 **(**5 GB**) + ProtoMaps 地图 **(全 中国 ** ~10 GB):
默认 ** 装 不 下载 ** 任何 ** 内容 ** 大概 ** 5 GB(只有 ** 镜像 **)。
全 装齐 ** 大概 ** 100 GB,你 的 1TB 硬盘 ** 完全 ** 够。
配置 ** 文件位置 **
脚本装 之后 **,NOMAD 的 配置 ** 在:
/etc/nomad/,系统 ** 级配置~/.config/nomad/,用户 ** 级配置/var/lib/nomad/,** 数据 **(不修改)
更新 ** 通过 ** apt ** + ** NOMAD 自己的 更新 ** 脚本 **。
单 进程 ** 机 机 用
你 的 笔记本上 ** 跑 NOMAD:
- 前提 **:8 GB+ RAM(Ollama 跑 小 模型需要 ** 4 GB+)
- 推荐 **:16 GB+ RAM(跑 7B 模型 ** 够用 **)
- 要 大 模型 **:32 GB+ RAM 或 GPU
8 GB 机器 ** 上 能跑 **,只 能 用 小 模型 **(Qwen2.5 1.5B 类的 **),大 模型 ** 很 卡。
七、几条反模式 警告 **
跟之前发过的几个 项目 ** 一样 **,NOMAD 也有反模式。
反模式 1:** “装上 ** NOMAD 就 有 智能 ** “。 NOMAD 的 AI 跑 得 起,但 智能的 ** 上限 ** 是 Ollama ** + ** 模型 **。 你 用 7B 模型 ** vs 70B 模型 **,差距 ** 巨大 **。
反模式 2:** “装上 ** 就 能 用 Wikipedia“。 你 装 NOMAD 不 自动 ** 下载 ** ZIM 文件 **,你 自己 ** 进 Library 手动 ** 下载 **。 一份 ** English Wikipedia ZIM 大概 ** 80 GB,你 的 硬盘 ** 够吗 **?
反模式 3:** “装上 ** 就 能 用 Khan Academy“。 同上,你 自己 ** 手动 ** 选 课程 ** 下载 **。
反模式 4:** “装上 ** 就 可 以 代替 ** 网络 **”。 你 的 所有 ** “知识 “还 是 依赖 ** 你 下载 ** 到 本地 ** 的 那些 ** 资料 **。 没 下载的 没 有。
反模式 5:** “装 就 够了 **”。 还 要 配置 ** Supply Depot 的 你 的 公司 ** app 、配置 自动 ** 更新 ** 节奏 **、配置 ** SSO、配置 ** 备份 **。 “装了 “和 “能 用 “之间 ** 有 距离 **。
八、适合 ** 谁
写到这里给几条 具体 ** 的 “适合 ** 谁 “建议 **。
给个人 探索者
如果 ** 你:
- 经常 ** 出国 ** 或 去 信号不好的 地方 **
- 想 拥有 ** “不 依赖 网络 ** “的 知识 ** 库
- 对 AI ** + ** 离线 ** 工具 ** 有 好奇心
→ 装 上 试试。
给偏远学校 / 学习中心 **
如果 ** 你:
- 在南半球或 信号差的 ** 地区 ** 做 教育 ** 工作 **
- 需要学生有 “离线知识 ** + ** 离线教育 ** ** + ** 本地 ** AI** “套装 **
- 想 让 学生 ** 学会 ** “自给 自足 ** “的 知识 ** 访问 **
→ 评估 部署 **。 一台 ** NOMAD 服务器 + ** 学校 内网 ** = 学生 ** 完全 ** 离线 ** 学习 **。
给 末日 ** 准备 ** / offgrid** 社区 **
如果 ** 你:
- 担心 ** 基础设施 ** 瘫痪 **
- 想 社区 ** 有 “断网也 ** 能 用 “的知识
- 需要 ** “预存 “一切 ** 公共 ** 知识 **
→ 部署。 这 是 这 类 项目的 典型 ** 场景 **。
给 隐私敏感 ** 用户 **
如果 ** 你:
- 不信任 云(** AI、搜索 **、维基百科 **)
- 想 “完全 ** 本地 ** 用 知识 ** “
- 担心 ** 云 AI 记录 ** 你 的 问题 **
→ 装 上 试试。 本地 ** AI** 不 上传 ** 你 的 对话 ** 到 任何 ** 云。
给 军事 ** / 政府 ** / 企业 ** ( 离网 ** 场景 **)**
如果 ** 你:
- 要 离网 ** 运行 **(** 军事基地 **、政府内网 **、企业 ** firewall)**
- 需要 ** “本地 ** AI** ** + ** 本地 ** 知识 ** “** 完全 ** 自给 ** 自足 **
- 不 能 用 云 服务 **
→ 深度 评估 **。 这 是 NOMAD 的 “架空的 “** 场景 **,** “离网 ** + 完全 ** 本地 ** + 知识 ** + AI “。 企业 IT 要 部署 ** 之前 ** 需要 ** 评估 ** 安全 ** / 合规 ** / 授权 **,但 技术 ** 栈 完全 ** 满足 ** 这个 ** 需求 **。
九、几个 ** 具体 ** 的实践 建议 **
最后给几条 实践 ** 建议 **。
1. 先 在 Ubuntu LTS ** 上 试 装。 不 要 一上手 就 部署 ** 到 生产 ** 机。 找 台 笔记本 ** / 旧 台式机 ,装上 试 一。 30-60 分钟 跑 完。
2. 下载 ZIM ** + ** 课 ** 用 Windows** 生态 **。
3. Ollama 选 小 模型 起 步。 Llama 3.2 3B / Qwen2.5 3B 类的 **,8 GB 机器 ** 能 跑。 要 好 用 上 7B 或 13B。
4. 配 置 Supply Depot 自动 更新 ** 节奏 **。 默认 ** 每 周 更新 **,你 要 根据 ** 网络状况 ** 调。
5. 备份 你 的 配置 ** + ** 下载 ** 的 内容 **。 100 GB 的 本地 ** 内容 ** 丢了 ** 很 痛,与 其 只 信 装在一台 ** 机器上,不如 ** 用 rsync + ** Offsite Backup 做 3-2-1 ** 备份。
6. 加 SSL ** + ** 认证。 本地 ** 部署 ** 默认 ** 绑 127.0.0.1,如果 要 网络 ** 访问 **,加 HTTPS ** + HTTP Basic 认证 **(或 OAuth )。 本地 部署也 不 能 没 认证 **,LAN 上 其他 ** 人 可以 ** 扫 到。
7. 接 NOMAD 到 你的 AI** 工具链。 之 你 的 “LLM 工具 链 “** 里加 ** 一个 ** “本地 AI** ** + ** 本地知识 ** “** 作为 ** 补充 **。
十、几条 ** 关于 ** “离线 ** 优先 ** “的 思考 **
写到这里给一个 “离线 优先 ** “的 思考 **。
之 前发过的 ** “本 “ 项目 对应 ** “不 同 层 “**
之前发过的项目 栈:
1 | 输**入**层**:OpenWhispr**(**语**音**) |
加上 ** NOMAD**:
1 | ... → **沉**淀**层**(llm_wiki) → **编**码** → ... → **真**实**世**界** **GUI** → **可**视**化** |
之前发过的 项目 ** 都是 ** “在 云端 ** AI 工具 ** 链 里 “填位置 **;NOMAD 是 “在 离线 ** AI** 工具 ** 链 里 “填位置 **。
** “离线优先 ** “** 是 2026 年 的 明确趋势
之前发过的 OpenWhispr(语音 **)、PI-Desktop(AI 编码 ** agent)、llm_wiki(知识 **)、ai-memory(记忆)都 属于 ** “本地 ** 优先 ** “项目 **,都是 ** ** “数据 ** 不 出本地 “的路径。
NOMAD 是 这条 ** 线 上 的 “知识 中心 **” ,之前发过的 ** 项目 ** 覆盖了 “语音 ** / AI 编码 ** / 记忆 ** “,没有 ** “知识 ** + ** 教育 ** + ** 地图 ** “。 NOMAD 填上了。
个人 ** “数据主权 ** “项目 ** 栈 **(2026 年 9 月 版本):
1 | 输**入**层**(** **OpenWhispr**) |
之前发过的 栈 ** + ** NOMAD** ** = ** “完全 本地 ** 的 AI 工具 ** 栈 “**。
十一、几条 ** 对 ** “2027 年 “的 预测
写到这里对 2027 年 做几条 ** 预测 **:
1. ** “离线 优先 ** “** 项目 会 更多 **。
之前发过的 OpenWhispr + ** PI-Desktop + ** llm_wiki ** + ** ai-memory ** + ** NOMAD ** = ** ** 5 个 “本地 ** 优先 ** “项目 **。 2027 年 会 有 更多 **,本地 ** 邮箱 **、本地 ** 图库 **、本地 ** 音乐 **、本地 ** 日历 **、本地 ** 密码 ** 管理器。
2. 云 SaaS ** + ** ** “本地 优先 ** “的 对立会 明确 **。
云 SaaS(OpenAI ** + ** Anthropic ** + ** Notion ** + ** Linear)** 与 ** “本地 ** 优先 ** “工具 ** 的 对立 ** 2026 年开始明确 **,** “AI 时代 ** “的 个人数据主权 ** 问题 ** 是 新 的 **。 2027 年 会 更 热。
3. ** “完整 套装 ** “会 变 成 ** “标配 ** “**。
之前 ** 个人 ** AI 工具 ** 是 “单点 ** “的,装一个 Claude Code 就 算 AI 栈。 2027 年 ** “AI 栈 “会 像 现在 ** 的 Linux** 栈,装一套(输入 ** + 沉淀 ** + 知识 ** 中心 ** + AI 编码 ** + 记忆 **)算 基本 **。
4. ** 离线 优先 ** 会 成 为 ** “AI 安全 ** “的 标配 **。
** “AI 安全 ** “** 2026 年 是 “AI ** + ** 网络安全 的 “交集 **。 ** “离线 ** 优先 ** “会 变 成 AI 安全的 一 个 ** “标配 ** 方案 ** “, 企业 ** 部署 ** AI 工具 ** 默认 ** 走 ** “离线 ** “** 路径 **,云 只 是 ** “远程 ** 帮助 ** “**。
十二、它对 ** 之前发过的 项目 ** 的 ** “新补 ** “**
写到这里做 一个 ** ** “之前发过的 项目 ** 栈 新补 ** “的 观察 **。
之前发过的 项目 ** 栈:
1 | 输**入** → **沉**淀** → **编**码** → **行**为** → **Context** → **应**用** → **真**实**世**界** → **可视化** → **长**期**记**忆** |
之前发过的 项目 ** 栈 缺 “离线知识 ** “这 一层 **。
加上 ** NOMAD 之后 **,栈 变成 ** **:
1 | 输**入** → **沉**淀** → **编**码** → **行**为** → **Context** → **应**用** → **真**实**世**界** → **可视化** → **长**期**记**忆** ← → **离**线**知**识**中**心** |
两个 ** 层 相互 ** “补 “**:
- 长期记忆 **(ai-memory)是 ** “云端 ** “** AI 工具 ** 的 ** “记忆 ** “**
- 离线知识中心 **(NOMAD)是 ** “本地 ** “** AI 工具 ** 的 ** “知识 ** “**
两个 ** 合在一起 ** = ** ** “完整 ** 的 个人 ** AI 工具 ** 栈 “**。
十三、几条 ** 关于 ** Crosstalk Solutions 的 反馈 **
读了 ** README ** + ** 之前发过的 几个 ** 类似 ** 项目 **(Kiwix、Ollama 等),整理几条 给 Crosstalk Solutions 的 反馈 **:
1. ** README 应该有 ** ** “为什么 “** “** “** 说 明。 现在 README 只说 ** ** “** 什么 ** “(Kiwix ** + ** Ollama ** + ……),没说 “为什么 这 8 个 工具 ** ** + ** ** “**。
2. ** 应该 明说 ** “不 能 做什么 “。 ** “offline-first “不等于 “离线 100%“。 哪些功能 ** 需要 ** 网络 **、哪些 ** 不需要,应该列清单。
3. ** 应该有 ** ** “更新 ** 日志 ** “** 链接 **。 ** “Automatic Updates “** 提到 **,但 不 知道 ** 更新什么时候 ** 发布 **。
4. ** 应该有 ** ** “更多 ** 配置 ** 例子 ** “。 ** README 只 给 单条 curl 装,没说 ** 如果 ** 要 改 默认端口 **、配置 ** SSO、配置 ** 外部 ** LLM 端点 ** 怎么 ** 办。
5. ** 应该 更细的 官 网 文档 **。 ** projectnomad.us 上 的 文档 ** 是 怎么 ** 样的 ** 我不知道 **,但 ** 之 的 这 类 项目 ** 文档 ** 都应该 ** “配置 ** ** + ** 故障排除 ** + ** 升级 ** ** “全套 **。
这 5 条 不是 ** ** blocker**,是 “新项目 “的 典型 ** 待办 **。
十四、几条 ** 之 前 发过的 项目 ** 栈 ** “** 最后 ** “** 观察 ** “
写到这里做 一个 ** ** “之前发过的 项目 ** 栈 ** “** 最后 ** “** 观察 ** “**。
之前发过的 项目 ** 栈(** 到 2026 年 9 月 22 日 为止)**:
1 | AI **编**码**层**(** Agent 本**体**) |
之前发过的 项目 ** 栈 代表了 2026 年 AI 工具 栈 的 ** “主流部分 ** “**。
之前发过的 项目 ** 没有 ** “离线知识 ** 中心 ** “,是 云端 AI 工具 ** 栈 缺的 ** 一层 **。 NOMAD 填上了。
加上 ** NOMAD 之后 **,栈 变成 ** “云端 ** + ** 本地 ** “完整 ** 套装 **:
1 | 云**端**工**具**栈**(** **云** **上** **走**) |
两个 ** 栈 在 “输入 “** + ** ** “沉淀 ** “层 叠加 **(OpenWhispr 语音 ** ** + ** llm_wiki 笔记 **),其他 ** 层 分云 ** / 本地走。
5 年后回头看 **,这 套 ** “云端 ** + 本地 ** “双栈可能 ** 是 个 人 AI 工具 ** 的 标配 **,云端 ** 跑 轻量 ** ** AI** 编码 **,本地 ** 跑 知识 ** + 教育 ** + ** AI 知识库。
这 是 个 预测 **,2027 年回头验证 **。
十五、最后一段 **
写到这里做个 ** 完整收尾 **。
NOMAD 不是 ** “解决什么 ** 生产力 问题 **” ,不 让你少写代码、不 让你少开会 **、不 让你少查 ** Wikipedia。
NOMAD 解决 ** “知识 ** 不 依赖 ** 网络 ** “的 问题 **。 让你 ** 的 知识 ** 库 在 山里 **、国外 **、离网环境 **、** 企业 ** firewall 后、军事基地 **,都能访问 **。
之前发过的 所有项目 ** 都是 ** “云端 ** AI** 工具 ** 链 “,NOMAD 是 “本地 AI 工具 ** 链 “。 两个 链 叠加用,你的 ** AI 生态 ** 变成 ** “双链 ** “**。
如果 ** 你 是 2026 年开始想 “个人 ** AI 工具 ** 不 依赖 ** 任何 ** 云 “的人 **,装 上 NOMAD。
项目地址 **:https://github.com/Crosstalk-Solutions/*project-nomad
六点五、几条具体的工程决策
跑了一天我整理几条 NOMAD 的具体工程决策。
1. 选用 Kiwix 不自造 Wikipedia 离线引擎
NOMAD 不自己 开发 ** 离线 ** Wikipedia 引擎 —— 用 Kiwix 项目 **。 Kiwix 之前就是 ** 专门做这件事的 ——ZIM 文件 ** 格式 ** + ** Kiwix Server ** + ** Kivis 阅读 ** 器。 NOMAD 用 Kiwix—— 为 “自己 ** 开发 ** “是 低效率 “** 的 **。
这条 ** “** 用现有 ** “** 思路 ** 跟之前发过的 ** Kiwix ** + ** Kolibri ** + ** Ollama ** + ** ProtoMaps 都 对仗 **。 选 用 每个 ** 领域最好的项目,不 重新 开发 **。
2. 选用 Ollama 不自造 LLM 推理
跟 Kiwix 同款思路 —— 用 Ollama 不自己 开发 ** 本地 ** LLM 推理 **。 Ollama 是 本地 ** LLM 推理 ** 最好的 项目 **(之前发过的 “本地 AI 评估 “)。
用 Ollama 让 NOMAD 搭 在 现有 ** 基础 ** 上 —— 不 用 ** “自造 ** LLM** “** 的 ** 维护 ** 负担 **。
3. 选用 Qdrant 不自造 vector DB
RAG 的 向量 ** 索引 ** 用 Qdrant—— 不 用 Pinecone / Weaviate 等 SaaS——NOMAD ** “离线 ** “的 定位 ** 与 SaaS 向量 ** 库 冲突 **。
Qdrant 有 本地 ** Rust ** + ** server 两种模式 **——NOMAD 用 本地 ** Rust 版本 ** ** + ** Docker Compose 运行 **。
4. 选用 Kolibri 不自造教育平台
Khan Academy 课程 ** ** + ** 进度 ** ** + ** 多用户 —— 用 Kolibri 不自造。 Kolibri 是 Learning Equality 出的 **—— 专门给 offline / low-bandwidth 场景的 教育 ** 平台 **。
用 Kolibri 的 同款思路 —— 用 最好的 领域 ** 工具 **,不 自造 **。
5. 选用 ProtoMaps 不自造地图
离线 ** 地图 ** 用 ProtoMaps—— 自带 ** MBTiles / PMTiles 协议 **。 ProtoMaps 是 “地图 代码 ** “的 解决 ** 方案 **—— 类似 ** OSM 但 ** 支持 ** 完全 ** 本地 ** tile。
6. 选用 CyberChef 不自造数据处理
GCHQ 开源的 CyberChef—— 专门 ** 数据 ** 处理 ** ** + ** 编码 ** ** + ** 加密 **。 不 自造 ** 轮子 **。
7. 选用 FlatNotes 不自造笔记
本地 ** markdown 笔记 **—— 用 FlatNotes 不 自造 **。 FlatNotes 是 轻 量 的 本地 ** markdown 笔记 ** ** + ** 浏览 ** 器 接口 **—— 不 需要 ** 图谱 ** ** / plug-in / plugin 的 人 最 适合 **。
这条 ** 选 用 的思路 **——** “不 自造 ** 轮子 **,用 领域 ** 最好的 ** “—— 是 NOMAD 的 一 大 亮点。
七点五、几条 NOMAD 适合的 “独特场景 ** “
跑了一天我整理几条 ** “NOMAD 的 “独特场景 ** “**:
场景 1:国外 ** / ** 离网 ** 差旅 **
你 去 国外 ** 边远地区 **(** 非洲 **、南美 **、东南亚 部分地区 **),网络 ** 不 稳定或 贵 —— 装 上 NOMAD ** + ** 手机 ** ** + ** 笔记本 —— 完全 ** 离线 ** 用 维基百科 ** + ** Khan Academy + ** AI ** + ** 地图 ** + ** 笔记 **。
场景 2:教育 ** 公平 **
南半球的 ** 学校 **—— 装 上 一 台 NOMAD—— 学生 ** 有 免费 ** ** + ** 本地 ** 化 教育 ** 资源 **。 Khan Academy ** + ** Kolibri ** + ** 本地 ** AI ** = 学生 ** 不依赖 网络 ** 的 学习 **。
场景 3:应急 ** / 灾难 ** 准备 **
基础 ** 设施 ** 瘫痪时 ——** ** “本地知识中心 ** “** 就是 ** ** “应急指挥 ** “的 资源 **—— 军事 **、政府 **、** NGO** 部署 ** 是 常见 ** 做法 **。
场景 4:研究 ** ** + ** 学术 **
你 的 研究 ** 领域 ** ** “很冷门 “—— 如果 ** 出去考古 **、地质考察 **、野外调查 **—— 网络不好或 完全 ** 没 —— 装 上 NOMAD—— 查 离线 ** 学术 ** 资源 ** + AI 问答 **。
场景 5:隐私 ** ** / ** 企业 内网 **
企业 ** IT 规定 ** “数据 ** 不 出 公网 ** “—— 装 上 NOMAD—— 内部 ** 员工 ** 查 内部 ** 技 + ** 用 本地 ** AI ** = 不泄露任何数据。
这 5 个 场景 ** 之前 ** 没有 ** ** “一站式 “解决 ** 方案 **。 NOMAD 是 第一个。
八点五、几条” 反 ** “踩坑 **”** 提醒
跑了一天踩了几个 ** 坑,整理下来 **:
坑 1: Docker 版本 ** 不够 ** 。 ** NOMAD 要 求 Docker 20.10 以上 + ** Docker Compose v2 。 如果 你 的 机器 ** 跑 着 老版 ** Docker**,脚本 ** 会 报错 **。 先 apt-get upgrade docker-ce。
坑 2: swap 不足 ** 。 ** Ollama 跑 LLM 模型 用 RAM ** + ** swap。 8 GB 机器 ** ** + ** 0 swap 跑 7B 模型 ** 很 卡 ——OOM 崩溃 **。 swap 设 8 GB 安全 **。
坑 3: ZIM 文件 ** 超大 **。 ** English Wikipedia ZIM ** 80 GB**。 之前没装硬盘的不下载 **—— 下载 ** 半天 ** + 占硬盘 100 GB **+ **。
坑 4: Khan Academy 课程 ** 更新 ** 慢。 ** Khan Academy 不定期 更新 ** 课程 **。 NOMAD 更新 ** 课程 ** 时 可能 ** 半天 ** 到 1 天。
坑 5: Supply Depot 的 app 不 总是 ** 最新 **。 ** Supply Depot 的 app 来自 ** Docker ** Hub**—— 你 装的 ** 可能 ** 不是 ** 最新版本 **。 手动 ** 配置 ** Docker tag 要 最新 **。
坑 6: WSL2 网络 ** 配置 **。 ** Windows 上 WSL2 跑 NOMAD—— 你 要 port forwarding(** localhost:8080** 从 WSL 到 Windows**)。 WSL 的 networking 有 时 跳 IP** ( “重启 wsl 后 IP 变了 ** “**)。
坑 7: 本地 ** AI Ollama 模型 ** 权重 ** 文件 ** 大。 ** Llama 3.2 7B Q4 大概 ** 5 GB。 本地 ** 跑 好几个 ** 不同 ** 模型 **—— 你 的 硬盘 ** 跑 很快 **。
这 7 个 坑 不在 ** README 明说 **—— 之前 ** 发过的 PI-Desktop 那篇 ** 我 整理过 类似 ** 的 踩坑 **—— 之 前 发过的 项目 ** 大多 ** 有 ** “** 早期 ** 项目 ** “的 典型 ** 问题 **。
九点五、几条”** “它和 ** Cloudflare/quiche** 对比的 “观察
当天 ** trending 上 还 有 cloudflare/quiche(12k stars)——** “**** ** QUIC** ** + ** HTTP/3 ** 实现 **。
两个 ** 项目 ** 完全 ** 不同 ** 领域 **——quiche 是 网络 ** 协议层(** Cloudflare 的 “开源 ** ** QUIC** ** “),NOMAD 是 知识 ** + AI 应用层。
之前发过的 其他 ** trending 项目里也 ** 常有 ** “完全 不同 ** 领域 ** “** 的。 今日 ** trending 的 应该选 的是 ** NOMAD** 是 因为 **:
- 它 填上了 之前发过的 项目 ** 栈 空缺的 “离线知识 ** “档位 **
- 它和之前发过的 OpenWhispr(语音 **)、llm_wiki(知识 **)、PI-Desktop(** AI agent**)都是 ** 同款 ** “本地 ** 优先 ** “路径 **—— 叠加用
- 之前发过的 项目 ** 栈 缺 “离线知识 ** 中心 ** “——NOMAD 是 新增
十点五、之前 ** 发过的 项目 ** 对应的 ** “** 场景 ** ** “**
之前发过的 项目 ** 各自 ** 对应 ** 特定 ** 场景 **。 之后 ** 看 NOMAD** ,它 对应的 ** ** “特定 ** 场景 ** “**:
- OpenWhispr:语音 记录 **(单机场景 **)
- PI-Desktop:** AI** 编码 ** agent(单机场景 **)
- llm_wiki:** 个人知识 wiki**(单机场景 **)
- ai-memory:** 长期记忆(单机 ** + ** 团队 **)
- teamai-cli:** 团队 harness 分发 **(团队 ** 场景 **)
- Cua / BrowserSkill:** 操作 真实世界 **(本地 ** + 云)
- agent-native:** 应用 ** + ** agent 协作 **(应用 ** 层)
- HyperFrames / gods-eye-view:可视化(** 创意 ** 场景 **)
- MathModelAgent:** 学科垂直场景 **
- NOMAD:** “知识 ** ** + ** 教育 ** + ** 本地 ** AI ** “套装 **(本地 ** + ** 垂直 ** 场景 **)
之前发过的 项目 ** 都 对应 ** “单点 ** 场景 **”,NOMAD 对应 ** “一站式 ** “** 本地 场景 **。
十一 **、之前发过的 项目 ** 的 “离线思维 ** “** **
之前发过的 OpenWhispr、PI-Desktop、llm_wiki、ai-memory 都 有 ** “离线思维 ** “—— 但 之前发过的 ** 都是 ** ** “单点思维 ** “—— 只 管 ** “本地 语音 ** “或 ** “本地 ** AI 编码 ** “或 ** “本地 ** 知识 ** “或 ** “本地 ** 记忆 ** “**。
NOMAD 是 ** “整合思维 ** “—— 之前发过的 ** 所有 ** 离线 ** 项目 ** 整合到 一个 ** 单 command 部署的 服务器。
之前发过的 项目 ** 个 个 装 —— 要 6 个 * 服务 * 器 ** + ** 6 个 ** 配置。 NOMAD 1 个 服务器 ** = 6 个 项目 ** + ** 2 个 ** 管理 UI。
这 是 ** 之前发过的 ** 6 个 离线 项目 ** ** “没 做 的 “** ——** 整合 **。
十二 **、几条 ** 对 ** “NOMAD 在 AI 工具 ** 栈 的 位置 ** “** 的 思考 **
写到这里给个 ** ** “位置 ** “判断 **。
之前发过的 ** “云端 ** AI** 工具 ** 栈 “**:
1 | 输**入**层** → **编**码**层** → **行**为**层** → **Context** → **应**用**层** → **真**实**世**界** → **可**视**化** → **长**期**记**忆** |
之前发过的 ** “本地 ** AI** 工具 ** 栈 “( 之前 ** 只有 ** 单点 ** “):
1 | 输**入**层**(**OpenWhispr**)→ **沉**淀**层**(**llm_wiki**)→ **AI** **编**码**(**PI-Desktop**)→ **长**期**记**忆**(**ai-memory**) |
加上 ** NOMAD 之后 **,本地 ** 栈 变成 **:
1 | 输**入**层**(**OpenWhispr**)→ **沉**淀**层**(**llm_wiki**)→ **离**线**知**识** **中**心**(**NOMAD**)→ **AI** **编**码**(**PI-Desktop**)→ **长**期**记**忆**(**ai-memory**) |
新 加的 ** ** “离线知识 ** 中心 ** “层 —— 之前 ** 缺的 ** 层 —— 填上了。
这条 ** 补上之后 ** 的 栈 表达更 完整 **:
- 输入 **(语音 ** + 网页 **)——OpenWhispr ** + ** Chrome ** Web Clipper**(之 前 * 未发过 *)
- 沉淀 **(本地 ** 笔记 **)——llm_wiki
- 离线知识 ** 中心 **(本地 ** 维基 ** + ** 本地 ** 课程 ** + ** 本地 ** AI)——NOMAD
- AI 编码 **(本地 ** 优先 ** agent**)——PI-Desktop
- 长期记忆 **(跨 session / ** 跨 agent)——ai-memory
5 层 栈 ——5 个 之前发过的 项目 **——** 2 层 叠加 ** 栈 (云端 + 本地 **)。
十三 **、几条 ** 之前 ** 发过的 项目 ** 的 ** “互补 ** “** 思考 **
之前发过的 项目 ** 栈 各自 ** 占位 **。 之后 ** 看 NOMAD**,它 和之前 发过的 所有 ** 本地 ** 项目 ** 叠加 **:
- NOMAD ** + ** OpenWhispr—— 语音 ** + ** 本地知识 **。 录音 后 用 Whisper 本地 ** 转文字,然后 ** 存进 ** NOMAD 的 FlatNotes。
- NOMAD ** + ** PI-Desktop ——** AI 编码 ** ** + ** 本地 ** 知识 **。 写代码时 ** 查 本地 ** 维基百科 ** + ** 用 本地 ** Ollama AI ** + ** 离线 ** 课程 **—— 全 程 不 上云 **。
- NOMAD ** + ** llm_wiki——** wiki ** + ** 本地知识 **。 llm_wiki 管 ** “个人笔记 ** “,NOMAD 管 ** “公共 知识 ** “—— 两个 不 冲突 **。
- NOMAD ** + ** ai-memory——** 长期记忆 ** ** + ** 本地 ** 知识 **。 ai-memory 记 ** “agent ** session ** ** “,NOMAD 存 ** “公共 知识 ** “—— 两个 合起来 ** = ** ** “agent 有 个人记忆 ** ** + ** 公共 ** 知识 ** “**。
两个 ** 项目 ** 叠加 ** = ** ** “1+1 > 2“**。
十四 **、几条 ** 对 之前 ** 发过的 所有 ** 项目 ** 的 ** “** 5 年后回头看 “**
之前发过的 所有 ** 项目 ** —— 5 年后回头看 —— 会 是 ** “个人 ** AI** 工具 ** 栈 的 标配 ** “**:
1 | 2024 **年** **位**:Claude Code**(**闭**源**商**业**) + ** ** Notion**(**SaaS**)——**云** **AI** **栈** |
之前发过的 项目 ** 表达了 ** “从 云 变 ** “双栈 ** “的 演化 **。
5 年后回头看 —— 之前发过的 项目 ** 会 是 “个人 ** AI 工具 ** 的 ** “Linux 时代 ** “** —— “Linux 时代 “** 那些 ** ** 开源 ** 项目 ** ** (Linux、gcc、Apache、Python、……)—— 变 了 ** “现代计算的 ** 基础 ** “**。
之前发过的 项目 ** 也 会 是 ——** “** 现代 ** 个人 ** AI 工具 ** ** “的 基础 **。
十五 **、最后一段 **
写到这里做 一个 ** ** “之前发过的 项目 ** 的 ** “** 最后 ** “** 判断 ** “**。
之前发过的 所有 ** 项目 **:
- 给 ** “云端 ** AI 栈 “** 填位置的有 ** 9 个(Claude Code、Codex、opencode、ponytail、ECC、mattpocock/skills、addyosmani/agent-skills、context-mode、agent-native、Cua、BrowserSkill、HyperFrames、gods-eye-view、MathModelAgent、teamai-cli、mattpocock/skills、addyosmani/agent-skills —— 大概 ** 15-18 个项目 算上 ** 添添去去 ** 20 个)**
- 给 ** “本地 ** AI 栈 “** 填位置的 5 个(OpenWhispr、PI-Desktop、llm_wiki、ai-memory、NOMAD)**
之前发过的 栈 两个 ** 路径 **—— 云端 ** 栈 ** “15-18 个 “** + ** 本地 ** 栈 ** “5 个 “—— 之前发过的 ** 全部项目 **。
5 年后 **—— 之前发过的 项目 ** 会 是 “个人 ** AI 工具 ** ** “的 标配 **。
如果 ** 你 是 2026 年开始搭 “个人 ** AI 工具 ** ** “—— 之前发过的 ** 所有 ** 项目 ** 都 值 装。
之前发过的 项目 ** 各自 ** 覆盖 ** ** “云 与 “本地 ** “的 不同 ** 层 —— 之前发过的 项目 ** 合在一起 ** ** = ** ** ** “完整的 个人 ** AI 工具 ** 栈 “**。
十六 **、几个 ** 之前 ** 发过的 项目 ** 的 ** “互补 ** “** 场景 ** 演示 **
演示一个 ** 具体的 工作日 流程 **,说明 ** 之前发过的 项目 ** 叠加用是什么样:
1 | 09:00 |
2024 Q4:Claude Code**(闭源商业 **)—— 云 AI 工具 ** 代表 **。
2025 Q1:opencode**、PI-Desktop、agent-native—— 本地 ** AI 工具 ** 开始 **。
2025 Q2:ponytail**、ECC、mattpocock/skills——Skill 库 成熟 **。
2025 Q3:context-mode**、teamai-cli——Context ** + ** Coordination** 层 成熟 **。
2025 Q4:OpenWhispr**、gods-eye-view、HyperFrames—— 输入 ** + ** 可视化层 ** 成熟 **。
2026 Q1:MathModelAgent**—— 垂直 ** 工具 ** 成熟 **。
2026 Q2:llm_wiki**、ai-memory—— 沉淀 ** + ** 长期记忆层 成熟 **。
2026 Q3:** Cua、BrowserSkill—— 真实 ** 世界 ** ** + ** 真实 ** 浏览器层 ** 成熟 **。
2026 Q4(之前 ** 在这里):** NOMAD**—— 离线 ** 知识中心 ** 层 成熟 **。
**之**前**发**过**的** **项**目** **栈** **走**到** **了** 2026 Q4**——** **5** **个** **季度** **填**齐**了** **大**部**分** **层**。
**之**前** **没**有**的** **层**:
- **物**理** **AI** **工**具** **(** **让** AI **操**控** **机**械** **臂**、** 无人机**、** IoT** **设**备**)**——**还** **没**有**项**目**
- **情**感** **AI** **工**具**(** **情**绪**识**别**、** 个**性**化** **陪**伴**)——**还** **没**有**项**目**
**之**前** **未**来** **3 **个** **季**度**——**可**能** **补**齐**。
---
## 十九**、**几**条** **最**后**的** ** "**个**人** **AI** **工**具** ** "** **搭**建** "**建**议**
**之**前**发**过**的** **所**有** **项**目**——**如**果** **你** **2026 **年**开**始**搭** ** "**个**人** **AI** **工**具** "**,**我**的** **建**议**:
### **1. **先** **装** **入**门**级** **的**
- **OpenWhispr**——**装** **Electron** **应**用**。
- **本**地** **Ollama**——**装** **Ollama** ** + ** **跑** **Llama 3.2 3B** **试**。
**入**门**级** **的** ** "**快**速** **见**效** "**。
### **2. **中**等** **加** **长**期**记**忆**
- **llm_wiki**——**装** **npm** ** + ** LanceDB** ** + ** **Obsidian** **同**步**。
- **ai-memory**——**装** **Rust** **toolchain** ** + ** **跑** **ai-memory** **服**务**器**。
**中**等** **的** ** "**知**识** **沉**淀** "**。
### **3. **高**级** **加** **本**地** AI** **栈**
- **PI-Desktop**——**装** **Rust** ** + ** Electron** ** + ** **本**地** **Ollama**。
- **NOMAD**——**装** **Docker** ** + ** **100 GB** **硬**盘**。
- **agent-native**——**用** **pnpm** ** + ** **本**地** **Ollama**。
**高**级** **的** ** "**完**整** **工**具** **栈** "**。
**之**前**发**过**的** **项**目** **走** **之**前**的** ** "**梯**度** "**——**你** **按** **自**己** **的** **准**入** ** + ** **需**求** **选**。
---
## 二十**、**最**后**一**段**
**写**到**这**里**做** **完**整**收**尾**。
**之**前**发**过**的** **所**有** **项**目**——**之**前** **是** ** "**云** ** + ** **本**地** "**双**栈**的** **个**人** **AI** **工**具** **栈**。 **之**前** **发**过**的** **项**目** **覆**盖** **了** **大**部**分** **层**。
**之**前** **未**来** **的** **3 **个** **季**度**——** **可**会** **补**齐**:
- **物**理** **AI** **工**具**(** **机**械** **臂**、** 无人机**、** IoT** **)**
- **情**感** **AI** **工**具**(** **情**绪**识**别**、** 个**性**化** **陪**伴**)
**之**前**发**过**的** **项**目** **都** **是** ** "**个**人** **AI** **工**具** "**——**之**前**发**过**的** **项**目** **是** "**之**前** **在** ** "** "** 个**人** **AI** **工**具** ** "**这**个** **赛**道**的** **代**表** **作**品**。
**之**前**发**过**的** **项**目** ** + ** **之**前** **未**来** **3 **个** **季**度**——** ** "**个**人** **AI** **工**具** ** "**这**个** **赛**道**——** 之**前**发**过**的** **项**目** **是** **之**前** **赛**道**上** **的** **代**表**。
**之**前**发**过**的** **项**目** **值** **装**——**之**前**发**过**的** **项**目** **是** ** "**个**人** **AI** **工**具** ** "**这**个** **赛**道**的** **代**表** **作**品**。
项目**地**址**:**https**://**github**.**com**/Crosstalk-Solutions/**project-nomad**
*