aaif-goose/goose · 上手攻略
- 仓库:aaif-goose/goose
- 链接:https://github.com/aaif-goose/goose
- 分类:ai
- 作者:Jay
- 更新:2026-07-13
这是什么
goose 是一个用 Rust 编写的开源 AI Agent,提供桌面应用、CLI 和 API 三种形态,支持 15+ LLM 提供商(Anthropic、OpenAI、Google、Ollama、OpenRouter、Azure、Bedrock 等),并通过 Model Context Protocol(MCP)连接 70+ 扩展。
它由 Linux Foundation 下的 Agentic AI Foundation(AAIF)孵化,定位是通用型 AI Agent——不只是代码助手,还可以做研究、写作、自动化、数据分析等一切你需要完成的任务。goose 的核心理念是"本地优先":运行在你自己机器上,有桌面 UI 可以直接使用,也有完整 CLI 支持终端工作流和 CI/CD 集成。
解决什么问题
- 想用一个本地运行的 AI Agent,不只是代码补全,而是能帮你完成端到端任务
- 需要在 CI/CD 环境中自动化 AI 任务,但没有好用的 headless 工具
- 想在多个 LLM 提供商之间切换,不想被单一平台绑定
- 需要 MCP 扩展生态(连接数据库、浏览器控制、文件系统等)
快速安装
Desktop 应用(推荐新手)
macOS
- 从 GitHub Releases 下载
.zip文件 - 解压后双击
.app文件启动 - 或通过 Homebrew 安装(自动处理更新):
brew install --cask block-goose
Linux
从 GitHub Releases 下载对应包,或通过脚本安装 CLI 版本(见下)。
Windows
从 GitHub Releases 下载安装包。
⚠️ macOS M3 权限注意:如果 Desktop 应用启动后没有窗口显示,确保
~/.config目录有读写权限,goose 需要在此创建日志目录。
CLI 安装(终端用户)
# 一键安装(Linux/macOS)
curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | bash
或 clone 源码自行构建(需要 Rust 工具链):
git clone https://github.com/aaif-goose/goose.git
cd goose
cargo install --path crates/goose-cli
验证安装
goose --version
goose --help
核心用法
配置 LLM 提供商
goose 首次启动会引导选择 LLM 提供商,有以下选项:
- Quick Setup with API Key(推荐)— 输入 API Key,goose 自动识别并配置提供商
- ChatGPT Subscription — 使用自己的 ChatGPT Plus/Pro 账号,通过
chatgpt.com/codex认证接入 GPT-5 Codex 模型 - Agent Router(Tetrate) — 支持多模型自动路由,新用户送 $10 免费额度
- OpenRouter — 一个 API key 访问 200+ 模型,按量计费
- 其他提供商 — 手动配置
💡 goose 目前在工具调用(Tool Calling)场景下,对 Claude 4 系列模型支持最好。
手动配置示例(通过环境变量或配置文件)
goose 的配置默认存储在 ~/.config/goose/ 目录下(Linux/macOS),Desktop 和 CLI 共享同一套配置。
配置支持的主要提供商环境变量参考:
# OpenAI
export OPENAI_API_KEY="sk-..."
# Anthropic
export ANTHROPIC_API_KEY="sk-ant-..."
# Google Gemini
export GOOGLE_API_KEY="..."
# Ollama(本地模型)
export OLLAMA_BASE_URL="http://localhost:11434"
# OpenRouter
export OPENROUTER_API_KEY="..."
基本工作流:启动 Session
# CLI 启动一个新 session(交互式)
goose session new
# 指定工作目录
goose session new --working-dir /path/to/project
# 在指定目录下启动(goose 会在该目录执行任务)
cd /your/project
goose session
goose 的 Session 是单个连续对话,可以随时输入任务,goose 会制定计划后执行。
典型任务示例
构建一个 Web 应用:
# 在 goose session 中输入:
创建一个交互式的浏览器版三子棋游戏,用 JavaScript 实现
goose 会自动创建 HTML 和 JS 文件。
让 Agent 打开浏览器并操作:
# 先启用 Computer Controller MCP 扩展
# 然后输入:
打开三子棋游戏并试玩
文件编辑与代码修改: goose 支持直接读写文件系统、运行 shell 命令,适合在既有代码库上做批量修改。
MCP 扩展使用
goose 支持 MCP(Model Context Protocol),可连接 70+ 扩展。启用扩展:
Desktop 界面操作: 1. 点击侧边栏 → Extensions 2. 找到目标扩展并开启 3. 返回 session 继续使用
常见扩展示例:
- computer-controller-mcp:浏览器控制、网页抓取
- 文件系统访问
- 数据库连接
- Git 操作
CI/CD 集成(Headless 模式)
goose 支持非交互式的 headless 运行,适合在 CI/CD 中自动化 AI 任务:
# 设置固定版本(避免下载到不存在版本)
export GOOSE_VERSION="1.2.3"
# 在 CI 中运行指定任务(具体语法参考官方文档)
goose run --task "your task description"
📖 完整 CI/CD 用法见:https://goose-docs.ai/docs/tutorials/cicd
典型适用场景
- 本地开发助手——不只是代码补全,能帮你完成功能开发、调试、重构的端到端任务
- 自动化脚本——用自然语言写任务,goose 在你的机器上执行
- 研究助理——联网搜索、阅读文档、总结内容
- CI/CD AI 任务——在 pipeline 中嵌入 goose 做代码审查、文档生成等
- 多模型实验——在多个 LLM 提供商之间快速切换对比效果
坑与注意
- 工具调用能力依赖模型:文档明确说 goose 目前在 Claude 4 系列上工具调用体验最好,用 GPT-4o 或 Gemini 可能出现工具调用失败
- Desktop 首次配置需要联网:浏览器认证流程(Tetrate/OAuth 等)需要联网,本地 API Key 模式可离线配置
- M3 macOS 权限问题:如遇启动无窗口,检查
~/.config权限 - 扩展信用存储差异:核心配置(提供商、模型选择、扩展开关)共享存储,但部分扩展可能自行存储认证信息,不一定在 Desktop 和 CLI 间同步
- Goose 版本 pin 在 CI 中很重要:stable tag 可能比最新 release少内容,建议生产环境设置
GOOSE_VERSION环境变量 - Rust 源码构建门槛:如果想从源码构建,需要 Rust 工具链,对不熟悉 Rust 的用户有门槛
与同类对比
| 工具 | 语言 | 形态 | MCP 支持 | LLM 提供商 | 生态定位 |
|---|---|---|---|---|---|
| goose | Rust | Desktop + CLI + API | 70+ | 15+(本地/云) | 通用 Agent,Linux Foundation |
| Claude Desktop | — | Desktop | 原生 MCP | Claude only | 单一模型对话 |
| Cursor | — | Desktop IDE | MCP | OpenAI/Anthropic | 代码专用 |
| OpenAI Agent SDK | Python | SDK | 有限 | OpenAI only | 代码/研究 |
| Gooseberry | — | — | — | — | — |
goose 的核心优势是开源 + 跨平台 + 多模型 + MCP 生态,是少数同时具备桌面 UI、完整 CLI 和 API 的开源 Agent 工具,且有 Linux Foundation 背书,社区长期维护有保障。
一句话结论
想要一个运行在自己机器上的、开源可扩展、不被单一模型绑定的通用 AI Agent,goose 是目前最完整的开源选择——桌面用起来顺手,CLI 接 CI/CD 也方便,MCP 生态让它能做的事远超单纯的代码助手。