goose 权限模式
goose 的权限模式决定了它在修改文件、使用扩展和执行自动化操作时拥有多大自治权。通过选择不同模式,你可以精确控制 goose 与开发环境的交互边界。
权限模式视频演示
权限模式
| Mode | Description | Best For |
|---|---|---|
| Completely Autonomous | goose 可以无需审批地修改文件、使用扩展和删除文件 | 希望获得完全自动化体验,并把 goose 深度接入日常流程的用户 |
| Manual Approval | goose 在使用任何工具或扩展前都会逐项请求确认(支持细粒度工具权限) | 希望逐项审查并批准每次变更和工具调用的用户 |
| Smart Approval | goose 基于风险判断,自动放行低风险操作,并对其他操作请求审批(支持细粒度工具权限) | 希望在自治和可控之间取得平衡的用户 |
| Chat Only | goose 只参与聊天,不会使用扩展,也不会修改文件 | 只想获得对话式 AI 能力,用于分析、写作、推理而不做自动操作的用户 |
warning
默认启用的是 Autonomous Mode。
配置 goose mode
可以按下面的方法进行配置:
- goose Desktop
- goose CLI
你可以在会话开始前或会话进行中切换模式,修改会立即生效。
- 会话中切换
- 在 Settings 中配置
点击应用底部菜单中的 模式按钮。
- 点击左上角的 按钮打开侧边栏。
- 点击侧边栏中的
Settings。 - 点击
Chat。 - 在
Mode下选择你想使用的模式。
- 会话中切换
- 在 Settings 中配置
如果要在会话中途切换模式,可以使用 /mode 命令。
- Autonomous:
/mode auto - Smart Approve:
/mode smart_approve - Approve:
/mode approve - Chat:
/mode chat
- 运行以下命令:
goose configure
- 在菜单中选择
goose settings并回车。
┌ goose-configure
│
◆ What would you like to configure?
| ○ Configure Providers
| ○ Add Extension
| ○ Toggle Extensions
| ○ Remove Extension
| ● goose settings (Set the goose mode, Tool Output, Tool Permissions, Experiment, goose recipe github repo and more)
└
- 选择
goose mode并回车。
┌ goose-configure
│
◇ What would you like to configure?
│ goose settings
│
◆ What setting would you like to configure?
│ ● goose mode (Configure goose mode)
│ ○ Router Tool Selection Strategy
│ ○ Tool Permission
│ ○ Tool Output
│ ○ Max Turns
│ ○ Toggle Experiment
│ ○ goose recipe github repo
│ ○ Scheduler Type
└
- 选择你想配置的 goose mode。
┌ goose-configure
│
◇ What would you like to configure?
│ goose settings
│
◇ What setting would you like to configure?
│ goose mode
│
◆ Which goose mode would you like to configure?
│ ● Auto Mode (Full file modification, extension usage, edit, create and delete files freely)
| ○ Approve Mode
| ○ Smart Approve Mode
| ○ Chat Mode
|
└ Set to Auto Mode - full file modification enabled
info
在 manual 和 smart approval 模式下,当发生工具调用时,你会在会话窗口中看到 “Allow” 和 “Deny” 按钮。
goose 通常只会对它判断为“写操作”的工具请求审批,例如文本编辑器写入 / 编辑,或 bash - rm, cp, mv 这类命令。
读 / 写分类本质上是一个 best-effort 判断,最终解释仍然依赖你使用的 LLM provider。