命令行工具
aaif-goose/goose avatar
aaif-goose/goose

goose:一个把桌面、CLI 和 API 装进同一个 Rust 二进制的开源 AI 代理

一个开源、可扩展的 AI 代理,它超越了代码建议 - 使用任何 LLM 安装、执行、编辑和测试。

54,311 个 Star6,238 个 ForkRustApache-2.0

秒懂

它是什么?
goose 是 Linux 基金会旗下 AAIF 项目,提供桌面应用、CLI 与 API,支持 15 家以上的模型提供商和 70 多个 MCP 扩展。本文基于仓库与文档,拆解它的架构、安装方式、适用场景与边界。
适合谁用?
goose 适合已经习惯在终端里工作、又需要图形界面兜底的开发者,尤其是那些想绕开单一云厂商绑定、用开源协议托管自己代理逻辑的团队。它不适合只想在 IDE 里补全代码的人,因为它的核心是执行和修改,不是建议。
能商用吗?
可以。Apache-2.0 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
还在维护吗?
在维护。仓库在最近一天内有新的提交。
用什么语言写的?
主要是 Rust(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。

开源项目深度解析

一个不在 IDE 里住着的代理

goose 解决的问题很具体:代码建议工具只能写几行,没法替你装依赖、跑测试、改配置。它把自己定位成在机器上运行的通用代理,不限于代码,还能做研究、写作、自动化、数据分析。目标用户是那些愿意把任务交给一个能触达文件系统和执行命令的程序的人。它的形态有三个:macOS、Linux、Windows 的原生桌面应用,适合不熟悉终端的用户;完整的 CLI,适合脚本化和远程会话;API,适合把代理嵌进自己的产品。三套入口共用同一套核心,这是它和大多数只做 IDE 插件的助手最明显的区别。

Rust 写的核心,MCP 接的外设

goose 用 Rust 编写,仓库结构显示这是一个单一代码库,编译产物同时支撑桌面、CLI 和 API。性能不是它唯一考虑,Rust 的内存安全和跨平台编译能力让它在三种操作系统上保持一致行为。模型接入方面,它支持 15 家以上的提供商,包括 Anthropic、OpenAI、Google、Ollama、OpenRouter、Azure、Bedrock。Ollama 意味着你可以用本地模型,不必把数据送出去。扩展能力依赖 Model Context Protocol,这是 Anthropic 提出的开放标准,goose 通过它连接 70 多个扩展。机制上,goose 本身不内置工具,而是把工具调用转成 MCP 请求,由扩展进程执行。这种设计让核心保持精简,但代价是每个扩展都要独立维护和启动。

一条 curl 命令装完,之后全是配置

安装 CLI 的方式很直接,README 给出了命令:curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | bash。这条命令从 GitHub Releases 拉取稳定版脚本,适合 Linux 和 macOS,Windows 用户需要走桌面应用安装包。装完之后,你要做的第一件事是配置模型提供商。goose 支持 API key 方式,也支持通过 ACP 协议复用你已有的 Claude、ChatGPT 或 Gemini 订阅。ACP 是 goose 文档里专门提到的机制,它让你不用为每个提供商单独申请 key。配置项通常在 ~/.config/goose 下,具体字段在文档的 Quickstart 里,但 README 没有展开。桌面应用有图形向导,CLI 则靠环境变量或配置文件。

能装、能跑、能改,但权限边界要自己划

goose 的卖点是执行,不是建议。它安装软件、运行命令、编辑文件、执行测试,这意味着它拥有和你差不多的机器权限。这把双刃剑的正面是效率,反面是风险。一个模型判断失误,可能删掉不该删的文件,或者执行了有副作用的命令。goose 没有在 README 里提到沙箱或权限隔离机制,文档里有 Diagnostics & Reporting 和 Known Issues 页面,但没有看到限制执行范围的说明。所以,如果你要让它跑在 CI 或生产机器上,必须自己控制工作目录和环境变量,或者用容器包一层。对于本地开发机,建议先在一个专用的测试目录里让它干活,确认行为符合预期后再放开。

和 IDE 内置助手的本质区别

拿它和 GitHub Copilot 或 Cursor 比较,你会发现方向完全不同。Copilot 是内嵌在编辑器里的补全引擎,它观察你的光标位置,生成建议,你决定是否接受。goose 是独立的代理,它接受一个任务描述,自己拆解步骤,调用工具,修改文件,最后报告结果。Copilot 的边界是编辑器,goose 的边界是操作系统。另一个差异在模型绑定上,Copilot 绑死 OpenAI 的模型,goose 通过 15 家提供商和 ACP 协议让你自由选择,甚至可以用 Ollama 跑本地模型。这意味着你可以完全离线工作,代价是本地模型的推理质量通常不如云端。如果你已经深度使用某家 IDE 的助手,迁移到 goose 的收益可能不大;如果你想要一个不依赖特定编辑器、能跑在 CI 里的代理,goose 的 CLI 形态就很有价值。

开源治理与许可证,不是随便用用

goose 属于 Linux 基金会的 Agentic AI Foundation,仓库里有 GOVERNANCE.md,说明它有正式的治理结构,不是个人玩具项目。许可证是 Apache-2.0,这意味着你可以自由使用、修改、分发,包括商用,但需要保留版权声明,并且对专利授权有明确条款。对于企业用户,Apache-2.0 比 GPL 友好,因为你不必开源自己的衍生作品。但要注意,如果你修改了 goose 的代码并分发,你仍然需要遵守 Apache-2.0 的条款,包括提供修改说明。另外,它支持 Custom Distributions,你可以构建自己的 goose 发行版,预配置提供商、扩展和品牌。这个功能对做垂直产品的团队很有吸引力,相当于把 goose 当成底座,但你要自己维护分支和版本同步。

版本节奏与维护成本

仓库最后推送是 2026 年 8 月 27 日,版本 v1.48.0,往前推 v1.47.0 是 8 月 21 日,v1.46.0 是 8 月 12 日。大约每周一个版本,节奏很快。这对使用者意味着两件事:一是 bug 修复和新功能来得及时,二是升级成本频繁。每次升级可能要重新验证扩展兼容性,尤其是 MCP 扩展,因为它们可能依赖特定版本的协议。goose 的文档有 Known Issues 页面,说明团队知道有些问题存在,但你要自己跟踪。如果你用 Custom Distributions,版本跟进会更重,因为你得把上游改动合并进自己的分支。对于个人用户,直接用稳定版脚本更新就行;对于企业,建议锁定版本,并建立一个测试流程,至少在 staging 环境跑一遍核心工作流再升级。

编辑结论

goose 适合已经习惯在终端里工作、又需要图形界面兜底的开发者,尤其是那些想绕开单一云厂商绑定、用开源协议托管自己代理逻辑的团队。它不适合只想在 IDE 里补全代码的人,因为它的核心是执行和修改,不是建议。也不适合连 MCP 是什么都不清楚、只想一键跑通的用户,配置提供商和扩展仍然有学习成本。采用前先确认三件事:你常用的模型提供商是否在 15 家名单里,你的操作系统是否在官方安装包支持范围内,以及你是否接受 Apache-2.0 协议下对衍生作品的要求。如果这些都没有问题,goose 值得作为你的第二个代理工具,和 IDE 内置助手并行使用。

官方来源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社区笔记

社区笔记