From dcca542708409b041c157a835d302298bec99070 Mon Sep 17 00:00:00 2001 From: angiejones Date: Tue, 25 Mar 2025 17:26:16 +0100 Subject: [PATCH 1/2] docs: updated docs for smart approval mode --- crates/goose-cli/src/commands/configure.rs | 2 +- documentation/docs/guides/goose-permissions.md | 15 +++++++++------ .../settings/basic/ConfigureApproveMode.tsx | 2 +- .../settings/basic/ModeSelectionItem.tsx | 2 +- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/crates/goose-cli/src/commands/configure.rs b/crates/goose-cli/src/commands/configure.rs index 2d20db5c7348..ec81b0b4f508 100644 --- a/crates/goose-cli/src/commands/configure.rs +++ b/crates/goose-cli/src/commands/configure.rs @@ -784,7 +784,7 @@ pub fn configure_goose_mode_dialog() -> Result<(), Box> { .item( "approve", "Approve Mode", - "All tools, extensions and file modificatio will require human approval" + "All tools, extensions and file modifications will require human approval" ) .item( "smart_approve", diff --git a/documentation/docs/guides/goose-permissions.md b/documentation/docs/guides/goose-permissions.md index c4673505ad4f..de7a91794e8f 100644 --- a/documentation/docs/guides/goose-permissions.md +++ b/documentation/docs/guides/goose-permissions.md @@ -12,14 +12,16 @@ Goose’s permissions determine how much autonomy it has when modifying files, u ## 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. | -| **Approve Mode** | Goose **asks for confirmation** before all tools and extensions. | Users who want to **review and approve** any 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. | +| 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** without automation. | + | :::warning -`Auto Mode` is applied by default. +`Autonoumous Mode` is applied by default. ::: ## Configuring Goose Mode @@ -82,6 +84,7 @@ Here's how to configure: │ ● Auto Mode // highlight-end | ○ Approve Mode + | ○ Smart Approve Mode | ○ Chat Mode | └ Set to Auto Mode - full file modification enabled diff --git a/ui/desktop/src/components/settings/basic/ConfigureApproveMode.tsx b/ui/desktop/src/components/settings/basic/ConfigureApproveMode.tsx index dc4d04b0a67b..621ee3f503f9 100644 --- a/ui/desktop/src/components/settings/basic/ConfigureApproveMode.tsx +++ b/ui/desktop/src/components/settings/basic/ConfigureApproveMode.tsx @@ -18,7 +18,7 @@ export function ConfigureApproveMode({ { key: 'approve', label: 'Manual Approval', - description: 'All tools, extensions and file modificatio will require human approval', + description: 'All tools, extensions and file modifications will require human approval', }, { key: 'smart_approve', diff --git a/ui/desktop/src/components/settings/basic/ModeSelectionItem.tsx b/ui/desktop/src/components/settings/basic/ModeSelectionItem.tsx index ff97c0bb0669..f9de90ce27df 100644 --- a/ui/desktop/src/components/settings/basic/ModeSelectionItem.tsx +++ b/ui/desktop/src/components/settings/basic/ModeSelectionItem.tsx @@ -17,7 +17,7 @@ export const all_goose_modes: GooseMode[] = [ { key: 'approve', label: 'Manual Approval', - description: 'All tools, extensions and file modificatio will require human approval', + description: 'All tools, extensions and file modifications will require human approval', }, { key: 'smart_approve', From 8e5c4ce69629d26a7bfec59986f4a906ae96ff7e Mon Sep 17 00:00:00 2001 From: angiejones Date: Tue, 25 Mar 2025 18:46:58 +0100 Subject: [PATCH 2/2] added in-session CLI instructions --- .../docs/guides/goose-permissions.md | 151 ++++++++++-------- 1 file changed, 82 insertions(+), 69 deletions(-) diff --git a/documentation/docs/guides/goose-permissions.md b/documentation/docs/guides/goose-permissions.md index de7a91794e8f..d5332b03b80b 100644 --- a/documentation/docs/guides/goose-permissions.md +++ b/documentation/docs/guides/goose-permissions.md @@ -30,85 +30,98 @@ Here's how to configure: - 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 `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 - | ○ Smart Approve Mode - | ○ Chat Mode - | - └ Set to Auto Mode - full file modification enabled - ``` + + + To change modes mid-session, use the `/mode` command. + + * Autonoumous: `/mode auto` + * Approve: `/mode approve` + * Chat: `/mode chat` + + + 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 `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 + | ○ Smart Approve Mode + | ○ Chat Mode + | + └ Set to Auto Mode - full file modification enabled + ``` + + You can change modes before or during a session and it will take effect immediately. - **From Settings** - - 1. Click `...` in the upper right corner - 2. Click `Settings` - 3. Under `Mode Selection`, choose the mode you'd like - - **Within Session** - - Click the Goose Mode option from the bottom menu. + + + Click the Goose Mode option from the bottom menu. + + + 1. Click `...` in the upper right corner + 2. Click `Settings` + 3. 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. 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. + If you choose `Approve` mode, 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. :::