goose:开源本地 AI Agent,集成 70+ 工具

Admin
47阅读
0评论
0点赞

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 应用并在独立沙箱窗口中运行。

goose 生成的 JSON Formatter

不过工具越多安全风险也越大:每个 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

goose 新版 TUI

首次使用仍需选择模型供应商并配置认证。调用云端模型需要 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

上一篇DeepSeek Harness开源桌面版DSH Desktop发布下一篇用 DESIGN.md 约束 AI 生成 UI
评论0

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

发表评论