一根 U 盘就能跑本地大模型:NIGHTRUN 让你的电脑跳过操作系统直接进 LLM

阅读时长:12分钟

DeepSeek 又要涨价了,你还敢把公司代码贴进云端 LLM 吗?

昨天 The Information 爆出一条新闻:DeepSeek 计划对 API 进行"significant"级别涨价。

看到这条消息,我第一反应不是骂人。而是打开自己的 .bashrc,看了一眼里面那一串明文的 OPENAI_API_KEYANTHROPIC_API_KEYDEEPSEEK_API_KEY,然后叹了口气。

云端大模型这条路,我们其实一直知道有三个"随时会被捏"的把柄:

  1. 价格:厂商说涨就涨,你连议价空间都没有
  2. 审查:Prompt 里出现敏感词,接口直接 429 或返回空
  3. 隐私:你贴进去的每一句代码、每一份财务报表,都在别人的服务器上留了副本

理性上我们都知道该"本地化"。但本地化的门槛……你懂的:装 Linux、配 CUDA、拉 Ollama、下模型、写 systemd。折腾到深夜三点,本地 LLM 终于跑通了,第二天你就发现——这台机器你还得当开发机用,装了 QQ 微信 Chrome VSCode,本地 LLM 那点内存和显存优势瞬间烟消云散。

有没有一种方案,能把"本地大模型"和"日常使用的电脑"物理隔开,又不用买第二台机器?

前天在小众软件 appinn 上刷到一个骚东西,我盯着它标题看了半分钟:

NIGHTRUN — 无需操作系统,用 U 盘启动的本地大模型客户端。

拔盘即走,插盘就跑,全程不加载任何 OS。

我以为是标题党。翻了 GitHub、翻了 CNX Software 的评测、翻了作者的技术文档。

不是标题党。是真骚。

什么叫"不加载操作系统"

先摆事实。NIGHTRUN 的 GitHub 仓库地址是 github.com/hardrave/NIGHTRUN,MIT 协议,Rust 写的,星标数还不高(毕竟是 8 月 6 日刚在 appinn 首发的新玩意),但技术设计非常猛。

它的工作方式,一句话概括:

一个 UEFI 应用(BOOTAA64.EFI)直接从 U 盘启动,读取量化模型加载进内存,然后把磁盘"封印",进入聊天界面。

拆开看:

  • 你把镜像 flash 到一根 U 盘或 microSD 卡上
  • 插进电脑,按 F12(或 F2、F10,看主板)选 U 盘启动
  • **主板固件(UEFI)**接管,直接调用 U 盘上的 NightRun EFI 应用
  • 没有 Linux 内核,没有 Windows,没有 systemd,没有任何 OS
  • 模型(1.3 GB 到 2.4 GB 不等)从 U 盘 stream 进 RAM,边读边做 CRC-32 校验
  • 模型加载完,存储被 seal(封印)——之后任何试图读磁盘的动作都会触发 hard fault
  • 你面对的就是一个 framebuffer 里的聊天光标,等你打字

这个"seal 磁盘"的设计特别值得说两句。作者的意思是:既然模型已经进内存了,为什么还要留着磁盘 IO 通道?多留一条通道就多一个攻击面。干脆物理上禁用。等你聊完关机,模型从 RAM 里蒸发,U 盘上除了 EFI 镜像什么都没留。

这叫"临时性"——不是软件层面的"退出登录清除记录",而是 RAM 断电就没了 那种。

为什么 UEFI 而不是"真·裸金属"

有人会杠:这不就是个 bootloader 跑 LLM 吗,UEFI 又不是裸金属?

作者的原话我复述一遍:

NightRun deliberately stays on UEFI Boot Services instead of calling ExitBootServices(). That is what makes a USB keyboard, a display, and disk reads work on effectively any machine without shipping half a kernel’s worth of drivers.

翻译:如果调用 ExitBootServices() 彻底脱离 UEFI,作者就得自己写键盘驱动、显卡驱动、USB HID 驱动、显示驱动——那等于自己造一个迷你 OS,得不偿失。

留在 UEFI Boot Services 层,能白嫖固件提供的所有硬件抽象:

  • USB 键盘输入 → UEFI 直接给
  • 显示输出 → UEFI framebuffer 直接画
  • 从 U 盘读模型 → UEFI 文件系统协议直接读

代价小,收益大。作者的原话是"precision matters more than a cooler-sounding claim"——我要精确,不要看起来更酷的说法。这种务实的技术审美,我给满分。

支持哪些模型?跑得动吗?

这是关键。骚归骚,跑不动等于零。

目前实现了三个模型家族,官方给出的组合是:

模型 量化 大小 需要 RAM 跑得动的平台
Llama 3.2 1B Instruct Q8_0 1.3 GB 4 GB x86_64 / Pi 5
Llama 3.2 3B Instruct Q4_K_M 1.9 GB 6 GB x86_64 / Pi 5
Granite 4.1 3B Q4_K_M 2.0 GB 6 GB x86_64 / Pi 5
Qwen3 4B Instruct 2507 Q4_K_M 2.3 GB 8 GB x86_64 / Pi 5 (8 GB 版)

翻译成人话:一台 8 GB 内存的老笔记本,甚至一块 8 GB 的树莓派 5,就能跑 Qwen3 4B。

我拿家里那台吃灰的 ThinkPad X1 Carbon(16 GB 内存、i7-8650U,2018 年的机器)试了下 Llama 3.2 3B——冷启动到能对话大约 25 秒(大头都在 U 盘读模型),生成速度按官方描述是"actual speed"(不加速),我实际测下来约 8~12 tokens/s。不快,但对话流畅度可用。

关键是——这台电脑主硬盘里跑着 Windows 11,装着一大堆办公软件。我拔掉 U 盘,Windows 一切正常,磁盘一个字节都没被动过。

这种"物理隔离感"太爽了。像是你的电脑长了一个"AI 模式开关",插盘开、拔盘关。

装机流程:只有 5 步

作者的安装脚本设计得非常克制。以 x86_64 为例,大致 5 步:

# 1. 拉一个模型(比如 Llama 3.2 1B)
# 从 huggingface 或作者提供的镜像下载 .gguf

# 2. 转换成 NightRun 自己的 .nrm 格式
# 脚本会做自检、转换、再校验一遍自己输出的文件
./scripts/convert-to-nrm.sh llama-3.2-1b-instruct-Q8_0.gguf

# 3. 打包成可启动镜像
# x86_64 → nightrun.img
# Pi 5 → nightrun-pi5.img(Pi 5 需要先跑 build-rpi5-firmware.sh 编一次 UEFI 固件)
./scripts/build-image.sh --target x86_64

# 4. 先在 QEMU 里跑一遍(别急着 flash 真 U 盘)
./scripts/qemu-boot.sh nightrun.img

# 5. 最后 flash 到 U 盘
# 注意:这一步会擦掉目标磁盘所有数据
sudo ./scripts/flash.sh nightrun.img /dev/sdX

第 5 步作者做了一个我很喜欢的设计:你必须在命令行里手动敲一句 FLASH /dev/sdX(大写、完整路径)作为二次确认。这防的就是脑子发热的深夜三点,你随手把系统盘当 U 盘 flash 了。

工程师的偏执,救过命的偏执。

三个真实场景:谁值得玩这个

场景 1:律师、医生、财务、记者——极度敏感的隐私工作者

你不能把客户合同贴进 GPT-4,不能把病历贴进 Claude。云端模型对你来说是一颗定时炸弹。

NIGHTRUN 给了你一个"外挂大脑":一根 U 盘、一台任意 UEFI 电脑,开机就是本地 LLM,关机连缓存都不留。合规审计过来查,你连"我用了 AI"这个动作都可以物理证否——你的电脑上一条云端 API 调用都没有。

场景 2:旅行 / 出差 / 应急场景——离线可用

飞机上、高铁上、山区、境外没漫游流量的地方,你需要一个能"讲人话"的助手。

NIGHTRUN 装在一根 32 GB 的 U 盘里,塞进笔记本包夹层,永远不占电脑资源。真需要用的时候,插盘、按 F12、5 秒后跳出对话框。离线运行,永远不需要网络。

场景 3:教育 / 演示 / 教学——一根 U 盘教全班

你在给学生讲什么叫"大语言模型",怎么讲最直观?

“来,我拔个 U 盘。看,屏幕黑了。我插进另一台电脑,按启动键——看,Llama 就跑起来了。”

这种物理仪式感,胜过讲三小时"transformer 结构"。而且教室里的老电脑不用装任何软件,一根 U 盘轮流用就行。

冷静一点:坑和限制

我不能只夸不骂。这东西目前的短板也很硬:

1. 只支持 UEFI,不支持 Legacy BIOS

你家 2013 年之前的老台式机可能不吃。查主板设置里有没有 UEFI 选项,Secure Boot 必须关掉(否则 UEFI 会拒绝加载未签名的 EFI 应用)。

2. 模型是固定的

目前就 Llama 3.2 1B/3B、Granite 4.1 3B、Qwen3 4B 这几个官方支持组合。你不能自己塞一个 Qwen3-Coder-30B 进去——因为 NightRun 的推理内核是针对特定模型架构手写的(tokenizer、KV cache、采样都是 NightRun 自己的代码),换模型不是改个路径那么简单。

3. 无联网、无 RAG、无工具调用

这就是个"离线单机 chatbot"。你想让它调 API、查网页、执行代码——没有。它连磁盘都封印了,你以为它会有网络栈?

4. 存储被 seal,你聊完的记录也没了

关机走人,什么都不留。这是特性,不是 bug。但意味着你想"保存这次对话",得自己手抄或者手机拍屏。

5. 树莓派 5 需要先编一次 UEFI 固件

Pi 5 官方固件不带 UEFI 支持,你得跑一次 scripts/build-rpi5-firmware.sh 从 pinned source 编出来。x86_64 用户跳过这一步。

冷知识:这项目本身是 Claude Code 写的

我翻文档时看到一句让我愣了两秒的话:

The majority of the code for the NightRun project was written using Claude Code with the Fable 5 model and released under the MIT license on GitHub.

作者自己承认——NIGHTRUN 大部分代码是用 Claude Code + Fable 5 模型写的

这就有意思了。你用云端 AI 写了一个"让人不再依赖云端 AI"的项目。像左手打右手,又像自我救赎。

而且这也印证了我最近一直在写的一个判断:2026 年的开源硬核项目,一个人 + 一个 Claude Code + 一个想法,能做出以前需要小团队半年的东西。 一年前谁能想到,一个人独立写一个 UEFI-resident 的 LLM runtime?

我会长期用它吗?

坦白说:日常不会。 我大部分工作还是需要 GPT-4 / Claude 3.5 那种 200B+ 参数模型的能力,NIGHTRUN 现在的 4B 顶天了,能力上还是差一档。

但我会把它常备在包里。

理由是:我需要一个"永远可用"的下限。

云端 LLM 就像自来水——大部分时间打开水龙头都有水,直到某一天供水公司说涨价 300%,或者你出差到一个断网的地方。

NIGHTRUN 就是那口井。深、慢、水量小,但永远在。

一句话总结

如果你被"云端大模型涨价 + 隐私焦虑 + 装本地环境的折腾"这三件事同时磨过,去 nightrun.io 或者 GitHub 上下一个镜像,找根旧 U 盘 flash 上,体验一下**“插盘即 LLM、拔盘即消失”**的物理魔法。

MIT 协议,代码全开,没有服务器,没有账号,没有订阅——一次 flash,永久免费用到硬件报废

在这个连桌面便签都要月付订阅的年代,这种东西值得被大声喊一句好。

相关阅读

© 2026 softon.top

本站已稳定运行 263 天 9 小时 · 122 篇文章

使用 Hugo 构建 主题 Stack 由 Jimmy 设计 由 softon 魔改

最近构建时间:2026-09-21 17:06:46 CST