入门 📋 7 个步骤 第 236 / 455 篇

Linux 基金会托管的开源 Agent「goose」上手:桌面端 + CLI + API 三位一体,不锁模型

goose 由 Linux 基金会 AAIF 维护,Rust 打造,桌面 App、命令行、嵌入式 API 三种入口,支持 15+ 模型供应商与 70+ MCP 扩展,可直接用现有 ChatGPT 订阅或全本地 Ollama 运行。本教程覆盖安装、配模型、开会话、接 Ollama、装 MCP 扩展、写 Recipe 与 ACP 接 IDE 七步。

2026.08.06· 16 分钟阅读· 约 1963 字· 🦆 goose / 🧩 MCP

2026 年 8 月 5 日,GitHub Trending 上有个名字很有意思的项目冲到了前排——goose(一只鹅),48,118 stars,单日涨了 699 颗。它的描述只有一句话:your native open source AI agent — desktop app, CLI, and API

它值得关注的地方不只是涨星速度,而是它刚刚搬进了 Linux 基金会,成立了专门的 Agentic AI Foundation(AAIF)。这意味着 goose 从 Block(Square 母公司)的内部工具,变成了一个不属于任何一家商业公司、有中立治理的开放项目。在「每家大厂都想把你锁进自己 Agent 生态」的 2026 年,这是个稀缺属性。

🦆 本教程适合:想找一个不绑定 IDE、不锁模型供应商、数据可以完全不出本地的通用 Agent 的开发者与技术爱好者。看完你能跑通安装、配模型、开会话、装扩展、写 Recipe 五件事。

先搞懂:goose 和 Claude Code、Cursor 有什么不同?

很多人第一反应是「又一个 AI 编程工具」。但 goose 的定位其实更宽——它是通用 Agent,代码只是它能干的活之一,研究、写作、自动化、数据分析都在射程内。核心差异看这张表:

对比维度goose典型闭源 Agent
治理归属Linux 基金会 AAIF,中立单一厂商
模型选择15+ 供应商,可换可自建通常绑定自家模型
运行位置完全本地,数据不出机器多为云端
入口形态桌面 App + CLI + 嵌入式 API多为单一形态
计费用自己的 Key 按量付费,无月费订阅制
扩展70+ MCP 扩展,可自写官方插件市场

技术栈上,goose 核心用 Rust 写成,UI 层是 TypeScript(React),保证了跨平台一致性和启动速度。

Step 1:安装 goose(桌面版或命令行版)

1 两种入口,按习惯二选一或都装

桌面版适合可视化操作,CLI 适合塞进脚本和 CI。两者共用同一份配置,装哪个都行。

【桌面版】
访问 goose-docs.ai 的安装页,下载对应平台的包:
· macOS      → Silicon / Intel 两个 zip,解压直接运行
· Windows    → zip 解压后运行可执行文件
· Linux      → DEB(Ubuntu/Debian)/ RPM(RHEL/Fedora)/ Flatpak

Debian 系示例:
sudo dpkg -i goose_*.deb

【命令行版】macOS / Linux 一条命令:
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | bash

验证安装:
goose --version
💡 Windows 用户如果想用 CLI,建议在 WSL 里跑安装脚本,体验和 Linux 一致;纯 Windows 环境优先用桌面版。

Step 2:配置模型供应商

2 一条交互式命令搞定

goose 不自带模型,第一次运行要告诉它「用谁家的脑子」。执行配置命令后会进入交互式菜单:

goose configure

菜单会依次问你:
1. Configure Providers(配置供应商)
2. 从列表里选一家:
   Anthropic / OpenAI / Google / Ollama /
   OpenRouter / Azure / Bedrock / ...(15+ 家)
3. 粘贴 API Key
4. 选择具体模型

之后想换供应商:
goose configure --provider
🔑 省钱要点:goose 支持直接用你现有的 ChatGPT Plus / Pro 订阅登录,不必额外申请 API Key。已经在付订阅费的人,等于零边际成本多了一个本地 Agent。

Step 3:跑通你的第一个会话

3 像跟同事说话一样下指令
goose session

进入交互界面后,直接用自然语言连续下指令:

> 帮我写一个读取 CSV 并输出统计摘要的 Python 脚本
> 给它加上 argparse,让文件路径能从命令行传入
> 执行看看,用 sample.csv 测试

goose 会自动规划 → 写文件 → 执行 → 把结果回报给你。
常用命令:
goose session          # 启动交互式会话
goose run              # 直接运行一个 Recipe
goose configure        # 重新配置

它是真的会动手改你的文件、执行你的命令的。第一次用建议在一个空目录或测试仓库里跑,先建立信任感,再放到主力项目上。goose 有审批机制,涉及危险操作时会先问你,别一路无脑回车。

Step 4:全本地方案——接 Ollama,数据一点不出门

4 敏感项目的正确打开方式

这是 goose 最被低估的能力:它能和 Ollama 无缝集成,让整条链路完全本地化,代码和数据一个字节都不上传云端。

# 1. 安装 Ollama
curl -fsSL https://ollama.com/install.sh | sh

# 2. 拉一个支持工具调用的模型(关键!)
ollama pull qwen2.5:7b-instruct

# 3. 启动服务,把上下文开大一点
OLLAMA_CONTEXT_LENGTH=32768 ollama serve

# 4. 让 goose 指向本地
export GOOSE_PROVIDER=ollama
export GOOSE_MODEL=qwen2.5:7b-instruct
export OLLAMA_HOST=http://localhost:11434

goose

本地模型一定要选支持 tool calling 的。Agent 的命根子是工具调用,不支持的模型跑起来会各种抽风。推荐 Qwen2.5、Llama3.2、Mistral-Nemo。实在要用不支持的模型,goose 提供 Tool Shim 技术(通过 Jinja 模板补齐能力),但效果不如原生支持。

Step 5:装 MCP 扩展,给 goose 加手加脚

5 70+ 官方扩展,也能自己写

goose 是 MCP(Model Context Protocol)生态集成最深的项目之一,官方与社区已有 70+ 文档化扩展:文件系统、数据库查询、API 调用、Git 操作等。自己写一个也很简单:

# my_tools_server.py —— 一个最小的 Python MCP 服务器
from mcp.server.fastmcp import FastMCP

mcp = FastMCP("my-tools")

@mcp.tool()
def query_database(sql: str) -> dict:
    """执行 SQL 查询"""
    return {"result": [...]}

if __name__ == "__main__":
    mcp.run()

写完注册进去即可:

goose extension add ./my_tools_server.py
🧩 扩展可以用 Python、TypeScript、Rust 三种语言写。因为走的是 MCP 标准,你为 goose 写的扩展,理论上也能给其它支持 MCP 的 Agent 用——不做重复劳动。

Step 6:用 Recipe 把重复任务固化下来

6 从「每次重新交代」到「一条命令复现」

如果某个任务你每周都要跑一遍(比如「拉最新数据 → 清洗 → 出周报」),别每次都重新打一遍提示词。goose 的 Recipe 就是把这套流程存成可复用的配方:

# 运行一个 Recipe
goose run --recipe weekly-report.yaml

# 仓库里的 workflow_recipes/ 目录有官方示例可以抄
# Recipe 里通常包含:
#   - 任务目标描述
#   - 需要挂载的扩展
#   - 参数占位符
#   - 期望的产出格式
📌 Recipe 的价值在团队里更明显:把资深同事调好的 Agent 流程存成 Recipe 提交到仓库,新人 clone 下来一条命令就能复现同样的效果,这跟「组织级 Skill 沉淀」是同一个思路。

Step 7:接进你的 IDE(ACP 协议)

7 Zed / JetBrains / VS Code 都能连

goose 支持 ACP(Agent Client Protocol)——一个与编程 Agent 通信的标准。这带来两个方向的能力:

方向一:goose 作为 ACP server 被 IDE 连接
  Zed / JetBrains / VS Code → 连上 goose
  在编辑器里直接调用 goose 的能力

方向二:goose 把别的 Agent 当成 provider
  Claude Code、Codex 等 ACP agent
  → 挂到 goose 底下作为执行后端
🔗 方向二很有意思:你可以让 goose 做统一的编排层和扩展层,底下混用不同厂商的 Agent。这正是「中立治理」项目才做得出来的设计。

踩坑与选型建议

现象 / 疑问说明 & 解决
本地模型工具调用一直失败换支持 tool calling 的模型,或启用 Tool Shim
上下文老是不够用Ollama 启动时设 OLLAMA_CONTEXT_LENGTH=32768
不想每次输 API Key用现有 ChatGPT 订阅登录,或写进 goose configure
担心它乱改文件先在测试仓库跑,善用审批机制与工作区隔离
该选 goose 还是闭源工具看重数据不出域 / 不锁厂商 / 无月费 → goose

一句话总结:goose 反的是「API 即服务」那条路——不做云平台、不收订阅费,把 Agent 能力完全塞回你自己的机器。对数据敏感、想长期避免供应商锁定的团队,这是 2026 年最值得纳入评估的开源选项之一。

← 返回教程中心