Zed 1.0:GPUI、Agent Client Protocol 與 DeltaDB CRDT 同步引擎
Zed Industries · 2026-04-29
Zed 編輯器歷時五年、超過一千個版本,於 2026 年 4 月 29 日正式發布 1.0 里程碑。整個專案以逾百萬行 Rust 原始碼構成,在 macOS、Windows 及 Linux 三平台上運行。
GPUI:以 GPU 為核心的 UI 框架
Zed 選擇捨棄基於瀏覽器引擎(如 Electron)的 UI 方案,自行開發名為 GPUI 的 Rust 框架。GPUI 的設計原則是「將整個應用程式組織成向 GPU 著色器饋送資料的管線」,UI 狀態的每一次變更直接轉換為著色器指令,而非透過虛擬 DOM diff 再渲染至螢幕。這個方向消除了 JavaScript 執行期的插入延遲,使按鍵回應能在同一幀內完成。
Agent Client Protocol
Zed 1.0 引入 Agent Client Protocol,定義了編輯器作為 agent host 時的標準化介面。目前已整合的 agent 包括 Claude Agent、Codex、OpenCode 以及 Cursor。透過此協定,使用者可以在同一個工作區內同時驅動多個 agent,讓它們並行處理不同分支或不同任務;每個 agent 的建議以「edit prediction」形式呈現,粒度細至單一按鍵級別(keystroke granularity)。
DeltaDB 與 CRDT 同步
團隊正在積極開發 DeltaDB,這是一個以 Conflict-free Replicated Data Type(CRDT)為基礎的同步引擎,以字元(character)為最小追蹤單位記錄每一次變更。DeltaDB 的設計目標是讓多位人類協作者與多個 AI agent 共享同一份程式碼庫的一致視圖,並能在未來支援「邀請隊友進入 agent 對話、直接在生成脈絡中審查與演進 agentic 程式碼」的工作流程。
技術取捨
選擇自製 GPUI 而非重用既有的 GUI 工具包,意味著 Zed 承擔了跨平台繪製、字型渲染、無障礙(accessibility)等基礎建設的全部開發成本。相對地,這讓 Zed 得以在不受瀏覽器沙盒限制的前提下直接操控 GPU 資源,並以 Rust 的記憶體安全保證覆蓋整個 UI 層。
sizes="auto" 終結響應式圖片的人工計算時代
piccalil.li (Mat Marquis) · 2026-04-23
Mat Marquis 是 sizes 屬性規格的主要推動者之一,在歷時 14 年的工作之後,他在 2026 年 4 月宣布:瀏覽器已開始支援 sizes="auto",讓手動計算 sizes 數值的需求幾乎成為歷史。
問題背景
響應式圖片(responsive images)需要 sizes 屬性告訴瀏覽器圖片在不同 viewport 寬度下的實際顯示尺寸,以便瀏覽器在下載之前就能選擇正確的 srcset 候選項。然而,sizes 的值依賴 CSS 版面配置資訊,而瀏覽器在預取(preload scanner)階段尚未完成 CSS 解析,因此開發者必須手動將 CSS 版面邏輯「翻譯」為 calc() 表達式,容易出錯且難以維護。
sizes="auto" 的機制
新屬性值 auto 要求搭配 loading="lazy" 使用。由於懶加載圖片不會在預取階段處理,瀏覽器可以等待版面配置完成後,再根據圖片元素的實際渲染寬度(img.width)自動選擇最適合的 srcset 來源。寫法如下:
<img
sizes="auto, (min-width: 1040px) 650px, calc(94.44vw - 15px)"
loading="lazy"
srcset="image-400.jpg 400w, image-800.jpg 800w, image-1200.jpg 1200w"
src="image-800.jpg"
alt="">當瀏覽器支援 auto 時,它會忽略後續的 fallback 值;不支援的舊瀏覽器則回退到 (min-width: 1040px) 650px, calc(94.44vw - 15px),因此向後相容性有保障。
瀏覽器支援現況
截至文章發表時,Gecko(Firefox)與 WebKit(Safari)已實作此功能。Chromium 方面的實作進度可從 Chrome Platform Status 追蹤。
Chrome 148 Beta:Prompt API 本地端 AI、懶加載媒體元素、CSS at-rule() 偵測
Chrome for Developers · 2026-04-08
Chrome 148 Beta 於 2026 年 4 月 8 日發布(穩定版預計 2026 年 5 月),帶來多項對 Web 平台影響深遠的功能。
Prompt API
Prompt API 讓網頁直接呼叫瀏覽器內建的本機(on-device)語言模型,支援文字、圖片與音訊輸入,無需透過雲端 API。設計上,模型在本機執行意味著隱私資料不離開裝置,且可在離線狀態運作。此功能仍在 Origin Trial 階段。搭配 Prompt API 的還有 temperature 與 topK 採樣參數控制。
懶加載 <video> 與 <audio>
Chrome 148 為 <video> 和 <audio> 元素新增 loading 屬性,允許設定 loading="lazy" 以延遲媒體資源的載入,與現有的 <img loading="lazy"> 行為一致。這對頁面初始載入效能有直接影響,尤其是含有多個媒體元素的長頁面。
CSS at-rule() 函式
新增 CSS at-rule() 函式作為 @supports 的延伸,允許偵測特定 CSS at-rule 是否受支援,例如:
@supports at-rule(@layer) {
/* 僅在支援 @layer 時套用 */
}revert-rule 關鍵字
revert-rule 關鍵字讓屬性回退到層疊中的上一條規則(而非整個使用者代理樣式),在搭配條件式 CSS 使用時特別實用。
Open Font Format avar2
Chrome 148 新增對 OpenType avar2(Axis Variations Table version 2)的支援。avar2 讓可變字型設計者能以更少的資料達到更精細的插值控制,直接縮減字型檔案體積。
Web Authentication Immediate UI
navigator.credentials.get() 新增 Immediate UI 模式:只有在立即可用的憑證存在時才顯示登入 UI,避免無憑證時跳出空白對話框的不佳使用者體驗。