大多数搜索 goose 替代方案的人其实不需要替代方案。goose 并未退役:它已从 block/goose 迁移到 Linux Foundation 旗下 Agentic AI Foundation 的 aaif-goose/goose,该仓库未归档,于 2026 年 9 月 21 日有推送,并于 2026 年 9 月 17 日发布了 v1.51.0。 如果你仍然要离开,合适的替代方案完全取决于你离开的原因——而比较表无法涵盖的是哪些内容能够迁移。指令可以迁移,配方和会话历史不能迁移,而且每个目标工具写入端点 URL 的形式都不同于 goose。
搜索 goose AI 替代方案会得到两个互不相关的产品,因此首先要澄清这一点。本页面介绍的是开源编码代理 goose,文档位于 goose-docs.ai。它不是 goose.ai;后者是其网站描述的由 CoreWeave 和 Anlatan 合资运营的托管式 NLP 推理服务,其主页没有提到编码代理、CLI 或代码仓库(截至 2026 年 9 月 21 日检查)。那里发布的按请求价格属于该服务,本页面任何地方都没有列出。还需要了解另外两处名称冲突:pressly/goose 是 Go 数据库迁移工具,goose-lang/goose 可将 Go 的一个子集转换为 Rocq。
重命名确有其事,但其中一半尚未传播
首席工程师 Michael Neale 于 2026 年 4 月 7 日 在项目自己的博客上宣布了此次迁移:“GitHub 仓库及相关项目已从 block/goose 迁移到新的组织”,并补充说:“旧文档链接会重定向,但请将书签更新为新网站。”基金会本身更早之前已在成立 Agentic AI Foundation 的 Linux Foundation 新闻稿中宣布,该基金会以包括 MCP、goose 和 AGENTS.md 在内的贡献项目为基础。
让 goose 在搜索结果中看起来已被放弃维护的原因,是旧名称仍然固化在发布的构件中。检查日期:2026 年 9 月 21 日:
| 界面 | 当前的行为 | 显示为 |
|---|---|---|
github.com/block/goose | HTTP 301 重定向到 github.com/aaif-goose/goose | 已迁移,服务器端完成 |
block.github.io/goose | HTTP 200 返回标题为“goose has moved — Redirecting…”的页面,其中包含 meta refresh 和指向 goose-docs.ai 的 canonical | 已迁移,但通过浏览器完成——不是 HTTP 重定向 |
| Homebrew cask | 仍为令牌 block-goose,版本 1.51.0,其 homepage 字段仍指向 block.github.io/goose | 仍为 Block |
| VS Code 扩展 ID | 仍为 block.vscode-goose | 仍为 Block |
| Windows 配置目录 | 仍为 %APPDATA%\Block\goose\config\ | 仍为 Block |
因此,“Block's goose”对于仓库和文档来说已经过时,但对于安装构件来说仍然是字面上正确的。这些构件正是 Block 关联仍存在于搜索结果和软件列表中的原因;它们不能证明当前治理仍由 Block 负责。
最终证明是 goose 设置的三个退出理由
在列出候选方案之前,请先检查你的原因是否其实已经可以通过配置更改解决。以下是三个常见原因,均来自截至 2026 年 9 月 21 日检查的 goose 自有文档:
- “我希望它停止询问”——或者询问得更多。
GOOSE_MODE通过auto、approve、chat和smart_approve这些值控制工具执行,默认值为auto(环境变量)。这里的自主性是一个调节旋钮,而不是缺失的功能。 - “我希望它在我的编辑器中运行。” Zed 可以将 goose 作为 ACP 代理运行,并且已有官方 VS Code 扩展——但其页面位于
/docs/experimental/下方,并写明“goose for VS Code 正在积极开发中。未来版本中的行为和配置可能会发生变化”,要求 VS Code 1.95.0 或更高版本以及 goose CLI。它仍属实验性功能,不能与成熟扩展相提并论。 - “我想停止按令牌付费。” goose 的 ACP 提供商——Claude ACP、Codex ACP、Amp ACP 和 Pi ACP——“可以让你使用现有的 Claude Code 或 ChatGPT Plus/Pro 订阅来使用 goose——无需按令牌支付 API 费用。”文档列出两个限制:
goose session resume和goose session fork目前尚不支持,而且 ACP 会话 ID 与 goose 会话 ID 不同,因此遥测字段可能无法关联。文档列出的前提条件是 Node.js 和 npm、提供商的 ACP 适配器,以及用于身份验证的厂商账户或订阅——因此该路径通过厂商账户计费,不存在需要指向其他位置的基础 URL。
如果你要离开:根据原因匹配目标工具
| 你为什么要离开 | 适合的情况 | 注意事项 |
|---|---|---|
| 你想要一个社区更大的其他终端代理 | opencode | 其 GitHub 组织已从 sst 迁移到 anomalyco;产品名称、网站和 npm 包未改变。本页面未验证迁移日期,只确认重定向已经生效 |
| 你想要精致的 TUI 和快速发布 | Crush | FSL-1.1-MIT,不是 OSI 开源许可证——它允许任何用途,“Competing Use 除外”。可免费下载并用于普通开发;如果你迁移的原因是许可证,这不是正确的选择 |
| 你在 VS Code 中工作,并想要成熟的扩展 | Cline | 编辑器扩展的工作方式不同于 CLI 代理;你的终端脚本和无头运行不会迁移过去 |
| 你想要更长时间的自主运行,并需要托管选项 | OpenHands | GitHub 组织已从 All-Hands-AI 重命名为 OpenHands,网站为 openhands.dev;未找到针对该品牌重塑的带日期公告 |
| 你想要一个小巧、与编辑器无关的结对编程循环 | Aider | 未归档,但开发节奏已停止:最后一次提交为 2026 年 5 月 22 日,GitHub 上最后一次发布为 2025 年 8 月 9 日的 v0.86.0。应根据这些日期评估它,不要将其视为仍在积极开发的同类工具 |
| 原因是许可证或治理 | goose 已经是 Linux Foundation 项目下采用 Apache-2.0 许可证的工具 | 迁移前请确认你实际获得了什么;opencode 和 OpenHands 采用 MIT 许可证,Cline 采用 Apache-2.0 许可证 |
两个经常出现在榜单文章中、但不应作为目标的名称。Roo Code 已归档:GitHub API 报告 archived: true,其最后一次发布为 2026 年 5 月 15 日的 v3.54.0,此后没有推送。第三方文章提到一个后继分支;本页面未在任何官方来源中确认这一点,因此这里不列出后继项目。Continue 也不是目标——continue.dev 显示横幅“Continue has joined Cursor”,仓库 README 写道,在最后发布 2.0.0 之后,“continuedev/continue 仓库不再积极维护,并且对所有用户均为只读”。其 GitHub 的 archived 标志仍为 false,这与该表述相矛盾;应以 README 中的声明为准。如果你正是从这里出发,请参阅 Continue 替代方案。
同日检查的每个候选方案的状态
| 项目 | 仓库 | 许可证 | 最新版本 | 已归档? |
|---|---|---|---|---|
| goose | aaif-goose/goose | Apache-2.0 | v1.51.0,2026 年 9 月 17 日 | 否 |
| opencode | anomalyco/opencode | MIT | v1.18.31,2026 年 9 月 14 日 | 否 |
| Crush | charmbracelet/crush | FSL-1.1-MIT | v0.96.1,2026 年 9 月 21 日 | 否 |
| Cline | cline/cline | Apache-2.0 | 2026 年 9 月 21 日有推送 | 否 |
| OpenHands | OpenHands/OpenHands | MIT | v1.20.0,2026 年 9 月 17 日 | 否 |
| Aider | Aider-AI/aider | Apache-2.0 | v0.86.0,2025 年 8 月 9 日 | 否,但最后一次提交为 2026 年 5 月 22 日 |
| Roo Code | RooCodeInc/Roo-Code | Apache-2.0 | v3.54.0,2026 年 5 月 15 日 | 是 |
于 2026 年 9 月 21 日从 GitHub API 读取;发布版本号和活动日期会变化,因此在团队统一采用其中任何工具之前,请重新核查。各工具根据其自行发布的条款,对客户端本身的收费情况如下:goose 采用 Apache-2.0 许可证,其安装页面仅说明“你需要确保 LLM 提供商账户中有可用额度,才能成功发出请求”。Cline将 Open Source 列为 Free,将 Enterprise 列为 Custom;OpenHands将 Open Source (Local) 列为 Free,将 Individual (SaaS) 列为 Free,Enterprise 则采用定制报价,模型“按成本提供、不加价”,且未公布美元费率;Crush 的 README 称 Charm Hyper 采用订阅制并提供免费层,但未公布其价格数字。
哪些内容可以从 goose 迁出,哪些不可以
| 你拥有的内容 | 存储位置 | 是否会迁移? |
|---|---|---|
| 项目指令 | AGENTS.md 和 .goosehints,从项目根目录和父目录加载,另加 ~/.config/goose/ | 可以。 goose 原生读取 AGENTS.md,文件名列表由 CONTEXT_FILE_NAMES 设置,因此该文件已经具备可移植性。请确认目标工具读取的名称 |
| 智能体技能 | 带 YAML frontmatter 的 SKILL.md,位于 ~/.agents/skills/ 和 .agents/skills/ 下 | goose 文档声称其可移植,文档称 goose skills 与支持 Agent Skills 约定的代理兼容。这是对该约定的声明,并不保证本页面上的任何工具都会读取它们 |
| 配方 | goose 专用 YAML 或 JSON,包含 title、description 以及 instructions 或 prompt | 不可以。 这里没有任何内容会读取该格式。请预留重新编写的时间,并注意,即使是 goose 自身,.yml 也不受 goose CLI 支持 |
| 会话历史 | 自 1.10.0 版本起存储在 ~/.local/share/goose/sessions/sessions.db 的 SQLite 中 | 不可以。 goose session export 写出 JSON 或 Markdown,而导入功能仅在 goose Desktop 中可用,并且只能从 goose 自有的 JSON 导入。文档未给出 Windows 路径 |
| 提供商 API 密钥 | 系统密钥环;如果不可用,则回退到明文 secrets.yaml;环境变量优先 | 不可以。 goose 不会从 config.yaml 读取密钥,因此没有可复制的内容——请在目标工具中生成或重新输入密钥 |
这五行均来自 goose 自有文档,读取日期为 2026 年 9 月 21 日。需要注意一个冲突:goose 的上下文文件指南将默认文件名列为先 AGENTS.md、后 .goosehints,而其环境变量页面给出的 CONTEXT_FILE_NAMES 默认顺序相反。请依赖文件名集合,而不要依赖哪个文件优先。
回滚成本很低,因此保留它。由于密钥从不存放在 config.yaml 中,而会话位于独立数据库中,安装第二个代理不会干扰正常运行的 goose 设置。保留 goose 的安装,先在候选工具中运行一个真实任务,然后再决定。卸载任何内容前,请导出你在意的会话,因为导出是单向的。
迁移时端点 URL 的形式会改变
这是本页面上最有用的单一迁移事实,也正是设置会悄悄失效的地方。goose 不接受一个基础 URL,而是接受一个主机和一个带默认值的路径:其providers 页面将 OPENAI_HOST 记录为“自定义端点 URL(默认为 api.openai.com)”,将 OPENAI_BASE_PATH 记录为“附加到主机的请求路径(默认为 v1/chat/completions)”。因此,主机是一个不带 /v1 的纯 origin。opencode 和 Crush 都接受一个在其中写入 /v1 的完整基础 URL。
# goose — host and path are SEPARATE. The origin carries no /v1.
OPENAI_API_KEY=sk-kn-...
OPENAI_HOST=https://api.kunavo.com
# OPENAI_BASE_PATH is left unset; its default is v1/chat/completions.
# opencode — one full baseURL, /v1 included, inside opencode.json:
# "options": { "baseURL": "https://api.kunavo.com/v1" }
# Crush — one full --base-url, /v1 included. This is NOT a shell command:
# a crushrc is Bash with Crush builtins, and "provider add" is one of them.
provider add kunavo --type openai-compat \
--base-url "https://api.kunavo.com/v1" --api-key "$KUNAVO_API_KEY"将 goose 的主机字符串直接复制到任一目标工具中,请求就会丢失其 /v1;反向复制,则 goose 会请求 /v1/v1/chat/completions。goose 自己的页面正确解读了该失败:“404 通常意味着你的代理的 OPENAI_BASE_PATH 有误”——这是路径故障,而不是身份验证故障。每个客户端的设置详情位于 goose 集成指南、opencode、Crush、Cline 和 OpenHands 中。这些是从各厂商文档读取的已发布配置参考——Kunavo 未对这些客户端中的任何一个与其端点进行运行时测试,而设置页面不等于测试。
Kunavo 不提供 embedding、text-to-speech 或 speech-to-text 模型,因此工作流中任何通过向量索引代码库或转录音频的步骤,都会继续使用其已有的提供商密钥——将代理的聊天提供商指向这里,并不会迁移这些调用。
一次会话的成本,以及 goose 如何处理缓存
在制定预算前,值得先了解一个缓存细节。goose 的 providers 页面称,使用 Claude 模型并通过 Anthropic、Amazon Bedrock、Databricks、OpenRouter 和 LiteLLM 提供商时,goose“会自动启用 Anthropic 的提示缓存”,其自有文档还说明具体效果:“这会向请求添加 cache_control 标记。”通过 goose 的通用 OpenAI 提供商访问的 Claude 模型不在该列表中,因此 goose 不会在该路径上添加这些标记。这一说法针对的是 Anthropic 基于标记的协议以及 goose 发送的内容,并不涵盖所有缓存方案:如果提供商在服务器端应用缓存,客户端无需做任何处理,而本页面未测试任何特定端点是否会缓存未标记的请求。因此,不要假设该路径有缓存折扣,也不要假设一定没有;下面的数字仅假设没有缓存,这是更保守的方向。
以下数字是说明性的代币算术,不是实测任务成本,也不是账单上限。假设一次代理会话在多个轮次中发送 400,000 个未缓存的输入令牌,并接收 25,000 个输出令牌——这只是说明性假设,因为每个轮次重新发送上下文才是代理会话输入量大的原因。费率是实时的,每百万令牌价格来自 Kunavo 目录。
| 模型 | 每 1M 个令牌的输入 / 输出 | 单次会话估算 |
|---|---|---|
| Claude Haiku 4.5 | $0.70 / $3.50 | $0.367 |
| Claude Sonnet 5 | $1.40 / $7.00 | $0.735 |
| GPT-5.6 Sol | $2.00 / $12.00 | $1.100 |
在将其视为预算之前,请按你每天的会话数进行缩放,并注意:列出的最低费率与完成任务的最低成本是不同的说法;需要三次尝试的模型,成本可能高于只需一次尝试的模型。Kunavo 目录金额是计费下限,而不是上限——当上游报告其费用时,账单取目录成本与上游成本乘以适用加价二者中的较高者。缓存费用和外部工具不包含在此示例中。预付额度的最低充值金额为$10,这是充值最低限额,而不是任务费用或订阅费;请参阅计费详情。
在购买任何东西之前,值得先尝试 goose 自身文档中介绍的两条免费路径:其安装页面写道:“你首次通过 goose 使用 Tetrate 自动完成身份验证时,将获得 $10 免费额度”,并指出 Google Gemini 提供免费层供开始使用,但未给出配额数值。
接下来
想继续使用 goose,只更换模型路由?goose 与 Claude Code 对比介绍 ACP 与 API 之间的选择。想迁移?opencode 替代方案、Crush 与 opencode 对比以及 OpenHands 与 opencode 对比比较各个客户端;Cline 定价和 Aider 定价介绍各自的收费情况。如果你希望在其中多个客户端之间共用一个密钥,请创建 Kunavo 账户并运行一项有边界的任务,然后再让团队投入使用。
常见问题
goose 是停止维护还是已被弃用?
不是。goose 已从 block/goose GitHub 组织迁移到 aaif-goose/goose,成为 Linux Foundation 旗下 Agentic AI Foundation 的一个项目;该项目自己的博客于 2026 年 4 月 7 日由首席工程师 Michael Neale 宣布了这一变更。2026 年 9 月 21 日,GitHub API 报告该仓库未归档、采用 Apache-2.0 许可证,最近一次推送发生在同一天,v1.51.0 于 2026 年 9 月 17 日发布。Block 这个名称仍出现在 Homebrew cask(block-goose)、VS Code 扩展 ID(block.vscode-goose)和 Windows 配置目录中,因此项目在搜索结果中可能看起来已经退役,实际并非如此。
goose 和 goose.ai 是同一个东西吗?
不是,这是该搜索查询中最常见的混淆。goose.ai 是一项托管式 NLP 推理服务,其网站称该服务由 CoreWeave 和 Anlatan 合资运营;其主页没有提到编码代理、CLI 或代码仓库(截至 2026 年 9 月 21 日检查)。编码代理 goose 是 aaif-goose/goose 下采用 Apache-2.0 许可证的开源项目,文档位于 goose-docs.ai。你看到的附着于 goose.ai 名称的任何按请求价格,描述的都是推理服务,而不是该代理。在 GitHub 上还存在两处名称冲突:pressly/goose 是 Go 数据库迁移工具,goose-lang/goose 可将 Go 的一个子集转换为 Rocq。
最好的 goose 开源替代方案是什么?
这取决于你要替换的是哪项特性,而且 goose 本身已经采用 Apache-2.0 许可证,因此许可证通常很少会成为原因。对于拥有大型社区的终端代理,opencode 采用 MIT 许可证,并于 2026 年 9 月 14 日发布 v1.18.31;其 GitHub 组织已从 sst 迁移到 anomalyco,但名称、网站和 npm 包保持不变。对于 VS Code 扩展工作流,Cline 采用 Apache-2.0 许可证,并于 2026 年 9 月 21 日有推送。对于较长时间的自主运行以及托管选项,OpenHands 采用 MIT 许可证,并于 2026 年 9 月 17 日发布 v1.20.0。Crush 仍在积极发布——v0.96.1 于 2026 年 9 月 21 日发布——但其许可证为 FSL-1.1-MIT,排除了 Competing Use,且不是 OSI 开源许可证;因此,如果你离开 goose 的原因是许可证,它就不是正确的选择。所有信息均于 2026 年 9 月 21 日检查。
切换代理时,我可以保留 goose 配置吗?
部分可以。项目指令可以迁移,因为 goose 已经会读取 AGENTS.md 以及 .goosehints,而文件名列表由 CONTEXT_FILE_NAMES 环境变量设置,所以在迁移之前该文件已经是可移植格式——请在目标工具自己的文档中确认它读取的文件名。goose 配方无法迁移:它们采用 goose 专用的 YAML 或 JSON 格式,包含 title、description 以及 instructions 或 prompt,其他工具都无法读取,因此需要重新编写,而不是导出。会话历史也无法迁移:从 1.10.0 版本起,goose 将会话存储在 ~/.local/share/goose/sessions/sessions.db 的 SQLite 数据库中,而 goose session export 写出的 JSON 或 Markdown 只能由 goose Desktop 再次导入。API 密钥完全不能从配置文件中复制,因为 goose 不会从 config.yaml 读取提供商密钥——密钥存储在系统密钥环中;没有可用密钥环时,则存储在 secrets.yaml 中。
为什么新代理使用与 goose 相同的 URL 时会返回 404?
因为 goose 对端点的写法与几乎所有其他工具都不同。goose 将其拆成两部分:OPENAI_HOST 的文档定义是“自定义端点 URL(默认为 api.openai.com)”,OPENAI_BASE_PATH 的定义是“附加到主机的请求路径(默认为 v1/chat/completions)”,因此主机字段填写不带 /v1 的纯 origin,由 goose 自行追加路径。opencode 和 Crush 都接受一个包含 /v1 的完整基础 URL。将 goose 的主机字符串复制到其中任一工具会生成缺少 /v1 的 URL,反向复制则会生成 /v1/v1/chat/completions。goose 自己的 providers 页面将 404 解读为代理的基础路径错误,而不是身份验证故障(截至 2026 年 9 月 21 日检查)。
离开 goose 后,我必须按令牌付费吗?
不一定,而且在迁移之前值得先检查,因为 goose 已经提供了可以避免这种情况的路径。goose 的 ACP 提供商——Claude ACP、Codex ACP、Amp ACP 和 Pi ACP——文档说明它们可以“使用你现有的 Claude Code 或 ChatGPT Plus/Pro 订阅来使用 goose——无需按令牌支付 API 费用”。文档列出的前提条件是 Node.js 和 npm、提供商的 ACP 适配器,以及用于身份验证的厂商账户或订阅;因此,该路径通过厂商账户计费,而不是通过你指向某个基础 URL 的 API 密钥计费。文档明确列出两个限制:目前不支持 goose session resume 和 goose session fork,而且 ACP 会话 ID 与 goose 会话 ID 不同,因此遥测字段可能无法关联。检查日期:2026 年 9 月 21 日。
撰写本页面时于 2026 年 9 月 21 日核查:通过 GitHub API 核查全部七个项目的仓库状态、许可证和最新发布版本;通过直接请求核查 block/goose 和 sst/opencode 的重定向以及 block.github.io/goose 的响应;核查 Homebrew cask 元数据;核查 goose 的博客文章,以及提供商、ACP、环境变量、安装、配置文件、会话管理、上下文文件、技能、Zed ACP、配方参考和 VS Code 扩展页面;核查 Crush 的 README 和 LICENSE.md;核查 Continue 的 README 和 continue.dev;以及 Cline、OpenHands 和 goose.ai 网站。未核查:任何运行时行为——未使用本页面中的任何客户端连接 Kunavo 端点运行。Kunavo 令牌费率读取自实时目录,本文所有美元示例均为说明性的令牌费用算术计算。