goose:开源本地 AI Agent,集成 70+ 工具
goose 是一款开源本地 AI Agent,支持桌面端、CLI 和 API,可接入 OpenAI、Anthropic、Ollama 等 15+ 模型服务,并通过 MCP 连接 70+ 工具。它还能将 Claude Code、Codex、Gemini CLI 作为执行后端,用 Recipe 固化流程,用 Subagent 并行任务。适合需要模型可替换、流程可复用的开发者。
AI 编程工具越来越多,但每个工具的模型、会话和权限各自独立,切换成本很高。goose 是一个 GitHub 上约 51k Star 的开源本地 AI Agent,提供桌面端、CLI 和 API 三种入口,支持接入 15+ 家模型服务、70+ 个 MCP 扩展,并可以调用 Claude Code、Codex、Gemini CLI 作为后端执行器。
模型不再绑定工具
多数 Agent 将界面、模型和工具绑定在一起,用户更换模型后往往要重建工作流。goose 将这几层解耦:模型服务可自由选择 OpenAI、Anthropic、Gemini、Ollama、OpenRouter、Azure 或 Bedrock;也可以通过 ACP 协议接入已有的 Claude Code、Codex 和 Gemini CLI。
例如,代码审查任务固定用 Claude Sonnet,普通文件整理改用本地模型。切换模型时,MCP 工具和任务说明不会丢失。对同时订阅了多种服务的用户,goose 相当于把 ChatGPT、Claude、Gemini 的能力收进一个客户端,同一套流程可以先让低成本模型跑通,再交给更强的模型处理关键环节。模型只是执行任务的一部分,不再决定整个工作环境。
工具都从 MCP 接入
MCP 是 Agent 连接外部工具的统一接口。goose 内置 70 多个扩展,覆盖 GitHub、浏览器、数据库、Google Drive、文件系统和开发工具。接入 GitHub 后,Agent 能读取 Issue、改代码、检查 PR;接入浏览器后,它能打开页面、抓取内容并执行操作。桌面端还支持 MCP Apps,直接在对话中渲染表单、按钮和可视化界面。
goose 自带 Apps 扩展,例如说一句“创建一个 JSON 格式化工具”,它会生成单文件 HTML 应用并在独立沙箱窗口中运行。

不过工具越多安全风险也越大:每个 MCP Server 都可能读取文件、访问网络或执行命令。安装前应检查扩展来源、权限和配置;数据库连接应使用只读账号,仓库使用独立 Token,高风险命令仍要人工确认。goose 提供工具权限控制、提示词注入检测和沙箱,但最终能否信任扩展仍取决于使用者。
流程保存成 Recipe
goose 用 Recipe(配方)将任务说明、模型、扩展、参数和子流程保存为 YAML 文件,方便稳定复用。比如可以写一份“发布前检查”配方:先读取代码差异,再运行测试、扫描依赖风险,最后生成检查报告。团队成员拿到同一份文件就能执行相同步骤。
Recipe 也可以放进 CI,支持失败重试和检查条件。它适合固定流程,不适合频繁变化、需要大量临时判断的任务。配方文件可随 Git 仓库进行版本管理,当流程变慢或输出变差时,可以对比任务说明、模型和扩展配置的变更。Agent 工作流因此变得可审查、可回退。
子任务并行执行
复杂任务全部放进同一段上下文,模型容易丢失早期信息。goose 支持启动独立 Subagent,分别处理代码审查、资料研究或文件分析,再将结果交回主会话。例如分析陌生仓库时,可以让三个子任务分别检查架构、测试和安全问题,每个子任务都有独立上下文,不会把大量工具调用塞进主对话。
并行并不天然更好,任务边界模糊时多个 Agent 会重复劳动,Token 成本也随之上升。拆分前应定义清楚输入、输出和验收条件。更稳妥的做法是让子任务只返回结构化结果:安全检查输出风险和文件位置,测试检查输出失败用例,架构检查输出模块关系;主 Agent 负责合并,避免多个 Agent 同时修改同一批文件。
一条命令启动 CLI
macOS 和 Linux 用户可通过官方脚本安装:
curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | bash
安装后运行:
goose
官方还提供一个无需长期安装的新 TUI:
npx @aaif/goose

首次使用仍需选择模型供应商并配置认证。调用云端模型需要 API Key 或订阅;使用 Ollama 等本地模型则受硬件性能限制。
goose 目前处于客户端架构调整期,官方正在用 ACP 统一 CLI、桌面端和第三方客户端。新 TUI 的模型管理、会话恢复和 MCP 界面能力还不完整,生产使用应选正式版本。安全方面,goose 提供工具权限控制、提示词注入检测和沙箱模式,macOS 桌面端可限制可读写目录与网络访问;但沙箱不能替代备份、代码审查和最小权限。
和同类工具怎么选
| 对比维度 | goose | Claude Code | OpenHands | Cline |
|---|---|---|---|---|
| 主要入口 | 桌面/CLI/API | CLI | Web/CLI | IDE |
| 模型选择 | 15+ 服务 | Anthropic | 多模型 | 多模型 |
| MCP 接入 | 70+ 扩展 | 支持 | 支持 | 支持 |
| 外部 Agent | ACP Provider | 不适用 | 较弱 | 较弱 |
| 可复用流程 | Recipe | 命令/规则 | 工作流 | Rules |
| 子任务 | Subagent | Subagent | 多 Agent | 较弱 |
| 本地模型支持 | 支持(Ollama) | 不支持 | 支持 | 支持 |
| 适合场景 | 通用本地 Agent | 编码任务 | 沙箱开发 | IDE 编码 |
如果主要需求只是写代码,Claude Code 或 Cline 路径更短;需要隔离环境执行完整开发任务,OpenHands 更合适。它们并非完全对等:Claude Code 偏向终端编码,Cline 贴近 VS Code,OpenHands 强调远程/沙箱执行,goose 则把重点放在模型可替换、MCP 扩展和跨场景工作流。
goose 适合已经在使用多个模型和 MCP 工具、希望把研究、编码、自动化和固定流程放进同一个本地入口的人。团队可以把 Recipe 放进仓库,统一模型、工具和验收步骤,减少每个人各配一套环境带来的偏差。
项目地址:https://github.com/aaif-goose/goose





暂无评论,期待您的发言...