Goose CLI 命令速查表 - Block/Linux 基金会 AAIF 代理全参数

Goose 是 Linux 基金会 AAIF 旗下的通用型终端 AI 代理(Rust,Apache-2.0),面向需要一个能在本地操作文件、执行命令、接入 15+ 模型提供商与 70+ MCP 扩展的通才 Agent 的开发者与运维。相比专注编码的代理,Goose 定位更宽,适合把日常自动化与跨工具复杂工作流交给同一个 Agent;本表帮你掌握交互会话、一次性运行、扩展管理与故障诊断(goose doctor)。

AI 命令行·共 30 条命令·最后更新 2026-08-21

会话与运行 5

goose session
启动交互式会话(默认)
goose session --name feat/login
命名会话便于后续恢复
goose session --resume
恢复上一个会话
goose run "重构 utils 模块"
一次性非交互运行任务
goose run --stdin
从标准输入读取任务说明

配置与认证 5

goose configure
交互式配置 provider/key
goose configure extensions
配置扩展连接
export GOOSE_PROVIDER=anthropic
设置 provider 环境变量
export GOOSE_MODEL=claude-sonnet
设置默认模型
export ANTHROPIC_API_KEY=sk-ant-...
设置模型 API key

扩展(MCP)管理 5

goose extensions list
列出已安装扩展
goose extensions add <name>
添加扩展
goose extensions remove <name>
移除扩展
goose session -e <ext>
本次会话启用指定扩展
goose configure extensions
交互配置扩展清单

食谱(Recipe)与诊断 5

goose cook recipe.yaml
按 recipe 文件执行多步工作流
goose doctor
诊断环境/配置问题
goose logs
查看运行日志
goose update
升级 Goose 到最新版
goose completion bash
生成 shell 补全脚本

服务与调试 5

goose server start
启动 Goose 服务
goose server stop
停止服务
goose server status
查看服务状态
goose sessions list
列出历史会话
goose chat
直接进入聊天模式

全局标志位 5

goose run -v "任务"
详细日志(--verbose)
goose session --session-id <id>
指定会话 ID
goose run --profile prod
使用指定 profile 运行
goose configure --help
查看配置子命令帮助
goose --version
查看版本号

命令示例

给这次会话起名字,方便日后按名恢复

goose session --name feat/login

未命名会话只能靠 --resume 恢复最近一个;同时开多个会话时,命名是唯一能把某个会话准确找回来的办法。

一次性任务开详细日志,便于回看每一步

goose run -v "refactor the utils module"

goose run 是不进交互的一次性执行,-v 把逐轮过程打出来。任务结果不对时先加上 -v 重跑一次,比事后翻日志更快定位。

在当前 shell 里切好 provider 与模型,再临时挂一个扩展开会话

export GOOSE_PROVIDER=anthropic export GOOSE_MODEL=claude-sonnet export ANTHROPIC_API_KEY=sk-ant-... goose session -e <ext>

环境变量只对之后启动的进程生效;-e 挂的扩展仅本次会话可用,退出后不会写进扩展清单。

用 recipe 跑固定的多步工作流

goose cook recipe.yaml

recipe 是 recipe 与步骤的声明式描述,适合写进仓库当团队共用流程。执行出问题先跑 goose doctor 看环境,再跑 goose logs 看这次到底走到哪一步。

常见坑与注意事项

  • export ANTHROPIC_API_KEY=sk-ant-... 会把明文密钥留在当前 shell 历史里,生产机上更不要手敲;密钥统一走 goose configure 写入受限权限的配置文件。
  • goose extensions remove 是真的把扩展卸掉,不是停用;依赖它的 recipe 和会话会随之失败,删之前先用 goose extensions list 确认没有 workflow 正在用。
  • goose session 与 goose run 都可能在工作区里改文件,跑之前先确认工作区干净、有可回滚的提交,别在唯一的未推送副本上试。
  • goose server start 起的是常驻服务,会长期持有你的 provider 凭据并占用端口;用完记得 goose server stop,状态用 goose server status 确认。
  • goose logs 会记录完整提示词、文件内容和 API 返回,分享日志给别人之前先脱敏;goose update 会替换本地二进制,正在跑的会话应先正常退出。

提示

  • Goose 现归 Linux Foundation AAIF,Rust + Apache-2.0,15+ provider 与 70+ MCP 扩展,企业采用上升,适合做"通用桌面代理"占位。
  • 把常用流程写成 recipe.yaml 用 goose cook 跑,比每次手敲提示词更可复现,也便于团队共享。
  • provider/model 走环境变量(GOOSE_PROVIDER/GOOSE_MODEL)或 profile,便于在 prod/dev 间切换而不改命令。
  • 环境异常先 goose doctor 再 goose logs,大多数配置/扩展问题能自助定位。

常见问题

goose session 和 goose chat 有什么区别,该怎么选?

goose session 启动的是完整的交互式会话,代理可以读写工作区文件、执行命令、并按需挂载扩展;goose chat 则直接进入偏纯对话的模式,适合只想聊、不想让它动文件的时候。默认启动就是 goose session,需要纯问答时用 goose chat。

怎样让一个多步任务可以被反复执行,而不是每次手敲一遍提示词?

把步骤写成 recipe.yaml 描述文件,再用 goose cook recipe.yaml 执行。同一个 recipe 可以反复跑、可以提交进仓库共享,比在提示词里反复描述流程可靠得多。

同一套命令怎么在 dev 和 prod 之间切换模型?

两条路:一条是用 export GOOSE_PROVIDER 与 export GOOSE_MODEL 改当前 shell 的默认 provider 与模型;另一条是给命令加 --profile,例如 goose run --profile prod,走 profile 里的那套配置。环境变量必须在启动 Goose 之前就 export 到当前 shell,事后改不会影响已开着的会话。

只想在这一次会话里多挂一个扩展,不想改全局配置,怎么做?

用 goose session -e 加扩展名,本会话内生效,退出即失效。日常维护扩展清单仍然走 goose extensions add / remove,或者进 goose configure extensions 交互配置。

上次那个会话怎么找回来继续?

goose sessions list 列出全部历史会话(带会话 ID),goose session --resume 直接恢复最近一次会话;知道确切 ID 时用 goose session --session-id 加 ID 精确续接。恢复错误的 ID 会把新任务接到旧上下文上,所以先 list 再挑。

官方参考来源

下方为命令对应的官方权威文档,供你核对最新用法与深入查阅。

由 巧匠 维护

公开更新于 2026年8月21日,内容持续校对官方文档。

联系我们

命令或描述有误?提交反馈、商务合作或产品建议都可发送邮件给我们。

联系我们