第384期 — 2026-09-05

在浏览器中阅读

周e信

扫描二维码关注微信公众号

Node.js

零知识证明快速入门:从图 3‑着色看懂 GMW 交互协议🔗

这篇博客抛开加密货币背景,结合图论与GMW论文,以图3‑着色问题为例讲解交互式零知识证明:证明者在不泄露原图着色方案的前提下,通过每轮随机置换颜色、带随机nonce的哈希承诺,验证者随机挑选边进行挑战校验,多轮交互降低作弊概率,以此说服验证者自己拥有合法3‑着色解;所有NP完全问题都可多项式归约到3‑着色从而实现零知识证明,但归约会造成图规模膨胀,仅适合理论演示,作者还给出了Python伪代码和网络Demo,其兴趣重点在于理论计算机而非ZKP的常见现实应用。

Max Bernstein, Chris Gregory

NestJS 12 正式发布:ESM 优先革新,存量项目平滑升级🔗

NestJS 12作为一次大规模版本更新,最低支持Node.js 20.19+与22.12+,采用ESM优先的发布策略但不强制现有CommonJS项目改造;CLI新增升级、部署等命令,默认打包工具迭代,原生兼容Standard Schema实现多库参数校验,同时增强日志、错误编码与路由冲突检测能力,推出全新可观测性工具@nestjs/observe,微服务、GraphQL、WebSocket模块同步优化,官网文档全面重构,借助nest upgrade命令即可便捷完成项目依赖升级。

Kamil Mysliwiec

Javascript

MS 画图与照片应用会为本地生成的输出隐形添加 GUID 水印🔗

文章通过逆向工程发现,Microsoft Paint 与 Photos 在本地 AI 图像生成流程中会嵌入由远程服务器下发的 GUID 作为不可见像素水印。Paint 和 Photos 内置本地 ONNX/Stable Diffusion 模型,但生成前会把提示词和风格发送到 Azure 的 prompt moderation 端点,服务器返回修订提示词、promptGenerationId、watermarkId 以及是否包含人类参考等信息;其中 watermarkId 被 Watermarker.dll 的 WmkWriteWatermark 写入本地生成图像的像素中。该水印不是用户可见的 Copilot 标志,而是把 GUID 扩展为 144 位信息,并通过块域量化/SVD 风格修改大量像素,因此不可见且与文件级 C2PA 元数据联动。Paint 保存的 PNG、JPEG、GIF 和 .paint 文件会携带签名 C2PA manifest,其 c2pa.soft-binding value 与像素中的 watermark GUID 相同,算法标识为 com.microsoft.invismark.1;BMP 因不能可靠嵌入 manifest 而被排除。云端 Image Creator 路径可由服务器直接返回已加水印和 C2PA 的图像,而 Copilot+ PC 上的本地 Cocreator 路径则必须在本地 NPU 生成后嵌入服务器 GUID,并在线完成 provenance 签名,因此“本地生成”仍依赖网络和微软账号。Paint 在水印失败时会使生成失败,Photos 则可能记录错误并继续返回未加水印图像。微软公开文档说明了远程内容过滤和 C2PA Content Credentials,但未明确说明 C2PA 中记录了不可见像素水印 GUID,也未说明该 GUID 来自提示词审核并与每次生成关联,这带来隐私、知情权和合规层面的问题。

Xusheng

247 字节 JavaScript 实现完整扫雷:代码高尔夫的极致压榨🔗

这篇博客介绍了一段仅247字节的JavaScript扫雷代码,作者从最初658字节版本,与合作者DNEK反复试错优化,在不删减核心玩法的前提下压缩到247字节;作品实现8×8随机雷场、左键开格、右键插旗、空白格递归展开与胜利检测,大量运用HTML自动闭合标签、函数对象存储游戏状态、一维坐标模拟二维棋盘、位运算与类型强制转换等JS奇巧语法来缩减字符,作者认为这类代码高尔夫属于娱乐化编程艺术,同时指出受柯尔莫哥洛夫复杂度限制,无法证明这就是理论上的最短实现。

yui

前端

cn:合并clsx与tailwind‑merge高性能处理Tailwind 类名🔗

cn 是 shadcn 推出的一体化 Tailwind 类名合并工具,整合了条件拼接与样式冲突消除能力,性能远超 clsx+tailwind‑merge,跨框架多环境可用,可直接替代原有方案优化前端组件开发。

shadcn-ui

从 styled‑components 全面切换到 Meta StyleX🔗

Linear 团队分享历时数月、超 1000 个 PR 的大型迁移工程,由于 styled‑components 进入维护模式、React18 并发渲染带来性能退化,且远程修改样式的写法引发大量 UI 回归问题,Linear 选择 Meta 的 StyleX 替代,对比 vanilla‑extract 后,看重其构建期生成样式、组件就近写样式、确定性样式合并、限制外部篡改组件样式的特性;项目采用自研 codemod 工具、AI 编码助手辅助、自底向上从叶子组件开始迁移,新旧样式库并行不阻塞业务迭代,同时开发进度可视化工具、PR 机器人、Oxlint + 自定义仓库检查器一整套规则保障代码规范,保留 CSS Modules 作为兜底逃逸方案,并扩展实现了复杂动态主题能力;迁移完成后,重视图页面主线程 CPU 开销下降 20‑35%,中端设备渲染速度提升约 30%,消除运行时注入 CSS 行为,建立起清晰的组件样式契约,更适配 AI 参与代码编写的大型代码库。

Kenneth Skovhus

图形用户界面应完全由键盘驱动🔗

这篇文章围绕“GUI 是否应完全键盘驱动”展开。作者先提到 Hacker News 上有一篇讨论,鼓励开发者放弃终端用户界面(TUI)、转向图形用户界面(GUI)。作者认为 GUI 框架在能力上通常强于 TUI,因此 GUI 本身有优势;但他也反对一种常见观点,即“TUI 更值得优先开发,因为它们更依赖键盘”。作者指出,TUI 往往键盘友好,只是凸显了许多 GUI 在键盘导航上的不足,并不意味着 GUI 无法做到完全键盘驱动。事实上,许多 GUI 设计规范都明确要求应用应支持键盘完成所有操作。作者以自己开发的 GUI 应用 Klisi 为例,说明为完整功能添加键盘快捷键并不难,而且能显著提升用户体验。最终他强调,开发者不应在用户体验上妥协,GUI 应用应当积极支持完整、直观、可预测的键盘导航。

Charalampos Kardaris

GPUIX:基于Zed GPUI用React编写无Electron的GPU加速桌面应用🔗

GPUIX 是 Zed 编辑器 GPU UI 框架 GPUI 的 React 绑定库,无需 Electron、不依赖 WebView,React 组件经由 napi‑rs(桌面)/wasm‑bindgen(浏览器)转译为 Rust 层变更指令,通过 Metal、DirectX、Vulkan 直接 GPU 渲染,使用 Taffy 做 Flex 布局,保留 React JSX 与 Hooks 开发体验,支持打包为独立二进制程序;内置<virtual‑list>虚拟列表、<code>语法高亮、<diff>差异查看、<markdown>解析、原生输入框、headless 组件、Rust 侧动画,提供自动化测试能力,同时也支持 WebGPU 浏览器运行,仅需 Bun 即可快速开发调试,适合构建高性能桌面工具应用GitHub。

Tommy D. Rossi

Htmx 4.0🔗

htmx 4.0.0 是 htmx 团队经过约 8 个月开发后发布的重大版本。它在用户层面与 htmx 2.x 非常接近,但内部从 XMLHttpRequest 迁移到了 fetch(),为流式 HTML、扩展开发和未来演进打下基础。主要变化包括:属性继承现在默认不再隐式继承,必须通过类似 hx-confirm:inherited 的写法显式声明;htmx 事件命名被统一为标准化的 htmx:phase:action 格式,部分旧事件被移除或合并;历史支持默认不再使用 localStorage 缓存页面快照,而是在回退时重新获取页面并替换到 body 或 hx-history-elt 元素中,从而减少第三方脚本状态不同步的问题。htmx 4 还带来了两项重要新特性:内置 Morph Swaps,用于更智能地替换 DOM;以及新的 标签,用于在响应中声明式地更新多个目标元素。此外,官方推出或更新了多个扩展,例如 hx-preload、hx-download、hx-alpine-compat、hx-history-cache、hx-sse、hx-ws、hx-multipart,以及一个名为 hx-live 的小型前端脚本方案,并提供了 htmax.js 打包文件方便直接使用。为了降低升级成本,htmx 团队提供了 npx htmx.org@4.0.0 upgrade-check 命令行工具,可扫描模板和 JavaScript 文件,提示需要添加 :inherited、重命名或删除属性、替换旧事件名和旧 API 的位置,同时还提供了面向 LLM 的升级辅助技能文件。htmx 2.x 仍会继续获得支持,NPM 上的 latest 标签在一段时间内仍指向 2.x,以避免影响依赖无版本 CDN 链接的用户。

Fengyuan Chen

Ambient CSS:基于物理光照的 CSS 样式框架🔗

Ambient CSS 是 MIT 协议开源的单体仓库(monorepo)项目,是一套基于物理原理的 CSS 光照系统,借助 Blender 光线追踪做效果校准,只需定义光源参数,页面全部元素的阴影、高光、表面渐变就会自动生成,摆脱手动调试各类预设阴影;项目分为纯 CSS 包、React 组件库、Blender3D 校准工具,同时提供文档站点与示例 Demo,支持原生 HTML、React,也可搭配 Tailwind 使用,能够快速拟真出具有物理立体感的 UI 界面。

Ram

移动端

小米:新 CPU 单线程与苹果核心持平,多线程快得多🔗

文章主要讨论小米新 CPU“Xring O3”的性能表现与技术特点。作者指出,小米作为与中国科技巨头,其手机产品直接与 iPhone 竞争;这款新 CPU 在单线程任务上大致与苹果核心持平,而在多线程执行中明显更快。文中还引用了 Geekbench 成绩:单核约 3945 分,多核约 15221 分,显示其性能提升显著。作者认为该芯片值得关注,因为它体现了行业趋势:总缓存达到 44 MB,甚至超过许多笔记本电脑 CPU;其最大的 C1-Ultra 核心支持 SME2 矩阵/AI 加速和 SVE2 SIMD 数据并行,拥有 21 个执行端口,其中 6 个支持 128 位 SIMD 操作,执行单元数量超过常见 Intel/AMD 处理器。虽然 AMD Zen 5 在更宽的 512 位 SIMD 方面仍有优势,但整体趋势是核心拥有更多执行单元、更强 SIMD 能力和更大缓存,从而提升每周期可完成的独立算术操作数量。评论区中,有人认为 TSMC 3nm 工艺、4GHz+ 主频、大缓存和宽执行引擎让该架构看起来可信且令人印象深刻,但也有人质疑成绩真实性,例如指出同样搭载 C1-Ultra 核心的 Tensor G6 单核仅约 2700 分,因此数据是否合理仍存争议。

Daniel Lemire

数据库

AWS 收购 DuckLabs🔗

DuckLabs 宣布将加入 AWS,预计 9 月初生效,团队将继续留在阿姆斯特丹,并持续开发 DuckDB、DuckLake、Quack 及更广泛的社区生态。文章回顾了 DuckLabs 成立五年的历程:它作为由创始人和开发团队全资拥有的自举公司,在保持技术优先的同时让 DuckDB 获得每日超过一百万次下载和全球开发者采用;但随着项目增长,小团队模式可能成为扩展瓶颈,且扩大销售、支持和运营会分散对技术与开源社区的投入。因此 DuckLabs 选择与已合作一年多的 AWS 结合,借助其基础设施、规模和客户触达能力,把 Duck Stack 推向更大范围的数据服务和用户,同时保持团队专注于技术工作。文章强调 DuckDB 及其他 Duck Stack 开源组件将继续免费开源并采用 MIT 许可证,由非营利 DuckDB 基金会长期治理;AWS 也承诺长期支持项目发展。未来计划包括设立技术顾问委员会、开放扩展栈,使其他开发者和组织签名的扩展能够在 DuckDB 中运行,并继续扩大社区参与。文中还引用了 AWS、CWI、Tübingen 大学、MotherDuck 和 Fivetran 等人士/公司对该消息的积极评价,认为这有助于 DuckDB 生态加速发展。

Mark Raasveldt, Hannes Mühleisen

人工智能

小型模型正变得足够快、足够便宜且足够好用🔗

作者最近试用了 gpt-5.6-luna,认为这类小型模型已经变得异常强大:速度快、智能程度高,能高效处理代码库、邮件和知识库,并且成本极低,复杂任务也只需几美分到几十美分。他还提到 GLM 5.3 也为帕累托前沿提供了新的选择。过去做编码工作时,他通常选择最昂贵、能力最强的模型,因此容易忽略小型快速模型的进步。作者认为,消费者 AI 公司较少出现的一个重要原因是 token 成本:传统消费级应用可以通过低成本网站、用户增长和广告变现扩张,但加入 AI 后每次请求都会产生推理成本,大幅提高了资金需求。他以个性化新闻站点为例,说明上一代模型成本约为 1 美元,而 luna 可将成本降到约 0.10 美元,使消费级应用更有可行性。在商业场景中,作者认为“快速、便宜、足够好”的模型需求即将爆发,因为大多数日常工作并不都需要最高水平的创新突破,而是需要快速响应、协调推进和持续跟进。前沿模型仍会在工程、硬科学、模型训练等需要突破的领域持续增值,但小型模型将更广泛地承担日常业务中的大量事务性工作。

Calvin French-Owen

Cursor 被SpaceX收购后OpenAI终止与Cursor 的合作🔗

OpenAI 表示,由于 Cursor 已被 SpaceX 收购,而 SpaceX 与马斯克旗下的 X、xAI 等公司此前曾被 OpenAI 认为存在违反合同或服务条款的情况,因此 OpenAI 对继续向 Cursor 提供模型失去信心。根据合同中的“控制权变更”条款,OpenAI 决定终止与 Cursor 的合作,并计划在 2026 年 11 月 12 日停止提供 OpenAI 模型;在此之前会继续供货,以给 Cursor 足够的过渡时间。

openai

CEO为给AI腾出空间解雇开发者,开发者则创建开源AI CEO🔗

该网页主要介绍了开源项目 OpenExecutive,一个由 sentelabs.ai 开发的 AI 虚拟高管团队系统。它的目标是用一个统一、连贯的“高管声音”为企业提供帮助,背后由 8 个专家型 AI agent 支持,分别对应首席战略官、首席财务官、首席人力资源官、总法律顾问、首席运营官、首席营销官、首席产品官和董事会沟通负责人。系统可以结合内置 MBA 级别知识、用户上传的公司文档、RAG 检索、跨会话事件记忆和内置调度器,主动跟进决策、行动和时间敏感事项。技术实现基于 Anthropic Claude API,使用 FastAPI、Next.js、ChromaDB、SQLite 等组件,并支持 Web UI、Slack、Email、Telegram、Google Chat、Discord 和 CLI 等多种接入方式。项目还提供部署配置、本地模型支持、OpenRouter 支持、评估体系、隐私说明和 Apache 2.0 许可证,整体定位为可私有化部署、面向企业场景的开源 AI 高管助手。

sentelabs.ai

运维

英伟达同意以 130 亿美元收购 Hugging Face🔗

文章标题称英伟达同意以130亿美元收购Hugging Face,但正文报道双方近几周仍在进行收购谈判,交易估值可能超过130亿美元,且尚未达成协议、仍可能破裂。报道指出,英伟达正凭借雄厚现金储备加大并购和股权投资步伐,微软也曾接触Hugging Face,但相关谈判未继续。英伟达此前参与过Hugging Face融资,并在去年提出5亿美元投资被拒,因为Hugging Face不愿让单一主导投资者影响决策。Hugging Face是开源AI生态的重要平台,托管大量模型和数据集;若被英伟达收购,可能帮助英伟达更深入触达开发者并推动更多工作负载运行在其芯片上,但也可能削弱其中立性,因为该平台同时支持AMD、Intel等竞争对手的模型和硬件。

Katie Roof, Geoff Weiss, Ashley Stewart

通过优化 1.1.1.1 的 DNS 缓存节省 100 TB 内存🔗

Cloudflare 介绍了其 1.1.1.1 DNS 服务后端 Big Pineapple 的缓存优化过程。该系统任意时刻存储超过 2500 亿条 DNS 缓存项,因此每条记录浪费的少量内存都会在集群层面放大为巨大开销。文章围绕缓存条目的 Rust 内存布局进行了五次连续优化:首先用 Box<[T]> 和 Box 替换 Vec 和 String,去掉不再需要的容量字段和过量堆内存;其次将 answer、authority、additional 三个独立记录列表合并为单一列表,并用 u16 偏移代替多个指针;再次,在记录 owner 与查询域名相同时省略 owner,读取时从缓存键恢复,减少堆分配;然后对 RecordData 枚举进行优化,将常见的 A/AAAA 等小变体内联存储,将较大的 TXT、NAPTR、SVCB 等变体放入堆中,避免枚举始终按最大变体大小分配;最后将记录数据以 DNS wire format 的原始字节存入单个连续 Box<[u8]>,减少逐条枚举和堆分配,同时提升 CPU 缓存局部性,并让多数记录可以直接复制到响应中。优化后,单条缓存净内存占用从 953 字节降到 420 字节,降低 56%;单条分配从 1.1 KB 降到 461 字节,降低 58%;缓存插入吞吐提升 43%,查询延迟下降 19%。生产环境中,p90 实例内存从 6.5 GB 降到 3.8 GB,p99 从 9.3 GB 降到 5.3 GB,整个集群释放约 100 TB 内存,相当于 130 台 Gen 13 服务器的内存容量。Cloudflare 计划将释放出的内存用于扩大缓存容量,从而提高缓存命中率并减少上游查询。

Sebastiaan Neuteboom

AI 降低硬件攻击门槛带来的安全隐忧🔗

作者利用 AI 智能体(Claude Opus 5/Claude Code)对五款常见外设进行目标驱动的固件逆向工程,包括 Insta360 Link 摄像头、ASUS ROG 显示器、Shure MV7 麦克风、Elgato Cam Link 4K 和 Elgato Key Light Mini。文章详细描述了其流程:从厂商获取固件和更新工具,让 AI 在可交互硬件环境中逆向更新格式与协议、实现自研更新工具、评估校验/签名/安全启动、枚举协议和隐藏功能,并给出各设备结果:摄像头可修补固件关闭录制 LED;显示器可移除像素清洁提示并控制 DDC/CI;麦克风暴露明文 HID 命令 shell、任意内存读写和弱认证;采集卡固件更新无保护且可访问内部 I2C/EDID;WiFi 灯虽使用 Ed25519 签名,但存在可通过 HTTP POST 触发 UART 内存写入以禁用签名校验的漏洞。作者认为 AI 自动化逆向极大降低了硬件研究和修补门槛,但也让恶意固件植入、WebUSB/HID/蓝牙权限滥用以及面向外设和 IoT 的自动逆向蠕虫成为现实安全威胁。

Chaz Schlarp

其他

欧洲如何扼杀创客和微型创业者🔗

文章以开源硬件和 DIY 电子市场 Lectronz 为例,指出欧盟即将全面适用的新《包装与包装废弃物法规》(PPWR)虽然延续了“扩展生产者责任”(EPR)的合理理念,即谁投放包装谁应承担回收责任,但在实际执行上仍保留各成员国分别管理的碎片化模式。这意味着,即使是一个只卖出少量产品的独立工程师或微型创业者,只要把产品卖到多个欧盟国家,就必须在每个国家注册、报告包装废弃物、缴纳费用,并可能聘请授权代表。文章举例称,一名希腊工程师若向德国、法国、奥地利和比利时各卖出少量产品,仅四国的合规成本就可能高达每年约 1150 欧元,而实际包装重量只有几百克,行政负担与环境影响严重不成比例。作者认为,这类规则不会真正带来多少环境收益,却会大幅提高微型企业、创客、艺术家、手工艺人和小型食品生产者的门槛,削弱欧盟内部市场中的创新空间,甚至迫使部分卖家放弃欧盟市场、转向美国等非欧盟市场。文章还提出三项解决方案:设立欧盟统一的小额豁免门槛、建立类似增值税“一站式”机制的欧盟 EPR 统一申报平台,以及允许市场平台代表众多微型卖家集体承担 EPR 义务。最后,作者呼吁公众签署请愿书并向欧盟委员会反馈意见,强调如果欧盟单一市场不再适合微型企业,将损害整个欧洲创新生态和公众对欧盟项目的信任。

Alain Pannetrat

扫描二维码关注微信公众号
本期阅读量