goose
开源 AI Agent 框架,支持 CLI/桌面/API 三入口,连接 15+ 大模型与 70+ MCP 扩展
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
开源 AI Agent 框架,支持 CLI/桌面/API 三入口,连接 15+ 大模型与 70+ MCP 扩展
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
如果你的 AI 编程助手只会"给建议",那 Goose 就是它的全面升级版——它能自己动手安装依赖、编写代码、运行测试,甚至帮你完成整个 PR 工作流。
Goose 最初诞生于美国软件公司 Block(Square 的母公司)的内部需求。工程师们在日复一日的开发中发现,市面上的 AI 编程工具大多"只会说话不动手"——能给建议,但无法真正替你完成工作。于是,Block 的团队决定自己造一个"能执行"的 AI Agent。
2024 年 8 月正式开源后,Goose 以惊人的速度在 GitHub 上积累了星标。2025 年,随着 AI Agent 赛道持续升温,Goose 正式迁移至 Agentic AI Foundation(AAIF),加入了 Linux 基金会大家庭,成为该基金会旗下最受关注的开源 Agent 项目之一。目前项目拥有超过 45,000 颗星标,是 Rust 生态中星标最高的 AI Agent 项目之一。
图1:goose 官方头像(来源:GitHub)
从时间线来看,Goose 的成长轨迹几乎与 AI Agent 概念的爆发同步。2024 年下半年 Claude Code、Aider 等工具相继亮相,而 Goose 凭借其"多入口"的产品设计(CLI + Desktop + API)迅速脱颖而出,成为跨平台 AI Agent 的标杆项目。
Goose 提供了三种使用方式,你可以根据场景自由切换:
| 入口 | 适用场景 | 技术实现 |
|---|---|---|
| Desktop App | GUI 爱好者、设计师 | Electron + TypeScript/Vite |
| CLI | 开发者、运维工程师 | Rust 原生二进制 |
| API Server | 嵌入其他应用、CI/CD 集成 | Rust + Axum Web 框架 |
三种入口共享同一套 Rust 核心引擎,这意味着无论你在桌面端调试好了一个 Agent 配置,还是通过 CLI 跑通了一个工作流,都可以无缝迁移到 API 中嵌入使用。
Goose 不绑定任何一家模型厂商。它原生支持 15+ 主流 LLM 提供商:
同时,Goose 全面拥抱 Model Context Protocol(MCP)——这是 AI 工具互操作的事实标准。通过 MCP,Goose 可以连接 70+ 第三方工具和平台,包括文件系统、数据库、Git、浏览器自动化、云服务等。这意味着 Goose 不是一个孤立的 AI,而是一个真正能"操控工具"的 Agent。
与大多数依赖简单正则或 embedding 的 AI 编程工具不同,Goose 的代码理解层使用了 tree-sitter 进行语法解析。它支持 12+ 编程语言的 AST 分析:
Python、Rust、JavaScript、TypeScript、Go、Java、Kotlin、Ruby、Swift、Go、C++……这使得 Goose 在进行代码编辑时,能够理解代码的语法结构,而不仅仅是文本匹配。这对于处理复杂重构、跨文件修改尤其重要——它能知道一个函数在哪个作用域内、某个变量的类型是什么,而不是"猜着改"。
选择 Rust 作为核心语言,不是赶时髦,而是有明确工程考量的:
内存安全:AI Agent 需要在用户本地文件系统上执行操作(读文件、写代码、运行命令),Rust 的内存安全模型大幅降低了"AI 误删文件"或"越权访问"的风险。这是 Python 实现的 Agent 所不具备的天然安全屏障。
性能:Goose 的 CLI 二进制文件约为几十 MB,但启动时间在亚秒级,远快于 Electron 桌面应用。相比之下,基于 Node.js 的 Claude Code CLI 启动通常需要 2-3 秒。Rust 的零成本抽象让 Goose 可以同时保持高性能和低资源占用。
跨平台:Rust 编译为原生二进制后,Goose 可以直接在 macOS、Linux、Windows 上运行,无需安装运行时。官方提供了 download_cli.sh 一键安装脚本,三行命令即可完成安装。
Goose 采用了 Rust workspace 的模块化架构,将不同功能拆分到独立 crates 中:
| Crate | 职责 |
|---|---|
goose | 核心 Agent 逻辑、工具调用、任务执行 |
goose-cli | 命令行入口、交互式 REPL |
goose-server | API Server(Axum),提供 HTTP 接口 |
goose-mcp | MCP 协议实现、扩展管理 |
goose-sdk | SDK,用于从外部程序调用 Goose |
goose-acp-macros | ACP 协议的过程宏(proc-macro) |
这种架构使得 Goose 可以被深度定制——企业可以基于 goose-sdk 将 Goose 嵌入自己的产品,或者基于 goose-server 构建私有化部署的 Agent 服务。
curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | bash
安装完成后,运行 goose --help 即可验证。首次运行时,Goose 会引导你配置 LLM Provider(输入 API Key 或选择本地模型)。
Goose 提供了多阶段构建的 Docker 镜像:
# 构建阶段
FROM rust:1.82-bookworm AS builder
RUN cargo build --release --package goose-cli
# 运行时阶段
FROM debian:bookworm-slim
COPY --from=builder /build/target/release/goose /usr/local/bin/goose
ENTRYPOINT ["/usr/local/bin/goose"]
如果需要 API Server 模式,可以基于 goose-server crate 构建单独镜像:
# 编译 server
cargo build --release --package goose-server
# 运行 API Server
./target/release/goosed --port 8080
下载对应平台的桌面安装包即可。Desktop App 基于 Electron 构建,提供了比 CLI 更友好的交互体验——实时日志、多会话管理、配置可视化等。
尽管 Goose 功能强大,但也存在一些不可忽视的局限性:
1. 本地模型支持尚不完善:虽然支持 Ollama,但 Goose 的 MCP 扩展生态中,针对本地部署的工具(如本地 RAG、Embedding 服务)的集成深度不如专门为本地场景优化的项目。对于有严格数据隐私要求的企业用户,目前仍需要额外配置。
2. 文档质量参差不齐:Goose 的英文文档较为完善,但中文文档资源较少。对于国内开发者的上手体验有一定门槛。此外,由于项目迁移自 Block,部分文档中的引用和链接仍在更新中。
3. 多阶段任务稳定性:在复杂的多步骤任务中,Goose 有时会"迷路"——在多个文件之间跳转时丢失上下文,或者在某些边界条件下重复执行已完成的步骤。项目维护团队在 self-test 套件中持续改进,但 Agent 的长程推理仍是行业难题。
4. Rust 开发门槛:如果需要深度定制 Goose(如添加新的 Provider、开发自定义 MCP 扩展),需要熟悉 Rust 语言。虽然 SDK 提供了一定的扩展能力,但其灵活性不如 Python 生态的 LangChain 等框架。
Goose 的出现,填补了开源 AI Agent 生态中的一个重要空白:跨平台、高性能、可嵌入的 Agent 基础设施。
在此之前,开源 Agent 领域主要有两个方向:一是以 LangChain、AutoGen 为代表的 Python 框架,灵活但性能有限;二是以 Claude Code、Aider 为代表的专注代码场景的 CLI 工具,能力单一。Goose 则提供了一个"三合一"的解决方案——既能做通用任务,又能嵌入其他产品,同时保持了 Rust 级别的性能和安全性。
进入 Linux 基金会体系后,Goose 有望获得更广泛的社区认可和更稳定的长期维护。对于企业用户而言,这意味着一个更可预测的供应商风险——不会因为某家公司的战略调整而让 Agent 项目突然停摆。
从增长曲线来看,Goose 的星标从 2025 年初的 2 万增长到 2026 年的 4.5 万以上,保持了年均翻倍的高速增长。随着 AI Agent 逐渐从"酷炫 demo"走向生产环境,Goose 这类有明确工程目标的开源 Agent 框架,将迎来更大的需求。
本文基于 GitHub 公开信息生成,分析截止日期:2026-05-24。