一家以支付和金融业务闻名的公司,把自己员工每天都在用的 AI 桌面工具直接开源了,而且许可放到最宽松的那一档——Apache 2.0。这就是 Block(旗下拥有 Square、 Cash App、Tidal)刚刚扔出来的 Berd。
它不是又一个聊天框套壳,也不是一个新模型或新 Agent 运行时。它是一个本地安装的桌面应用,把 Goose、Claude Code、Codex 这些不同的 Agent 工具统一到同一个工作台里,让你在同一套项目、文件、配置和会话上下文下切换使用。代码全部开源,macOS、Windows、Linux 都能下载运行。
Berd 到底在解决什么问题
Block 在公开材料里给 Berd 的定位很直白:一日 AI 工作面(daily AI work surface)。把聊天、文件、模型、Agent、技能、扩展、会话历史、自动化这几件事,塞进同一个桌面入口。
这个痛点其实在 Agent 工具爆发之后越来越明显。Block 自己内部就在用 Goose、Claude Code、OpenAI Codex 这些不同来源的 Agent 干活,结果是每个工具有自己的界面、自己的配置方式、自己的上下文管理。换来换去既割裂又烧脑。Block 技术传播负责人 Lucinda Bell 说得更直接:能力都有,但跨工具协作变成了噩梦。
Berd 做的就是中间那一层。它不替代 Goose、Claude Code、Codex,而是给你一个统一的桌面外壳去调用它们,并且把项目、文件、Agent 配置、技能、扩展这些状态全部保留在本地。换句话说,它解决的是「我想一直用某个 Agent,但不想每次都重新搭环境」的问题。
几个有意思的设计决定
桌面优先,不走浏览器。Berd 用 Tauri 2 加 React 19 构建,本地安装。它的逻辑是很多价值在于直接操作项目、本地文件、Agent 和仓库,所以 Browser 形态不够用。Block 把这一点写进了产品规格说明。
Agent 被设计成人格化角色。这是 Berd 最显眼但也最容易被误读的部分。每个 Agent 都有角色(role)、指令(instructions)、技能(skills)、工具(tools),再配一个动画形象——Block 把它叫做 Gloopies。官方成品里能看到 Berdy、Pushback、Choosey、Copycat、Tinker、Wildcard 几款预设。Pushback 专门对你的草稿唱反调,Choosey 帮你做选择题,Copycat 学习你的写作风格。
Block 的说法人格化只是入口的识别方式,能力还是靠角色、技能和工具撑起来的。如果去掉这套视觉包装,本质就是一个可识别、可配置、可复用的 Agent 集合。
Agent 后端用 lockfile 锁版本。Berd 在构建时把 Goose 后端的版本写进 lockfile,下载对应的二进制,校验哈希再打包进应用。开发者想换版本可以显式替换,但默认情况下后端不会静默漂移。这对想做合规审计或漏洞管理的团队非常关键。
默认关闭遥测,开箱即用。官方分发版本里遥测默认关闭,只有用户主动开启时,Block 才会收集一个随机安装 ID 和一组预定义事件。提示词、消息、文件、源代码、凭证、姓名、邮箱、IP 地址本身都不会进入遥测 payload,IP 只在传输、安全和限速环节被处理。
它和 Codex、Claude Code、Cursor 的根本区别
先承认一件事:这类工具已经不少了。OpenAI 把 Codex App 描述成 Agent 的「指挥中心」,每个项目独立线程,多个 Agent 并行跑。Anthropic 的 Claude Code 现在覆盖了终端、IDE 和桌面。Cursor 3 已经把多仓库工作流、Agent 交接都包进去了。Goose 自己也仍然是免费的命令行和桌面工具。
Berd 不同的地方不在于功能更多,而在于三条线:
1.完全开源、Apache 2.0、协议可移植。它强调 ACP 和 MCP 这类开放协议,文件夹、Git 仓库、文件、纯文本指令、技能都是文件级存在,Agent 配置可以导出到其他 Berd 用户,过程保留完整。
2.不绑定单一模型或 Agent。用户可以自己接 Anthropic、OpenAI,或者本地跑的开放模型,也可以选择 Goose、Claude Code 之类不同的 Agent harness。Block 用 Block AI Capabilities 负责人 Brad Axen 的话描述这个边界:Agent harness 管理模型、上下文、工具的循环;Berd 提供稳定一致的桌面环境。
3.不只面向程序员。Block 的目标人群写得很清楚:从一个对话开始,根据需要再加工具、上下文和结构。换句话说,产品经理、运营、内容团队也能用,不一定要先学会写代码。
下面这张表给出更直观的对比。
架构上它站在谁肩膀上
Berd 自己不是模型,也不是 Agent runtime。它和 Goose 之间用一种叫 Agent Client Protocol(ACP)的标准协议通信,Goose 在后台被当作附属进程(sidecar)跑,负责真正的模型 ↔ 上下文 ↔ 工具循环。Berd 负责把项目、会话、上下文、Agent、配置这一层管理起来。
Goose 自己是一个模型无关的 Agent 框架,最初围绕软件开发流程设计。它能通过 Model Context Protocol(MCP)把 AI 系统接到外部工具和数据,让 Agent 能真正动手操作文件和命令,本地模型和云端模型都能跑。Block 在 2025 年 12 月和 Anthropic、OpenAI 等共同成立了 Agentic AI Foundation(隶属 Linux Foundation),Goose 被捐到这个中立组织。
把这层关系画一下就清楚了:
用户在 Berd 的界面里发起任务 → Berd 通过 ACP 把请求交给 Goose → Goose 决定调哪个模型、需要哪些工具和上下文 → Goose 通过 MCP 接外部系统 → 结果回到 Berd 渲染并保存。
数据、权限和企业分发策略
Berd 的数据模型是 local-first:会话历史落在本地的 Goose session 数据库,凭据默认存在操作系统的 keychain。但「本地优先」不等于「数据不出本机」。当你让模型处理某段上下文时,相关的提示词和材料会被发给对应服务商。真正的数据流向和合规条款,取决于用户配置的是哪家厂商。
企业级使用上,Block 引入了一个叫 distribution seams 的概念:官方仓库发布的是自包含、不依赖任何内网凭证的通用分发。企业可以在这套代码之上叠加自己的 provider 设置、私有 Agent、运行配置、可选配套工具、更新通道、签名和发布基础设施,整个过程不需要往公开源码树里塞私有物料。
Block 自己的内部部署就是这套思路:在受控设备上跑托管分发,使用审批过的模型厂商、托管配置和治理策略。第三方 fork 修改了遥测的话,企业必须自己审实际行为,不能假设 Block 的默认设置自动生效。
现阶段的几点保留
1.Agent 人格化是有代价的。如果团队习惯用「Pushback」这种昵称去发指令,那未来这套名字会和 Block 的官方设定高度耦合,企业改名、迁移、混合多团队时会很麻烦。
2.生态绑定来自协议,不来自厂商。Berd 强依赖 ACP 和 MCP。这两个协议目前还在 Linux Foundation 体系内演进,速度和稳定性会直接影响 Berd 的长期形态。
3.Goose 本身也在持续变化。lockfile 锁定缓解了后端漂移问题,但企业一旦自托管,要维护两条升级线:Berd 桌面应用和 Goose 后端。
它真正值得尝试的场景
如果你已经同时在用好几个 Agent 工具,或者团队里有非工程成员想参与 Agent 流程但被 IDE 形态劝退,Berd 这一层统一工作台的开源选择,目前确实不多。
如果你只想跑单个模型、不在乎项目上下文,那 Berd 反而会显重——直接用 Goose 或 CLI 也许更直接。
仓库当前版本为 v0.6.2(已上线),许可证为 Apache 2.0(已生效),91 位贡献者,第七次公开发布。下一步是观察它的多 harness 支持和社区扩展 Skill 的实际活跃度。
如果你正打算上手,可以从下面这套基本动作开始:拉仓库、跑本地构建、把默认 Goose 后端装好、按需接你的模型 provider,剩下的就是新建项目、配置一套 Skill 和 Agent,然后开始持续往里堆上下文。它值不值得长期用,取决于这套统一工作台是不是真的能让你少点切换成本。
一句话总结:Berd 不是新模型也不是新 Agent runtime,它是套在 Goose 等工具上面的开源桌面统一层,把项目、文件、Agent 配置和会话状态都装进同一个本地工作台,让「我用的 Agent 不止一个」这件事变得可控且可移植。
GitHub 仓库地址
https://github.com/block/goose
夜雨聆风