打开网易新闻 查看精彩图片

2024年,一台佳能SELPHY照片打印机在eBay上的成交价,低于它自带的相纸和墨盒价值。这不是拍卖行的失误,而是电子垃圾时代的常态——苹果和微软早已停止驱动支持,这些硬件成了功能完好的废品。

开发者Mark Longair的朋友用Linux让它复活了。但真正的故事从这里才开始:Mark花了18英镑订阅Claude Code,试图把这套方案塞进每个普通人的浏览器里。

从"再买个树莓派"到"能不能纯靠软件"

从"再买个树莓派"到"能不能纯靠软件"

Mark最初的想法很朴素。给父母也搞一台?那得配个树莓派当打印服务器,再加一堆线缆。"我不确定他们能接受额外的插头和电线。"

这个场景产品经理太熟悉了:技术方案可行,用户体验崩盘。树莓派对极客是玩具,对普通人是故障源。

他换了个思路。如果能在浏览器里跑一个精简的Linux虚拟机,直接通过WebUSB(网页通用串行总线)协议跟打印机对话呢?不需要安装,不需要硬件,打开网页就能用。

这个念头把他从Xcode拽进了VS Code。原生Mac应用的路被他自己否了——"就算App Store放行,也只能救Mac用户。"

网页才是最大公约数。

v86:把x86 CPU塞进JavaScript的疯子项目

v86:把x86 CPU塞进JavaScript的疯子项目

方案的核心是一个叫v86的开源项目。它用JavaScript模拟完整的x86处理器,能在浏览器里跑Linux。听起来像性能灾难?实测下来,启动一个精简系统只要几秒。

Mark的架构是这样:浏览器层用WebUSB捕获打印机连接,通过USB/IP(通用串行总线 over IP)协议把数据包转发给v86虚拟机,虚拟机里跑CUPS(通用Unix打印系统)和Gutenprint驱动,最后把处理好的打印任务送回硬件。

整个链路绕了三个弯,但用户看到的只是一个网页:连上打印机,选照片,打印。

他注册了printerface.app和printervention.app两个域名。Claude(大语言模型)喜欢前者,他妻子喜欢后者。"我妻子赢了。"

WebUSB的隐秘战场

WebUSB的隐秘战场

Chrome的WebUSB API已经存在多年,但用例一直有限。它允许网页直接访问USB设备,前提是用户手动授权——这个设计既开放又克制。

Mark的发现是:WebUSB + USB/IP的组合,能把任何需要特定驱动的USB设备变成"即插即用"。打印机只是开始,扫描仪、老旧外设理论上都能走这条路。

他在技术博客里算了一笔账:全球每年淘汰的"无驱动"打印机数以百万计,其中大量硬件本身完好。让它们重新工作的边际成本,接近零。

18英镑的Claude Code订阅,换的是一套可能规模化复用的技术方案。

为什么这事现在才有人做

为什么这事现在才有人做

几个技术条件的成熟凑在了一起:浏览器虚拟机性能足够(v86项目打磨多年)、WebUSB标准化落地、大语言模型降低开发门槛。缺任何一个,这个方案都太重。

Mark自己提到一个细节:他最初用Xcode写原生应用时,进度很慢。切换到网页方案后,"Claude和我开始飞起来"——他的原话是,如果计算机是思维的自行车,那Claude Code就是私人飞机。

这种开发体验的变化,可能比打印机拯救计划本身更值得注意。单个开发者+AI辅助,现在能覆盖从前需要小团队的技术栈。

项目目前托管在printervention.app。Mark没提商业化计划,但技术架构已经开源可复用。

最后一个问题留给你:你家里有没有一台"找不到驱动"的老设备,正在抽屉里吃灰?