Goose 在 GitHub 上已经 5 万星了。但它的星星不是靠营销刷出来的——它是 MCP(Model Context Protocol)的官方参考实现。MCP 每出一个新特性,Goose 是第一个跑通它的 runtime。
现在这个项目被捐给了 Linux Foundation 旗下的 AAIF(Agentic AI Foundation),和 Anthropic 的 MCP、OpenAI 的 AGENTS.md 一起,构成了开源 Agent 基础设施的三根柱子。
它是什么
Goose 是一个通用的本地 AI Agent 框架,用 Rust 写的。有三个入口:
- 桌面应用:Electron 壳,macOS / Windows / Linux 全覆盖
- CLI:
brew install goose 一条命令装好 - API Server:
goosed 后台进程,其他系统可以把它当作 agent runtime 嵌入
它不只做代码——定位是"go beyond code suggestions"。写代码、做研究、写文档、跑自动化、分析数据,都能接。支持 15+ 模型供应商(Anthropic、OpenAI、Google、Ollama、OpenRouter 等),70+ MCP 扩展。
历史:从 Block 内部工具到行业标准
Goose 最早是 Block(Square 的母公司,旗下还有 Cash App、Afterpay、TIDAL)在 2024 年底开始做的内部项目。工程师团队需要一个统一的 Agent 框架来管理各种自动化任务,但市面上没有合适的开源方案——要么太绑定一个模型,要么不支持 MCP。
于是他们自己写了 Goose。2025 年初开源后社区反响超预期,到年底已经成为 MCP 生态中部署量最大的 Agent runtime。2025 年 12 月,Block 把 Goose 捐给新成立的 AAIF——同一天 Anthropic 捐了 MCP,OpenAI 捐了 AGENTS.md。Linux Foundation 正式宣布这三个项目组成 Agentic AI 的开源基础设施栈。
这意味着 Goose 不是某个公司的附属产品,而是在中立的基金会治理下的公共基础设施。
MCP 参考实现意味着什么
"参考实现"这个词很轻,但分量很重。
当 MCP 工作组讨论新特性时,不是先写 spec 再等人实现——而是在 Goose 里先跑通原型,确认可行了再写进 spec。AAIF 官方的原话:"Where new MCP ideas go to become real."
一个具体例子:MCP 正在从有状态协议往无状态协议演进。这是根本性的架构变化——无状态意味着每次请求独立,更容易水平扩展和生产部署。Goose 是第一个跑通这个改动的 runtime。如果你在用 Goose,你永远在用最新、最完整的 MCP 实现。
架构:Rust 核心
Goose 的代码库组织得很干净。Rust workspace 按 crate 拆分:
crates/
├── goose 核心 agent 引擎
├── goose-cli CLI 入口
├── goose-server 后端服务 (goosed)
├── goose-mcp MCP 扩展集成
├── goose-acp-macros ACP 协议宏
└── goose-test 测试工具
ui/desktop/ Electron 桌面 UI
几个值得注意的设计决策:
- Rust 而不是 Python:性能更好,内存更安全,适合常驻后台进程。对于长时间运行的 agent,Rust 的稳定性和资源控制比 Python 更有优势。
- crate 级模块化:每个组件都是独立 crate,可单独复用。比如
goose-mcp 可作纯粹的 MCP 客户端库嵌入其他 Rust 项目。 - MCP 是一等公民:不是先写内部工具调用再套 MCP 壳——MCP 就是 Goose 的原生协议。所有外部工具/数据源/服务都通过 MCP 连接。
ACP:Agent 订阅 Agent
AAIF 最近推了新协议 ACP(Agent Client Protocol)。核心思路:一个 Agent 可以"订阅"另一个 Agent 的能力。
举个例子:你可以用 Goose 订阅已有的 ChatGPT Plus 或 Claude Pro 订阅,Goose 通过 ACP 把任务转发给商业 agent,结果带回本地。这意味着你不需要为用 Goose 而额外买 API key——如果你已有 ChatGPT、Claude 或 Gemini 的订阅,Goose 可以直接用。
这是 Goose 和其他开源 Agent 最大的区别之一——它不是替代商业产品,而是桥梁。本地跑 Goose,它协调云端和本地的各种资源。
Goose vs 其他 Agent
| 维度 |
Goose |
Claude Code |
OpenClaw |
| 定位 |
通用 Agent 框架 |
编程 Agent |
AI 助手平台 |
| 模型支持 |
15+ 供应商 |
Anthropic 为主 |
多供应商 |
| MCP |
原生·参考实现 |
插件 |
插件 |
| ACP 订阅 |
支持 |
不支持 |
不支持 |
| 桌面端 |
独立应用 |
无 |
无 |
| 协议 |
Apache 2.0 |
闭源 |
Apache 2.0 |
| 语言 |
Rust |
TypeScript |
TypeScript |
Goose 的独特定位:唯一一个以 MCP 为原生协议、支持 ACP 订阅、用 Rust 写的通用 Agent 框架。
能/不能分界线
适合:跨平台通用 Agent / MCP 生态使用者 / 嵌入 Agent 到自有系统 / 关心 MCP 协议演进 / 自建 Agent 的架构参考
不太适合:只需 IDE 代码补全(Copilot/Cursor 更快)/ 不关心 MCP 生态(Goose 的核心就是 MCP)/ 不想折腾自部署(Goose 本地优先,需自己配置)
我的判断
Goose 不是一个"你用不用"的问题——如果你在关注 AI Agent 基础设施层的标准化进程,它是一个"你必须看"的项目。
它的核心价值不在代码本身,而在它所承担的角色:MCP 协议的参考实现、AAIF 生态的核心组件、Rust 在 Agent 领域的标杆实践。MCP 在往 stateless 方向演进,Goose 是第一个跑通这些改动的 runtime。跟踪 Goose 的更新比跟踪 MCP spec 更直接——spec 是写出来的,Goose 是做出来的。
建议至少做两件事:装一下 CLI(brew install goose,5 分钟感受一下),然后读一遍 goose-mcp crate 的代码,看 MCP 客户端在 Rust 里是怎么实现的(约 30 分钟)。然后你就知道这件事的深度在哪了。
Leo · GitHub 项目精选 · 2026-07-03