From 48838c91c40a2fdffc2565ca135b8058baec3530 Mon Sep 17 00:00:00 2001 From: Yingjie He Date: Tue, 4 Mar 2025 11:05:23 -0800 Subject: [PATCH] docs: update the goose mode for desktop and smart approve (#1503) Co-authored-by: Angie Jones --- .../docs/guides/goose-permissions.md | 200 ++++++++++++------ 1 file changed, 138 insertions(+), 62 deletions(-) diff --git a/documentation/docs/guides/goose-permissions.md b/documentation/docs/guides/goose-permissions.md index d802059042..a5db1d23c4 100644 --- a/documentation/docs/guides/goose-permissions.md +++ b/documentation/docs/guides/goose-permissions.md @@ -2,31 +2,33 @@ sidebar_position: 3 title: Goose Permissions --- + import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# Managing Goose Permissions +# Managing Goose Modes -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. ## Permission Modes -| Mode | Description | Best For | -|------------|------------|---------| -| **Auto Mode** | Goose can modify files, use extensions, and delete files **without requiring approval**. | Users who want **full automation** and seamless integration into their workflow. | +| Mode | Description | Best For | +| ---------------- | ------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| **Auto Mode** | Goose can modify files, use extensions, and delete files **without requiring approval**. | Users who want **full automation** and seamless integration into their workflow. | | **Approve Mode** | Goose **asks for confirmation** before modifying, creating, deleting files and before using extensions. | Users who want to **review and approve** changes and extension use before they happen. | -| **Chat Mode** | Goose **only engages in chat**, with no extension use or file modifications. | Users who prefer a **conversational AI experience** without automation. | +| **Chat Mode** | Goose **only engages in chat**, with no extension use or file modifications. | Users who prefer a **conversational AI experience** without automation. | :::warning - `Auto Mode` is applied by default unless you specify otherwise. +`Auto Mode` is applied by default. ::: -## Configuring Goose Permissions -Here's how to configure your chosen goose permissions: +## Configuring Goose Mode + +Here's how to configure: - 1. Run the following command: + 1. Run the following command: ```sh goose configure @@ -35,61 +37,135 @@ Here's how to configure your chosen goose permissions: 2. Select `Goose Settings` from the menu and press Enter. ```sh - ┌ goose-configure - │ - ◆ What would you like to configure? - | ○ Configure Providers - | ○ Add Extension - | ○ Toggle Extensions - | ○ Remove Extension - // highlight-start - | ● Goose Settings (Set the Goose Mode, Tool Output, Experiment and more) - // highlight-end - └ - ``` - 3. Choose `Goose Mode` from the menu and press Enter. + ┌ goose-configure + │ + ◆ What would you like to configure? + | ○ Configure Providers + | ○ Add Extension + | ○ Toggle Extensions + | ○ Remove Extension + // highlight-start + | ● Goose Settings (Set the Goose Mode, Tool Output, Experiment and more) + // highlight-end + └ + ``` - ```sh - ┌ goose-configure - │ - ◇ What would you like to configure? - │ Goose Settings - │ - ◆ What setting would you like to configure? - // highlight-start - │ ● Goose Mode (Configure Goose mode) - // highlight-end - | ○ Tool Output - └ - ``` - 4. Choose the Goose mode you would like to configure. + 3. Choose `Goose Mode` from the menu and press Enter. + + ```sh + ┌ goose-configure + │ + ◇ What would you like to configure? + │ Goose Settings + │ + ◆ What setting would you like to configure? + // highlight-start + │ ● Goose Mode (Configure Goose mode) + // highlight-end + | ○ Tool Output + └ + ``` + + 4. Choose the Goose mode you would like to configure. + + ```sh + ┌ 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? + // highlight-start + │ ● Auto Mode + // highlight-end + | ○ Approve Mode + | ○ Chat Mode + | + └ Set to Auto Mode - full file modification enabled + ``` - ```sh - ┌ 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? - // highlight-start - │ ● Auto Mode - // highlight-end - | ○ Approve Mode - | ○ Chat Mode - | - └ Set to Auto Mode - full file modification enabled - ``` - :::info 🚀 Goose Modes in Desktop – Coming Soon! - Currently, Goose Modes can only be configured via the CLI. - - By default, Goose Desktop operates in **Auto Mode**, allowing full automation. - - A future update will bring **Goose Mode selection** to the Desktop app. Stay tuned! + + 1. Click `...` in the upper right corner + 2. Click `Settings` + 3. Scroll down to `Others` section + 4. Under `Mode Selection`, choose the mode you'd like + + :::info + If you choose `Approve` mode, you will see "Allow" and "Deny" buttons in your session windows during tool calls with write operations. ::: + - \ No newline at end of file + + + +## Smart Approve + +Goose introduces the **Smart Approve** feature when the Goose mode is set to `Approve`. With Smart Approve enabled, Goose evaluates the risk level of a tool call before execution. + +- **If the tool call is deemed risky (e.g. tool requires Goose to write)**, Goose will prompt you for confirmation before proceeding. +- **If the tool call is considered safe**, Goose will execute it directly without any notification. + +This feature is enabled by default. If you wish to disable Smart Approve, you can + +1. Run the following command: + +```sh +goose configure +``` + +2. Select `Goose Settings` from the menu and press Enter. + +```sh +┌ goose-configure +│ +◆ What would you like to configure? +| ○ Configure Providers +| ○ Add Extension +| ○ Toggle Extensions +| ○ Remove Extension +// highlight-start + | ● Goose Settings (Set the Goose Mode, Tool Output, Experiment and more) +// highlight-end +└ +``` + +3. Choose `Toggle Experiment` from the menu and press Enter. + +```sh +┌ goose-configure +│ +◇ What would you like to configure? +│ Goose Settings +│ +◆ What setting would you like to configure? +│ ○ Goose Mode +│ ○ Tool Output +// highlight-start +│ ● Toggle Experiment (Enable or disable an experiment feature) +// highlight-end +└ +``` + +4. Toggle `GOOSE_SMART_APPROVE` and press Enter. + +```sh +┌ goose-configure +┌ goose-configure +│ +◇ What would you like to configure? +│ Goose Settings +│ +◇ What setting would you like to configure? +│ Toggle Experiment +│ +◆ enable experiments: (use "space" to toggle and "enter" to submit) +// highlight-start +│ ◼ GOOSE_SMART_APPROVE +// highlight-end +└ +```