Claude 给一台"仅支持 Windows"的老 HP 打印机写 macOS 驱动?——HN 225 分热帖:AI 逆向工程的甜点区与"套壳驱动"之争(2026-08-19)
本文为翻译/转载,原文使用 CC BY-NC-SA 4.0 协议发布。 原文作者:Hacker News 社区讨论 原文标题:Claude writing a macOS driver for my obscure HP printer built only for Windows 原文链接:https://news.ycombinator.com/item?id=49344643 原文发布:2026-08-18 本博客不参与任何商业变现(含 ads / 付费 / affiliate),本译文遵循 CC BY-NC-SA 4.0 条款发布。
译者按
打印机驱动是跨平台永恒的痛——尤其在国内,大量”仅支持 Windows”的旧打印机在 macOS 上毫无官方出路。这篇 HN 热帖里,开发者用 Claude 让一台 HP 贴牌三星打印机在 Mac 上复活,引爆 225 分、171 条评论的激辩:这算”写驱动”还是”套壳”?评论区还涌现出高尔夫球车控制器、ePaper 屏、旧摄像机等一批 AI 逆向工程案例。对中文圈读者,这既是一份”AI 修硬件”实操图鉴,也提醒我们冷静分辨营销叙事与技术现实。
正文
发帖原文(X 帖子 © 未转载,仅转述 HN 讨论内容)
标题:Claude writing a macOS driver for my obscure HP printer built only for Windows 链接:https://twitter.com/kuberwastaken/status/2089377982536388964
⚠️ 原帖是 X(推特)上的帖子,默认 © 未转载。以下内容全部来自 HN 讨论线程(CC BY-NC-SA 4.0),不涉及 X 原帖正文。
发帖人 kuberwastaken 在 HN 线程中的补充(属 CC 许可的讨论内容):
谢谢分享 :) 给不想翻帖子的人把仓库链接放这里:https://github.com/Kuberwastaken/hp-laser-1008a-macos —— 对我来说这真的是一个很有意思的案例,因为这是台 HP 贴牌的三星打印机,它压根没有原生的非 Windows 支持!
更新:看到很多人问我是怎么让 Claude 做到的。我通常的回答是:没什么 hack,就是跟它一起干活,把想法表达清楚,用有根据的猜测不断试,直到某个项目做通。不过我还是把聊天记录导出成了可读格式,给好奇的人参考 :) https://cdn.kuber.studio/chat/hp-laser-1008a-driver
更新:现在已经是完全 macOS 原生实现了!https://github.com/Kuberwastaken/hp-laser-1008a-macos
综合评论区可确认的事实
(均来自 CC 许可的 HN 评论,转述时保留原链接与出处)
- 打印机为 HP Laser 1008a——一台 HP 贴牌的三星打印机,官方只提供 Windows 驱动(kuberwastaken)
- 测试打印输出中出现 Samsung ML2010 字样,两者大概率出自同一 OEM,而 ML2010 曾有过 macOS 驱动(benimar)
- 实现基于 Claude Opus 4.8(bredren、column)
- 最初方案:在 macOS 的 Linux 容器/VM 里运行 HP 官方 Linux 驱动,再桥接给 macOS 打印队列;需要一个 root 启动器执行
~/.hp1008目录下的代码,安全性有所削弱(Tiberium、3129476、ssdspoimdsjvv) - 后续更新:已改为完全 macOS 原生实现(kuberwastaken)
- 作者开源了代码仓库,并导出完整聊天记录供人查阅(kuberwastaken)
- 同类既有方案:printervention.app 在 WebUSB 浏览器里跑隔离的 Linux VM 完成同样的事(oneplane、gmac);2017 年就有人写过 Docker 内打印的教程(3129476 引用的先例)
社区精彩评论精选
成功案例:原来大家都这么干
nullify88 —— 5 小时让 Xbox 手柄音频在 Moonlight 里工作:
我有类似的经历。我在 Android TV 上用 Moonlight 串流另一间房里电脑上的游戏,用的是自己 fork 的一个未合并 PR,好让 Xbox One 无线适配器能用。手柄上有 3.5mm 耳机孔,Windows 和 Linux 下可以把游戏音频路由到手柄上的耳机。Moonlight 自带的 xow 驱动根本提供不了这个功能。我把 GIP 规格书、Windows 下抓到的 USB 流量导出、先例(Linux 的 xone 驱动)喂给 Claude,再通过 adb 给它 Shield 的连接权限,大约 5 小时后它就跑通了。我至今仍被这件事震撼:我再也不用求 GitHub 上的开发者帮我做了。Claude 花 20 美元就能替我搞定。
qarl2 —— 工业级闭源 3D 打印机也搞定了:
我有一台 Stratasys J55 3D 打印机,工业级、完全闭源。现在我也能通过 Mac 打印了。活在这个时代真有意思。
joshmarinacci —— 逆向工程是 AI 的甜点区:
我让 Claude 给我写了一个不支持的 ePaper 屏幕的嵌入式 Rust 驱动,只花了几小时——我把规格书和现成的 C 驱动喂给它就行。虽然还没有 Arduino 版本快,但让我在一个卡了好几个月的项目上取得了进展。逆向工程看起来是 AI 的甜点区。
ryandrake —— 自称”AI 反对者”也服了:
我(在大量使用 Claude 的情况下)成功逆向了一个高尔夫球车的电机控制器,它可以通过 USB 编程,但只支持 Windows 应用。Claude 一步步带我用 ILSpy 反编译 .NET 程序集、用 Wireshark 抓 USB 协议,把 Windows 应用的功能完整摸清。产出是一个可移植的 C 库和 CLI 程序,目前跑得很好。我自认算是 AI 反对者,但连我也得承认:这工具让我做到了按老办法要花几周到几个月才能学会的事。
alexnorton —— 旧硬件复活的希望:
类似地,我用 Codex 逆向并给一台闲置老摄像机的索尼私有 USB 协议写了现代驱动——之前我从没干过这种事,也没用过 Rust。感觉 LLM 可能成为让旧硬件重新可用的巨大力量。https://github.com/alexnorton/handycam-rs
pwython —— 办公室 BLE 氛围灯自动变红:
我办公室里有几盏冷门的 RGB 角落落地灯,带 BLE。我让 Claude 找出 BLE 协议,然后接上我的 Office 365 日历源:开会时把灯变红,会议结束变回暖白,同事不用隔着窗户跟我比划”忙不忙”的手势了。脚本每 60 秒轮询一次。折腾这种东西真的很好玩。
seiferteric —— 修好了一个多年的 Linux 音量 bug:
我刚修好 Linux 桌面上一个困扰我多年的 bug。我的 Sound Blaster Katana 回音壁音量跟 Linux 系统音量不同步(Windows 下是同步的)。我把它描述给 Codex,几分钟内它就通过更新 PipeWire 设备配置文件修好了。老实说挺神奇的——我怀疑自己永远都排查不到这一层,我原来还以为问题出在驱动里。
swerner(反例) —— Copilot 没做到:
我试过让 Copilot 把 HP CP1025 的 Linux 驱动移植到 macOS,失败了。现在连现代 Linux 都打不了这台打印机了,我只好在老发行版的树莓派上打印,还是降质输出。LLM 死抓着过时信息不放,真让人抓狂。它提了一堆在旧 macOS 上或许可行、但今天显然行不通的建议,还花了好久试图从 Linux 移植,最后才发现 Linux 的 CUPS 也不支持这台打印机。
质疑派:“这根本不是写驱动”
ssdspoimdsjvv —— 一语道破:
如果我没理解错,它只是把现成的 Linux 驱动包在一个容器里。这很难说是”写了一个驱动”。
3129476 —— 引用 2017 年的先例:
Claude 并没有写任何 macOS 驱动。它用的是 Docker 里的 HP Linux 驱动。这里有 2017 年的先例,跟 AI 那些胡话相比,这个你能看懂:https://www.alecburton.co.uk/2017/printing-from-a-docker-con… 这种教程多的是,Claude 只是照例”抄袭”了一遍。
Tiberium —— 标题有误导性,还点了安全隐患:
很遗憾,这篇文章和标题非常有误导性。我不怀疑最终结果——能用确实有用——但这并不是”原生”的,也不像一些人以为的那样是 Claude 写了个驱动。它基本上是在 macOS 上的 Linux 虚拟机里用了 HP 现成的专有驱动,只是桥接给了 macOS。而且它需要一个 root 启动器来执行用户
~/.hp1008目录下的代码,安全性被削弱了。
oliwarner —— 四个小时的机器循环:
四个小时,一台机器在”重复→猜测→失败”的循环里打转,莫名其妙地挥拳庆祝、过早欢呼,最后落在一个丑陋的”方案”上——只是用了另一个平台的现成驱动。LLM 确实能做不少事,但这不算一个好例子。
oneplane —— 为什么不直接用现成产品?
让 Claude 直接推荐现成的 Linux-Airprint-VM 项目/产品不是更合理吗?它本来就干这个。甚至有个零安装方案:https://printervention.app 在支持 WebUSB 的浏览器里跑隔离的 Linux 虚拟机。这个网站前不久才在 HN 上发过。我理解 LLM 编程助手偏爱”写代码”,但反复重写同一个解决方案似乎有点低效。
2dahg —— 存疑:
这是在表演 Stallman 的经典桥段。故事不错,兄弟,但没法验证。这人还在 X 上挂着”Attention is all you need”的图营销 AI 呢。
平衡观点:打印机打出来了,这才是重点
colingauvin —— 一针见血:
所有说”这不是驱动、它没写驱动、它只是包了层 Linux 驱动”的人都抓错了重点:没人在乎——打印机打出来了。以前打不了,现在能打了。
feintruled —— 承认标题缩水,但结果主义:
所以另一个帖子里的批评是对的——它确实只是让 Linux 驱动跑在 Docker 里,也许还包装得比实际更高级;我注意到这个页面上的说法已经从最初的”写驱动”悄悄收回来了。但另一方面,它确实让他从 Mac 上打出了东西,所以在这个以 LLM 结果为导向的新世界里,它干得相当出色。
cushychicken —— 以前”值得做”但”不值得人花时间”:
我太爱看这种东西了。看着 AI 把这种事变成现实,难道不有点魔幻吗?这事以前一直都有可能做到,只是不值得一个人花时间。现在这哥们又有一台能用的打印机了。真他娘的 neat。
更深的观察
jwr —— 自由,就是不用再求人:
自由——这才是本质。现在有越来越多的场合,我们不需要请求许可了。可惜环顾四周,我看到的大多数硬件厂商都是守门人。他们用各种方式阻止我写自定义代码:苹果限制 NFC 和 UWB 定位的访问,Supernote Manta 不让我访问蓝牙麦克风,例子数不胜数。Denon 至少在功放/接收机上给了个 API——buggy,但好歹有。
m4rtink —— 驱动二进制不过是另一种”语言”:
我见过一种解释:LLM 毕竟是语言模型。驱动二进制只是机器在执行它时能理解的一种语言。对人类来说基本不可读,但对 LLM 来说只是另一种语言——它们能操作它、修改结果、翻译它(比如对照规格书、日志、文档)。鉴于目前听到的正面结果,这或许是 LLM 终于能派上用场的领域之一。
TacticalCoder —— 90 年代的一丝怀念:
如果这能一劳永逸地解决打印和扫描问题,那太好了(顺带一提,市面上有整家公司唯一的业务就是”给客户装打印机、修不打印的打印机”)。但当然,很难不一边惊叹一边惋惜:90 年代中期(对,30 年前)我可以:
nc 192.168.1.150 9100 < tiger.ps,然后那台原生 PostScript 打印机(也是 HP 激光的,一台 LaserJet)就直接开始打了。我知道我知道,乱码打印、打出一页页代码这种事都有。但话说回来,很难不怀疑有些东西是不是弄丢了。首先,打印机有自己的 IP 地址就很爽(而不是一根 USB 线,或者现在的人专门弄个树莓派就为了给打印机暴露一个局域网 IP)。然后,现代 HP 激光打印机跟九十年代的比质量如何,那又是另一个话题了。
fzeindl —— 压缩信息的存储与检索:
这更加印证了我的感觉:LLM 极其擅长存储压缩信息,并以灵活的方式访问它。除了偶尔的幻觉,我们赞叹的是它们拆解信息、在事实之间找到隐秘联系的能力——所以它们在找安全漏洞或数学新思路上才这么惊人。有趣的是,被我们批评最多的是”生成”那一部分——我们嫌代码啰嗦、文本有奇怪的重复腔等等。
PeterStuer —— 意外没被”网络安全”理由拒绝:
我很惊讶 Claude 没有以”网络安全”为由拒绝这个请求。然后我注意到这是 Opus 4.8?作者是一开始就用 4.8,还是从 5 系列降级过来的?
Dban1 —— 限制因素变了:
说实话,有时候感觉我对失败的恐惧和缺乏想象力,现在成了唯一的限制因素。
译者注
- CUPS / PPD / 打印”驱动”到底是什么:macOS 与 Linux 的打印体系基于 CUPS(Common UNIX Printing System,苹果维护的开源打印系统),PPD 是 PostScript 打印机描述文件。打印”驱动”本质不是内核驱动模块,而是格式转换 + 与设备通信的胶水层——这正是”在容器里跑 Linux 驱动再桥接给 macOS”在技术上可行的原因,也是”算不算写驱动”之争的根源。
- 逆向工程 = AI 甜点区:joshmarinacci 的观察是全场金句。LLM 擅长读规格文档、看 Wireshark 抓包、反编译代码,把”人肉逆向”变成”带着 LLM 逆向”。中文圈同频案例:智能家居/网关协议逆向、老外设驱动移植、汉化与插件开发,不少开发者已经在用同样的流程。
- Opus 4.8:评论时间线中 Anthropic 的 Claude 旗舰模型代号。评论者惊讶它没有以”网络安全”为由拒绝驱动逆向——这也侧面反映模型安全对齐在”驱动移植/逆向”这类灰色边界上的实际表现。
- 与本站近期译文的呼应:这篇帖子与 08-09 的 Claude Code Auto 模式(AI 编程安全边界)、08-18 的 AI;DR(AI 生成内容文化)构成同一叙事线——AI 编程工具把”从想法到可用软件”的门槛压到了几小时,但叙事泡沫(“套壳”被包装成”从零写驱动”)也随之而来。评论区正反两派恰好演示了”vibecoding 红利”与”营销叙事”的张力。
- 中文圈对照:国内用户同样长期面对”仅支持 Windows”外设的驱动困境(老打印机、扫描仪、USB 加密狗),传统解法是虚拟机或双系统;AI 让”逆向出跨平台方案”成为个人开发者可负担的路径。同时要警惕:这类”AI 成功故事”在小红书/公众号/X 上常被省略”套壳”细节,读帖时值得多问一句”底层到底是什么”。
延伸阅读
- Simon Willison:Claude Code 将 Auto 模式设为默认——人类审批只拦下 13.6% 恶意操作,Anthropic 声称 720 次提示注入攻击零成功(2026-08-09)
- AI;DR(AI 没读):懒得读 AI 生成的内容——HN 937 分热帖激辩 AI slop 文化与职场 AI 内容(2026-08-18)
- 人类审批 AI Agent 命令漏掉了 1/3 的威胁:4 万局游戏揭示”人在回路”防线的真相(2026-08-07)
- Simon Willison:Qwen 3.8 27B 很优秀,但默认”疯狂过度思考”——本地 17GB 模型实测(2026-08-17)
- Qwen3.8-Max:编码与”共事”的新标杆,Max 级模型首次开放权重(2026-08-03)