docs: add access control section to Developer tutorial (#5615)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -29,7 +29,7 @@ The following settings can be configured at the root level of your config.yaml f
|
||||
| `GOOSE_PROVIDER` | Primary [LLM provider](/docs/getting-started/providers) | "anthropic", "openai", etc. | None | Yes |
|
||||
| `GOOSE_MODEL` | Default model to use | Model name (e.g., "claude-3.5-sonnet", "gpt-4") | None | Yes |
|
||||
| `GOOSE_TEMPERATURE` | Model response randomness | Float between 0.0 and 1.0 | Model-specific | No |
|
||||
| `GOOSE_MODE` | [Tool execution behavior](/docs/guides/goose-permissions) | "auto", "approve", "chat", "smart_approve" | "smart_approve" | No |
|
||||
| `GOOSE_MODE` | [Tool execution behavior](/docs/guides/goose-permissions) | "auto", "approve", "chat", "smart_approve" | "auto" | No |
|
||||
| `GOOSE_MAX_TURNS` | [Maximum number of turns](/docs/guides/sessions/smart-context-management#maximum-turns) allowed without user input | Integer (e.g., 10, 50, 100) | 1000 | No |
|
||||
| `GOOSE_LEAD_PROVIDER` | Provider for lead model in [lead/worker mode](/docs/guides/environment-variables#leadworker-model-configuration) | Same as `GOOSE_PROVIDER` options | Falls back to `GOOSE_PROVIDER` | No |
|
||||
| `GOOSE_LEAD_MODEL` | Lead model for lead/worker mode | Model name | None | No |
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
---
|
||||
sidebar_position: 25
|
||||
title: Goose Permission Modes
|
||||
sidebar_label: Goose Permissions
|
||||
title: goose Permission Modes
|
||||
sidebar_label: goose Permissions
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
import { PanelLeft } from 'lucide-react';
|
||||
import { PanelLeft, Tornado } from 'lucide-react';
|
||||
|
||||
Goose’s permissions determine how much autonomy it has when modifying files, using extensions, and performing automated actions. By selecting a permission mode, you have full control over how Goose interacts with your development environment.
|
||||
goose’s permissions determine how much autonomy it has when modifying files, using extensions, and performing automated actions. By selecting a permission mode, you have full control over how goose interacts with your development environment.
|
||||
|
||||
<details>
|
||||
<summary>Permission Modes Video Walkthrough</summary>
|
||||
@@ -24,19 +24,18 @@ Goose’s permissions determine how much autonomy it has when modifying files, u
|
||||
|
||||
## Permission Modes
|
||||
|
||||
| Mode | Description | Best For |
|
||||
|--------------------|-------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------|
|
||||
| **Completely Autonomous** | Goose can modify files, use extensions, and delete files **without requiring approval**. | Users who want **full automation** and seamless integration into their workflow. |
|
||||
| **Manual Approval**| Goose **asks for confirmation** before using any tools or extensions. | Users who want to **review and approve** every change and tool usage. |
|
||||
| **Smart Approval** | Goose uses a risk-based approach to **automatically approve low-risk actions** and **flag others** for approval. | Users who want a **balanced mix of autonomy and oversight** based on the action’s impact. |
|
||||
| **Chat Only** | Goose **only engages in chat**, with no extension use or file modifications. | Users who prefer a **conversational AI experience** for analysis, writing, and reasoning tasks without automation. |
|
||||
|
|
||||
| Mode | Description | Best For |
|
||||
|------|-------------|----------|
|
||||
| **Completely Autonomous** | goose can modify files, use extensions, and delete files **without requiring approval** | Users who want **full automation** and seamless integration into their workflow |
|
||||
| **Manual Approval** | goose **asks for confirmation** before using any tools or extensions (supports granular [tool permissions](/docs/guides/managing-tools/tool-permissions)) | Users who want to **review and approve** every change and tool usage |
|
||||
| **Smart Approval** | goose uses a risk-based approach to **automatically approve low-risk actions** and **flag others** for approval (supports granular [tool permissions](/docs/guides/managing-tools/tool-permissions)) | Users who want a **balanced mix of autonomy and oversight** based on the action’s impact |
|
||||
| **Chat Only** | goose **only engages in chat**, with no extension use or file modifications | Users who prefer a **conversational AI experience** for analysis, writing, and reasoning tasks without automation |
|
||||
|
||||
:::warning
|
||||
`Autonomous Mode` is applied by default.
|
||||
:::
|
||||
|
||||
## Configuring Goose Mode
|
||||
## Configuring goose mode
|
||||
|
||||
Here's how to configure:
|
||||
|
||||
@@ -48,7 +47,7 @@ Here's how to configure:
|
||||
<Tabs groupId="method">
|
||||
<TabItem value="session" label="In Session" default>
|
||||
|
||||
Click the Goose Mode option from the bottom menu.
|
||||
Click the <Tornado className="inline" size={16} /> mode button from the bottom menu.
|
||||
</TabItem>
|
||||
<TabItem value="settings" label="From Settings">
|
||||
1. Click the <PanelLeft className="inline" size={16} /> button on the top-left to open the sidebar.
|
||||
@@ -76,7 +75,7 @@ Here's how to configure:
|
||||
goose configure
|
||||
```
|
||||
|
||||
2. Select `Goose Settings` from the menu and press Enter.
|
||||
2. Select `goose settings` from the menu and press Enter.
|
||||
|
||||
```sh
|
||||
┌ goose-configure
|
||||
@@ -87,41 +86,47 @@ Here's how to configure:
|
||||
| ○ Toggle Extensions
|
||||
| ○ Remove Extension
|
||||
// highlight-start
|
||||
| ● Goose Settings (Set the Goose Mode, Tool Output, Experiment and more)
|
||||
| ● goose settings (Set the goose mode, Tool Output, Tool Permissions, Experiment, goose recipe github repo and more)
|
||||
// highlight-end
|
||||
└
|
||||
```
|
||||
|
||||
3. Choose `Goose Mode` from the menu and press Enter.
|
||||
3. Choose `goose mode` from the menu and press Enter.
|
||||
|
||||
```sh
|
||||
┌ goose-configure
|
||||
│
|
||||
◇ What would you like to configure?
|
||||
│ Goose Settings
|
||||
│ goose settings
|
||||
│
|
||||
◆ What setting would you like to configure?
|
||||
// highlight-start
|
||||
│ ● Goose Mode (Configure Goose mode)
|
||||
│ ● goose mode (Configure goose mode)
|
||||
// highlight-end
|
||||
| ○ Tool Output
|
||||
│ ○ Router Tool Selection Strategy
|
||||
│ ○ Tool Permission
|
||||
│ ○ Tool Output
|
||||
│ ○ Max Turns
|
||||
│ ○ Toggle Experiment
|
||||
│ ○ goose recipe github repo
|
||||
│ ○ Scheduler Type
|
||||
└
|
||||
```
|
||||
|
||||
4. Choose the Goose mode you would like to configure.
|
||||
4. Choose the goose mode you would like to configure.
|
||||
|
||||
```sh
|
||||
┌ goose-configure
|
||||
│
|
||||
◇ What would you like to configure?
|
||||
│ Goose Settings
|
||||
│ goose settings
|
||||
│
|
||||
◇ What setting would you like to configure?
|
||||
│ Goose Mode
|
||||
│ goose mode
|
||||
│
|
||||
◆ Which Goose mode would you like to configure?
|
||||
◆ Which goose mode would you like to configure?
|
||||
// highlight-start
|
||||
│ ● Auto Mode
|
||||
│ ● Auto Mode (Full file modification, extension usage, edit, create and delete files freely)
|
||||
// highlight-end
|
||||
| ○ Approve Mode
|
||||
| ○ Smart Approve Mode
|
||||
@@ -135,8 +140,8 @@ Here's how to configure:
|
||||
</Tabs>
|
||||
|
||||
:::info
|
||||
If you choose `Manual` (in Goose Desktop) or `Approve Mode` (in Goose CLI), you will see "Allow" and "Deny" buttons in your session windows during tool calls.
|
||||
Goose will only ask for permission for tools that it deems are 'write' tools, e.g. any 'text editor write', 'text editor edit', 'bash - rm, cp, mv' commands.
|
||||
In manual and smart approval modes, you will see "Allow" and "Deny" buttons in your session windows during tool calls.
|
||||
goose will only ask for permission for tools that it deems are 'write' tools, e.g. any 'text editor write', 'text editor edit', 'bash - rm, cp, mv' commands.
|
||||
|
||||
Read/write approval makes best effort attempt at classifying read or write tools. This is interpreted by your LLM provider.
|
||||
:::
|
||||
|
||||
@@ -21,7 +21,7 @@ Subagents are independent instances that execute tasks while keeping your main c
|
||||
## How to Use Subagents
|
||||
|
||||
:::tip Autonomous Subagent Creation
|
||||
goose can autonomously decide to use subagents when it determines they would be beneficial for your task - you don't always need to explicitly request them. This happens automatically in autonomous mode (the default). Subagents are disabled in chat-only mode.
|
||||
goose can autonomously decide to use subagents when it determines they would be beneficial for your task - you don't always need to explicitly request them. This happens automatically in autonomous [permission mode](/docs/guides/goose-permissions) (the default). Subagents are disabled in manual approval, smart approval, and chat-only modes.
|
||||
:::
|
||||
|
||||
To use subagents, ask goose to delegate tasks using natural language. goose automatically decides when to spawn subagents and handles their lifecycle. You can:
|
||||
|
||||
Reference in New Issue
Block a user