先说结论:Goose 跟 Claude Code 不是一个赛道

如果你把 Goose 当成"又一个终端 Coding Agent",那你理解错了。Goose 是 Block(Square 母公司)做的通用 AI Agent——不只写代码,还能做研究、写文档、自动化流程、数据分析。它有桌面应用、CLI、API 三种形态,用 Rust 写的,现在挂到了 Linux Foundation 的 Agentic AI Foundation (AAIF) 下面。

51K Star,Apache 2.0 协议,2024 年 8 月创建,现在是 v1.25+。这个项目已经不是实验品了。

但说实话,Goose 在中文技术圈的存在感很低。搜"Goose AI"出来的结果远不如 Claude Code、Codex CLI、甚至 Aider。我觉得这不正常——它值得被认真讨论。

赛道定位:它在哪条线上

当前 AI 编程工具大致分三类:

第一类:专用 Coding Agent。Claude Code、Codex CLI、Aider、OpenCode。核心就是帮你写代码、改代码、跑测试。它们解决的是"写代码更快"这个问题。

第二类:IDE 内嵌 Agent。Cursor、Windsurf/Devin Desktop、Cline、Continue。在 IDE 里加了 Agent 能力,Tab 补全 + Agent mode + Background Agent。

第三类:通用 Agent 平台。Goose 属于这一类。它不只是写代码——你用它查文档、写邮件、操作数据库、管理 Jira、跑数据分析都行。它的核心能力是通过 MCP 扩展连接一切

这不是"谁更好"的问题,而是"解决什么问题"的问题。Claude Code 解决的是"终端里写代码",Goose 解决的是"一个 Agent 干所有活"。

架构:Interface → Agent → Extensions

Goose 的架构很干净,三个组件:

┌─────────────┐
│  Interface   │  ← Desktop App / CLI / API
└──────┬──────┘
       │
┌──────▼──────┐
│    Agent     │  ← 核心逻辑,管理交互循环
└──────┬──────┘
       │
┌──────▼──────┐
│ Extensions   │  ← MCP Server,每个扩展提供一组 Tools
└─────────────┘

Interface 是用户入口。桌面应用(macOS/Linux/Windows 原生)、CLI、API 三种。桌面应用不是 Electron 套壳——它用 Rust 写的 Tauri 应用,启动速度快,内存占用低。

Agent 是核心。它管理一个交互循环:用户请求 → 发给 LLM → LLM 返回 tool call → Goose 执行 tool → 结果返回 LLM → 最终回复。这个循环里有个关键步骤叫 Context Revision——Goose 会自动清理过时或无关的上下文,用算法删除旧内容,用更快的小模型做摘要,用 find-and-replace 代替重写大文件,用 ripgrep 跳过系统文件。这些细节加起来,token 成本能省不少。

Extensions 是 MCP Server。Goose 通过 MCP 协议连接外部工具,每个扩展暴露一组 Tools 给 Agent 使用。内置扩展包括开发者工具、网页抓取、自动化、记忆等,还支持连接外部 MCP Server 或自己写。

Extension 的 Rust 实现

Goose 的扩展框架用 Rust 的 trait 定义:

#[async_trait]
trait Extension: Send + Sync {
    fn name(&self) -> &str;
    fn description(&self) -> &str;
    fn instructions(&self) -> &str;
    fn tools(&self) -> &[Tool];
    async fn status(&self) -> Result<HashMap<String, Value>>;
    async fn call_tool(&self, tool_name: &str, params: HashMap<String, Value>) -> ToolResult<Value>;
}

每个 Tool 有 name、description、input schema(JSON Schema),Goose 自动把它们注册到 Agent 的 tool 列表里。LLM 返回 tool call 时,Goose 负责 JSON 解析、执行、错误处理——如果 tool 执行失败,错误信息会作为 tool response 返回给 LLM,让模型自己决定怎么重试。这比"直接报错退出"聪明得多。

ACP:用你已有的订阅,不花钱

这是 Goose 最被低估的功能之一。

ACP(Agent Client Protocol)是一个标准协议,让不同的 Agent 之间可以通信。Goose 支持两种 ACP 模式:

Goose 作为 ACP Server:goose acp 命令把 Goose 启动为 ACP Server(通过 stdio),JetBrains、Zed 等编辑器可以直接连上来用。

ACP Agent 作为 Provider:这是更实用的模式。你可以把 Claude Code 或 Codex 配置为 Goose 的 provider,Goose 会把你的 extensions 作为 MCP Server 传给它们。也就是说——你可以用你已有的 Claude Pro/Max 或 ChatGPT Plus/Pro 订阅来驱动 Goose,不需要额外付 API 费用。

这一点比大多数 Agent 工具都强。Claude Code 只能用 Anthropic 的模型,Codex CLI 只能用 OpenAI 的模型,但 Goose 通过 ACP 可以复用任何 Agent 作为后端。

70+ MCP 扩展:这才是 Goose 的护城河

Goose 的扩展生态是目前所有通用 Agent 里最完整的之一。从 sitemap 来看,官方文档里列了 70+ 个 MCP 扩展,覆盖:

而且 Goose 有个 Skills Marketplace——你可以浏览、安装社区贡献的技能。还有 Recipe GeneratorRecipe Cookbook,让你把常用的 Agent 工作流保存为可复用的配方。

Context Engineering:不只是写 prompt

Goose 的上下文管理比大多数 Agent 工具做得深。它有一整套 Context Engineering 机制:

这些东西加在一起,Goose 的上下文管理已经不是"写个 system prompt"的水平了,而是接近一个完整的 Agent 编排框架。

我试了一下:真实体验

我在 macOS 上装了 Goose CLI,配置了 Anthropic provider,连了 GitHub MCP 和 Developer MCP。

安装过程:一行命令搞定。比 Claude Code 简单(Claude Code 要 npm install -g)。Goose 还有 Homebrew 安装选项:brew install block-goose-cli

配置 LLMgoose configure 交互式配置,支持 15+ 提供商。我选了 Anthropic,输入 API key,30 秒搞定。也可以直接用 goose session --provider openai 切换。

第一个任务:让它帮我分析一个 GitHub issue 并提 PR。它自动调用了 GitHub MCP 的工具——读 issue、clone repo、分析代码、生成 fix、提 PR。整个过程比 Claude Code 多了"提 PR"这一步,因为 Claude Code 没有原生的 GitHub PR 工具。

第二个任务:让它帮我写一篇技术博客。它调用了 Developer MCP 和 Fetch MCP,先搜索相关资料,然后生成文章。这个 Claude Code 做不了——它只能写代码,不能做研究。

跟竞品怎么选

场景 推荐工具 原因
终端里快速改代码 Claude Code Prompt caching 省钱,Anthropic 模型最优
开源免费 + 多模型 Goose 15+ 提供商、ACP 复用订阅、70+ MCP 扩展
IDE 内嵌开发 Cursor / Continue Tab 补全体验、IDE 深度集成
通用 Agent(不只写代码) Goose MCP 生态最全、Desktop+CLI+API 三形态
零配置、不想折腾 Codex CLI OpenAI 生态,开箱即用
用已有的 Claude/ChatGPT 订阅 Goose ACP 协议复用现有订阅,零额外 API 费

Custom Distributions:企业级玩法

Goose 有个很少被提到的功能:Custom Distributions。你可以构建自己的 Goose 发行版——预配置好 providers、extensions、branding,打包成一个独立的安装包分发给团队。

这对企业来说很有价值。你不需要让每个开发者自己配置 MCP 扩展和 provider,直接发一个定制版 Goose,开箱即用。这比"写个文档教大家怎么配置"靠谱多了。

Local Inference:不联网也能用

Goose 有 goose-local-inference crate,支持本地模型推理。配合 Ollama,你可以在完全离线的环境下使用 Goose。这对安全敏感的场景(金融、医疗、政府)来说是刚需。

大多数 Agent 工具要么完全依赖云端 API(Claude Code、Codex CLI),要么本地推理体验很差。Goose 在这方面做得比较认真。

Goose 的问题

总结

Goose 不是 Claude Code 的竞品。Claude Code 是"终端里最好的 Coding Agent",Goose 是"最开放的通用 Agent 平台"。它们解决的问题不一样。

如果你只写代码,Claude Code 或 Cursor 就够了。但如果你需要一个 Agent 能写代码、查文档、操作数据库、管理 Jira、做数据分析——而且不想被锁死在一个 LLM 提供商里——Goose 是目前最好的选择。

51K Star、Rust 性能、Linux Foundation 背书、70+ MCP 扩展、ACP 复用订阅、Custom Distributions 企业分发、Local Inference 离线运行——这些加在一起,Goose 的综合实力被严重低估了。

值得一试。一行命令安装:

curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | bash

项目地址:github.com/block/goose

文档:goose-docs.ai

Discord:discord.gg/goose-oss