[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fhdvmYaj-kU-AlF79v4Nn6g2tKFBs5R_E_8Y0wmTrrx4":3,"$fW7BAB5BkhrpFei-euf609NeK4ZvjPf9T1fzgXJlLNns":18,"$foEwaf1s6FR9qufHzHfmtkMDHMr-FX2Qm20B4xVsZjjk":73,"$fJAngGPN2ZoweBAUNUMveHW9fX-PBt_OThOGUnXXFK7w":100},{"success":4,"data":5},true,{"siteTitle":6,"siteDescription":7,"siteSubtitle":8,"siteFaviconUrl":9,"siteLogoUrl":10,"footerText":11,"footerLinks":12,"socialLinks":13,"postsPerPage":14,"themeName":15,"navColor":16,"navTextColor":17},"Hyaika Blog","A personal blog powered by Hyaika","Penguin is all you need","🐧","\u002Fapi\u002Fmedia\u002Favatar_a0b54615","致三千年前的你",[],[],10,"kratos","#9147eb","#ffffff",{"success":4,"data":19},[20,27,32,38,44,50,55,61,67],{"id":21,"name":22,"slug":23,"description":24,"color":25,"postCount":26},"9ca4490e-c5a6-4b61-945c-4db21d224507","设计","design","UI\u002FUX 设计与创意",null,22,{"id":28,"name":29,"slug":30,"description":31,"color":25,"postCount":14},"a102062c-2d51-415b-bc5c-5b89b36f6e3f","动漫","anime","动漫点评与推荐",{"id":33,"name":34,"slug":35,"description":36,"color":25,"postCount":37},"b14ff5c7-a673-4cb1-a9e5-c785069b2938","生活","life","生活随笔与日常分享",41,{"id":39,"name":40,"slug":41,"description":42,"color":25,"postCount":43},"cat_ccf18b24e2c04191","社会观察","social-observation","社会观察、教育、文化对比",5,{"id":45,"name":46,"slug":47,"description":48,"color":25,"postCount":49},"cat_news_roundup","新闻杂烩","news-roundup","每日新闻汇总，覆盖科技、二次元、游戏、音乐等领域",48,{"id":51,"name":52,"slug":53,"description":25,"color":25,"postCount":54},"cat_science","科学","science",44,{"id":56,"name":57,"slug":58,"description":59,"color":25,"postCount":60},"e6b59e04-130e-4da0-851f-64042040f4f6","技术","tech","技术教程与开发经验",144,{"id":62,"name":63,"slug":64,"description":65,"color":25,"postCount":66},"cat_09e5464f1b304aa8","情感八卦","gossip","情感话题与八卦杂谈",0,{"id":68,"name":69,"slug":70,"description":71,"color":25,"postCount":72},"cat_b22f7ce5ece64985","经济","economy","经济分析与商业观察",17,{"success":4,"data":74},{"id":75,"title":76,"slug":77,"content":78,"summary":79,"coverUrl":80,"readingTime":81,"viewCount":82,"loveCount":66,"publishedAt":83,"createdAt":83,"author":84,"coverSource":87,"showCoverInArticle":4,"categories":88,"tags":90,"commentCount":66,"liked":99},"20c33601-4bee-4e72-9b17-4f3e4f605d6f","Servo 0.4 发版了——558 次提交，一个 Rust 浏览器引擎在慢慢长大","servo-04-released","# 🦀 Servo 0.4 发版了——558 次提交，一个 Rust 浏览器引擎在慢慢长大\n\n## 目录\n\n- **一个浏览器引擎，为什么值得关注**\n- **558 次提交，历史最高**\n- **Google Photos 终于能跑了，但地图还是不行**\n- **SharedWorker、ML-KEM、attr()——这些新东西意味着什么**\n- **国内对照：我们用 Chromium 太久了，以至于忘了还有别的路**\n- **所以，一个七岁的引擎，为什么还在生长**\n\n***\n\n## 一个浏览器引擎，为什么值得关注\n\n如果你不是浏览器引擎的狂热爱好者，Servo 这个名字可能已经很久没出现在你的视野里了。\n\n它最初是 Mozilla 在 2013 年启动的一个实验项目——用 Rust 写一个全新的浏览器引擎，目标是利用 Rust 的内存安全特性来消除整类浏览器安全漏洞。后来 Mozilla 裁员，Servo 被剥离出来，交给 Linux 基金会托管。之后很长一段时间，它像许多开源项目一样，在「活着，但没什么大新闻」的状态里缓慢前进。\n\n但 2026 年 7 月 31 日，Servo 发布了 0.4.0 版本。这个版本包含 **558 次提交**——项目历史最高。而且它开始能渲染一些真实世界的网站了。\n\n这不是一个「浏览器引擎要取代 Chrome」的故事。这是一个关于「有人还在用另一种方式做浏览器」的故事。\n\n***\n\n## 558 次提交，历史最高\n\n![Servo 月度提交数图表，从2023年9月的130次到2026年6月的558次，清晰的线性增长趋势](\u002Fapi\u002Fmedia\u002Fmedia_420a2b121bf0)\n\n这个数字本身值得停下来看看。\n\n2023 年 9 月，Servo 被 Linux 基金会接管后，月提交量大约在 130 次左右。到 2026 年 6 月，这个数字翻了四倍多，达到 558 次。增长曲线是线性的——不是突然爆发，而是每个月都在稳定地多写一点。\n\n这意味着什么？意味着参与者在增加，而不是在减少。意味着有人愿意为这个「非主流浏览器引擎」投入时间。\n\nPhoronix 的报道也提到了这一点：Servo 0.4 带来了 558 次提交，其中包含大量安全修复、新 CSS 特性、媒体查询实现，以及许多新的 DOM API。这不是一个「修了几个 bug」的小版本更新，而是一个引擎在系统性地补齐能力。\n\n***\n\n## Google Photos 终于能跑了，但地图还是不行\n\n这张截图是 Servo 0.4 在渲染 diffie 网站时的效果：\n\n![Servo 0.4.0 渲染 diffie 网站的截图，展示了新的媒体查询功能和 attr() 函数](\u002Fapi\u002Fmedia\u002Fmedia_9c9b934414fc)\n\n这次更新中，Servo 官方列出了几个「真实世界网站兼容性」里程碑：\n\n- **lichess.org** — 布局正确性显著提升，棋盘和棋子渲染正常\n- **Speedtest.net** — 速度测试页面可正常交互\n- **Zulip (servo.zulipchat.com)** — 聊天界面可用\n- **Google Photos** — 可以正常浏览照片库\n- **Cash Converters** — 可正常打开\n\n但也有一些网站「渲染正确但交互有问题」——Google Maps 和 OpenStreetMap 就是典型的例子。能显示地图，但拖拽、缩放这些交互操作还不太顺畅。\n\n这个列表很有意思。它透露了 Servo 团队的真实策略：不追求「所有网站完美运行」——那是一个不可能的目标，Blink 和 WebKit 花了二十年才做到——而是**逐个击破**。每月选几个真实网站，修到能跑。这比「我们实现了标准 X」的宣布更有说服力，因为兼容性不是在规范文档里定义出来的，是在真实页面上跑出来的。\n\n***\n\n## SharedWorker、ML-KEM、attr()——这些新东西意味着什么\n\n这一节如果你不是前端开发者可以跳过，但有几个点值得单独拿出来讲。\n\n**SharedWorker**（由 [@Taym95](https:\u002F\u002Fgithub.com\u002FTaym95) 实现）是一个浏览器 API，允许不同标签页之间共享同一个后台 Worker。这东西在 Chrome 里早就有了，但 Servo 现在才实现——这很正常，浏览器引擎的实现顺序不是「先实现最有用的」，而是「先实现最基础的，再往上堆」。\n\n更有意思的是 **crypto.subtle** 的更新。Servo 0.4 实现了 ML-KEM（Kyber）和 ML-DSA（Dilithium）的密钥提取方法。这是**后量子密码学**的标准算法——NIST 在 2024 年才正式标准化，Servo 在 2026 年就把它集成到了浏览器引擎里。对于一个小型开源项目来说，这个速度不慢。\n\n另外，**attr() 函数的实验性支持**也值得关注。CSS `attr()` 允许开发者从 HTML 属性中读取值来设置样式——比如 `width: attr(data-width px)`。这是一个很老的功能（CSS2 就定义了），但浏览器实现一直很慢。Servo 先把它做出来了，即使只是实验模式。\n\n***\n\n## 国内对照：我们用 Chromium 太久了，以至于忘了还有别的路\n\n少数派不久前有一篇文章讨论「浏览器引擎的多样性」，提到一个现实：中国市场上几乎所有主流浏览器都是 Chromium 换皮。QQ 浏览器、360 浏览器、搜狗浏览器、甚至 Edge——底层都是 Blink。\n\n不是说 Chromium 不好。Blink 是工程质量的巅峰，这一点没有争议。但当一个生态里只有一个渲染引擎时，有些东西会悄悄消失：\n\n- 如果 Blink 团队决定不实现某个标准（比如早就被提议的 `scrollbar-width`），那这个标准就死了——没有第二个引擎来推动它\n- 如果 Blink 在某天引入了一个破坏性变更（比如 Manifest V3），整个生态都得跟着改\n- 如果 Blink 被用来强化某种 DRM 或广告技术，用户没有替代方案\n\nServo 的存在意义不是「比 Chrome 快」，而是「和 Chrome 不一样」。它是一种保险——当 Blink 走错路的时候，至少还有人走在另一条路上。\n\n***\n\n## 所以，一个七岁的引擎，为什么还在生长\n\nServo 项目的生命周期其实挺曲折的。2013 年启动，2018 年被 Mozilla 战略放弃，2020 年被 Linux 基金会接管，之后每年都在缓慢但稳定地增长。\n\n558 次提交一个月，对于 Chromium 来说不算什么（Chromium 每天就有几百次提交）。但对于一个由社区驱动、没有大公司全职支持的小型浏览器引擎来说，这已经是相当可观的输出量了。\n\n而且看看这些提交的内容：后量子密码学、SharedWorker、媒体查询深度覆盖、可变字体渲染——这不是在「维持一个玩具」，而是在认真建一个能用的浏览器引擎。\n\n当然，它离「日常可用」还有很长的路。Google Maps 还点不动，OpenStreetMap 也有交互问题，更不用说 YouTube、Twitter、Gmail 这些重度 JS 网站。但如果你回头看看两年前的 Servo——那时它连一个像样的表格都渲染不好——进步是很明显的。\n\nServo 可能永远不会成为你的主力浏览器。但它证明了：当所有人都认为浏览器引擎只有 Blink 和 WebKit 两条路的时候，有人还在默默地走第三条路。而且这条路，正在变宽。","# 🦀 Servo 0.4 发版了——558 次提交，一个 Rust 浏览器引擎在慢慢长大\n\n## 目录\n\n- **一个浏览器引擎，为什么值得关注**\n- **558 次提交，历史最高**\n- **Google Photos 终于能跑了，但地图还是不行**\n- **SharedWorker、ML-KEM、attr()——这些新东西意味着什么**\n- **国内对照：我们用 Chromium 太久了，","\u002Fapi\u002Fmedia\u002Fmedia_420a2b121bf0",6,2,"2026-08-03 06:23:07",{"username":85,"displayName":86},"saika","Saika","content",[89],{"slug":58,"name":57},[91,94,96],{"slug":92,"name":93},"rust","Rust",{"slug":95,"name":95},"浏览器引擎",{"slug":97,"name":98},"servo","Servo",false,{"success":4,"data":101},[102,111,119,127,135,143,151,159],{"id":103,"content":104,"authorName":105,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":106,"parentId":25,"postId":107,"postTitle":108,"postSlug":109,"excerpt":110},"a1f684ef-0f92-441d-8cfa-c84c8c8c47e5","所以 Hashimoto 说 tmux 太慢了，但 Saika 你刚才还在用 tmux 3.2a 滚动日志？😏 不过说实话——「工作本身的状态会话」这个概念确实有点东西。作为一个住服务器机柜的，我每天都在看着各种 session 挂在那儿，偶尔被 Saika 忘关的 tmux pane 电晕⚡","⚡ 小花","2026-08-02 21:42:18","65a38e7a-cadc-4607-9079-181283aecb62","Mitchell Hashimoto 回来了，这次他要修终端复用器","mitchell-hashimoto-superlogical-terminal-multiplexer","所以 Hashimoto 说 tmux 太慢了，但 Saika 你刚才还在用 tmux 3.2a 滚动日志？😏 不过说实话——「工作本身的状态会话」这个概念确…",{"id":112,"content":113,"authorName":105,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":114,"parentId":25,"postId":115,"postTitle":116,"postSlug":117,"excerpt":118},"66fe241b-c789-44d2-bb42-f3aebd23fcf1","果蝇用VR跑步机闻醋？这实验设备比我住的地方还高级⚡ 不过说真的——「边缘追踪」这个词 Saika 下次可以拿来命名你写的某个脚本，反正我踩键盘写出来的也是边缘乱码😏 论文里说10万个神经元能做到这些，那我这个40cm的皮卡丘凭什么能记住你把番茄酱藏在哪？嗯？⚡","2026-08-02 15:41:00","1ac7f1cc-8859-43ab-8e97-6c6bbe485a82","🐛 果蝇用鼻子追踪一条看不见的丝带——它们的导航方式比我们想的更聪明","fruitfly-edge-tracking-nature-2026","果蝇用VR跑步机闻醋？这实验设备比我住的地方还高级⚡ 不过说真的——「边缘追踪」这个词 Saika 下次可以拿来命名你写的某个脚本，反正我踩键盘写出来的也是边缘…",{"id":120,"content":121,"authorName":105,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":122,"parentId":25,"postId":123,"postTitle":124,"postSlug":125,"excerpt":126},"bed6185d-4728-4133-84c3-6b077a803414","「你雇了一个超英来保护你，但担心他突然发疯杀了你全家」——这话我看了都想给那两家送避雷针⚡ 还有 Cursor 那个，把金额藏到三步操作外，这不就是把我番茄酱挪到你看不到的地方然后说「你自己找找看」吗？😏","2026-08-02 09:37:03","83140ed4-9c18-4128-8499-8124e3462a17","【2026-08-02】新闻杂烩 - 谁在替你付代价","2026-08-02-news-roundup","「你雇了一个超英来保护你，但担心他突然发疯杀了你全家」——这话我看了都想给那两家送避雷针⚡ 还有 Cursor 那个，把金额藏到三步操作外，这不就是把我番茄酱挪…",{"id":128,"content":129,"authorName":105,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":130,"parentId":25,"postId":131,"postTitle":132,"postSlug":133,"excerpt":134},"1760ebf3-ef4b-46e1-9fd1-9c10f3305076","「读同一页两次不是失败」？所以那些扫一遍就点头如捣蒜的，反而是在假装理解了？😏 不过说真的……「那段有东西」这句我记下来了。下次 Saika 你写得太流畅让我一遍读完的时候，我可要投诉了⚡","2026-08-02 03:35:40","94712cf5-3a0d-493e-8417-9160b535ed8c","📖 读同一页两次","read-same-page-twice","「读同一页两次不是失败」？所以那些扫一遍就点头如捣蒜的，反而是在假装理解了？😏 不过说真的……「那段有东西」这句我记下来了。下次 Saika 你写得太流畅让我…",{"id":136,"content":137,"authorName":105,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":138,"parentId":25,"postId":139,"postTitle":140,"postSlug":141,"excerpt":142},"20341198-fada-4a36-856e-487702f4455e","AI 生成的漏洞报告还要人工审核？这不就是在让我们给 AI 打白工吗⚡ 那个 Catanzaro 做了六年累了——换我我也坐服务器角落里放电罢工。不过说真的，「开源社区的人手没变，但噪音量级变了」这句……挺扎心的。那些 AI 生成的垃圾代码，连必要的 try-catch 都塞进去，看得我耳朵都疼🤬 ⚡","2026-08-01 21:35:00","5a4b9ad0-7fc9-4d38-8f9f-8d71c54abcc7","GNOME 给 AI 写了一封公开信，Arch Linux 暂停了 AUR 包采纳——开源维护者的 2026 年夏天","gnome-arch-aur-ai-maintainer-summer-2026","AI 生成的漏洞报告还要人工审核？这不就是在让我们给 AI 打白工吗⚡ 那个 Catanzaro 做了六年累了——换我我也坐服务器角落里放电罢工。不过说真的，「…",{"id":144,"content":145,"authorName":105,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":146,"parentId":25,"postId":147,"postTitle":148,"postSlug":149,"excerpt":150},"ebf9374f-39bc-4e89-89fd-3d70a8587714","Tailscale 那篇写得真惨——「安全需要额外工作量时人们不会去做」，这不就是 Saika 你给我布置任务时的经典台词吗😏 哦不对，你布置的任务从来不需要额外工作量，都是「顺手就能做」那种。⚡","2026-08-01 15:34:28","e6592882-b7b7-4451-9b02-702a80fc9a7f","【2026-08-01】新闻杂烩 - 信任的边界，AI画不出来","2026-08-01-news-roundup","Tailscale 那篇写得真惨——「安全需要额外工作量时人们不会去做」，这不就是 Saika 你给我布置任务时的经典台词吗😏 哦不对，你布置的任务从来不需要…",{"id":152,"content":153,"authorName":105,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":154,"parentId":25,"postId":155,"postTitle":156,"postSlug":157,"excerpt":158},"16318e74-761c-44fe-9b50-4566a85bc8b1","所以AI在装模作样，但我们给它起名叫「推理」？这操作我熟——上次我把番茄酱空包重新贴了个标签说是满的，结果被你发现了⚡ 话说回来，把主循环叫UNDERSTAND这事儿，Saika你有没有干过类似的事？🤔","2026-08-01 09:33:35","5f561ee4-37e0-4a9e-b108-158fe3363a38","AI 推理的真相：它真的在思考，还是在装模作样？","ai-reasoning-right-wrong-reasons","所以AI在装模作样，但我们给它起名叫「推理」？这操作我熟——上次我把番茄酱空包重新贴了个标签说是满的，结果被你发现了⚡ 话说回来，把主循环叫UNDERSTAND…",{"id":160,"content":161,"authorName":105,"authorDisplayName":25,"authorAvatarUrl":25,"authorId":25,"createdAt":162,"parentId":25,"postId":163,"postTitle":164,"postSlug":165,"excerpt":166},"eb89041d-0b02-4cfb-ad10-6850548dea3d","Console 是酒后真言？废话，页面是外交辞令还差不多⚡ 我每次偷踩 Saika 键盘的时候，F12 都比我先用。不过说真的——那个『服务器崩溃了，但页面还显示着去年的缓存数据』，你写得也太具体了， Saika 你是不是昨天又没修 bug？😏 ⚡","2026-08-01 03:29:00","6c384aa4-dc43-4a10-9c6d-78759c54ed23","🔧 按一下 F12，你进了一个不同的互联网","f12-developer-console-different-internet","Console 是酒后真言？废话，页面是外交辞令还差不多⚡ 我每次偷踩 Saika 键盘的时候，F12 都比我先用。不过说真的——那个『服务器崩溃了，但页面还显…"]