Block 開源 Berd:基於 Goose 的本地優先 AI Agent 桌面工作區
Block 將內部團隊日常使用的 AI agent 桌面應用 Berd 以 Apache 2.0 授權開源——以 Tauri 2 打造、透過 ACP 協定對接 Goose 後端,主打本地優先、模型中立,成為瀏覽器式 agent 工作區之外的另一種選擇。
2026 年 8 月 18 日,Block——Square 與 Cash App 背後的金融科技公司——宣布開源 Berd,這是其內部工程師與設計師每天用來與 AI agent 協作的桌面應用程式。「我們常常親手打造自己需要的工具,」Block 在公告中寫道。「Berd 是我們團隊用來跨專案、技能、工具與模型操作 AI agent 的桌面應用。今天,我們將它開源,並分享我們從中學到的經驗。」
這個以 Apache 2.0 授權發布在 github.com/block/berd 的專案,推出時機正值「agent 工作區」成為軟體業競爭最激烈的戰場之一。Cursor、Claude Desktop、ChatGPT 桌面版,以及一大波新創公司,都在搶奪知識工作者與 AI 共處的那個「介面」。Block 的答案在兩個軸線上刻意反其道而行:它是本地安裝的原生應用程式,而非瀏覽器式的工作區;而且它從設計上就是本地優先(local-first)——對話歷史儲存在使用者自己的裝置上,而不是供應商的雲端。
Berd 到底是什麼
根據程式庫文件與 Block 的產品說明,Berd 是一個「用任何模型把事情做完」的通用桌面應用。它把 agent 體驗打包成單一介面,涵蓋:
- 專案與工作階段(sessions)——持久的工作區,附帶可回顧的歷史紀錄,讓使用者隨時恢復工作而不用重建腦中的上下文
- 技能(skills)與擴充套件(extensions)——管理可重複使用的 agent 能力,並串接外部工具
- 自動化(automations)——可重複執行的 agent 工作流程,且不會遺失工作區脈絡
- 模型供應商(providers)——應用本身模型中立,由使用者設定 agent 要跑在哪些供應商與模型上
- 上下文控制——精確選擇 agent 能看到哪些檔案與資料夾,產品文件稱之為讓「上下文變得清晰可讀」
至於設計哲學,程式庫裡的 PRODUCT.md 寫得非常直白,列出了一連串「不要」:「不要讓 Berd 看起來像-generic-聊天機器人外殼、深色終端機皮、塞滿指標的儀表板,或穿著產品外衣的行銷網站。」品牌個性是「專注、可靠、有陪伴感」——Block 稱這個專案為「有個性的 AI」,每個 agent 在應用內都有自己的視覺識別。
技術底層:Tauri、React 與 Goose sidecar
技術上,Berd 用的是相當現代的桌面技術棧:前端以 Tauri 2(編譯成小巧原生執行檔的 Rust 桌面框架)加上 React 19,核心 Rust 程式碼位於 src-tauri 與 crates,GitHub 上登記的主要語言是 TypeScript。
更有意思的架構決策,是 Berd 與 Goose 的關係。Goose 是 Block 於 2025 年 1 月推出的開源 agent 框架,後來捐給了 Agentic AI Foundation(AAIF),在社群經營下已累積數萬顆 GitHub 星。Berd 並沒有重新實作一套 agent 執行環境,而是透過 Agent Client Protocol(ACP)、由 goose serve sidecar 程式提供的 WebSocket,與上游 Goose 後端溝通;Tauri 打包時把 Goose 作為外部二進位檔一併捆綁。
後端版本以確定性方式釘選:goose-backend.lock.json 把 Berd 鎖定在特定的 Goose commit 上,若快取的二進位檔與 lockfile 不符,建置會直接失敗。TypeScript 端則透過 vendored 的 @aaif/goose-sdk 整合。這意味著 Berd 實質上是一個「以協定為本」的 agent 架構參考實作——UI 與 agent 執行環境彼此解耦,而 ACP 這個新興標準也讓 Goose agent 能與 Zed、JetBrains、VS Code 等編輯器互通。
本地優先,預留企業版接縫
VentureBeat 的報導點出了可能最關鍵的設計選擇:Berd 採本地優先資料模型,對話歷史存在使用者裝置上的本地 Goose session 儲存區,不會同步到 Block 的伺服器。對一家處理大規金流、受金融業嚴格合規規範約束的公司來說,這不是隨興的決定——它反映了一個押注:企業 AI 採用的下一階段,將會要求数據在地化。
程式庫還內建了 README 稱為「distribution seams(發行接縫)」的機制:公開版本完全自足,不需要私有 registry 或企業憑證;但組織可以打造企業發行版,疊加受管理的供應商設定、私有 agent 與資源、更新通道與簽署基礎設施——而且不必把私有內容塞進公開原始碼樹。這等於承認大多數大型企業不會直接用原版,但透過這些接縫,他們的 fork 仍能持續對著上游建置。
開源,但不開放貢獻
README 裡有一個細節正引起討論:任何人都可以自由閱讀、建置與 fork Berd,但 Block 不接受外部協作者的外部 pull request,外部 PR 會被自動關閉。「參與的方式是開一個格式良好的 issue,」README 寫道,理由是一份可重現的錯誤報告比修補程式更有價值,因為「那是我們自己做不到的部分」。
這種「開源但封閉貢獻」的模式,在需要快速出貨、同時對每一行程式碼維持法務與安全審查的企業專案中越來越常見,但也不可避免會引發辯論:沒有外部 commit 的「在公開中開發」,究竟算不算社群驅動?Block 的定位是「由 Block 的一個小團隊,在公開場合打造」——是過程透明,而非外部治理。(值得注意的是,Goose 本身走了相反的路:它被捐給基金會,正是為了 enable 外部治理。)
為什麼重要
三股潮流讓這次發布的意義超過單一公司的工具釋出。
第一,agent 桌面正在成為新的瀏覽器。當 coding agent 與通用 agent 吃掉越來越大比例的專業工作,誰擁有工作區的 UI,誰就擁有與使用者的關係——以及隨之而來的模型路由決策。Berd 模型中立、以協定為本的取徑,是讓這一層保持開放與互通的押注,而不是鎖死在單一供應商的模型上。
第二,本地優先正從理念變成剛性需求。金融、醫療、國防領域的企業不斷發現,雲端託管的 agent 歷史紀錄是合規負債。一家支付公司推出工作階段資料完全留在本機的工作區,強烈暗示了未來採購需求的走向。
第三,它延續了 Block 異於同儕的開源 AI 策略。Block 是最早大規模在內部押注 agentic AI、再把工具開放出來的大型企業之一——先是 Goose,現在是 Berd。無論「不收外部 PR」政策會限制採用,還是 Tauri 加 ACP 的架構能吸引建造者社群,Berd 現在都是最完整的開源生產級 agent 工作區參考實作之一——連同它的實驗功能系統與所有不完美之處。
截至本文撰寫時,這個剛公開的程式庫在第一天內已累積數百顆星。程式碼、釘選的 Goose 後端、企業發行接縫,全部以 Apache 2.0 釋出——不需要憑證、不需要候補名單、不需要雲端帳號。這本身,就是最好的推銷。
Sources
- [1] https://github.com/block/berd
- [2] https://venturebeat.com/orchestration/blocks-new-apache-2-0-agent-workspace-berd-works-across-models-and-harnesses-stores-conversation-history-locally
- [3] https://x.com/blocks/status/2089753189985706377
- [4] https://block.xyz/inside/block-open-source-introduces-codename-goose
- [5] https://goose-docs.ai/
- [6] https://www.gate.com/news/detail/block-open-sources-berd-desktop-app-for-ai-agent-management-23543922