From e62a21424343a165e191bad510402fd1a1bc2ed4 Mon Sep 17 00:00:00 2001 From: Diane Diaz Date: Tue, 19 Aug 2025 10:34:04 -0700 Subject: [PATCH 1/3] openrouter and ollama easy setup --- .../docs/assets/guides/set-up-provider-ui.png | Bin 76940 -> 0 bytes .../docs/getting-started/installation.md | 35 +++++++------ .../docs/getting-started/providers.md | 3 +- documentation/docs/quickstart.md | 26 +++++----- documentation/src/components/Constants.js | 46 ++++++++++++++++++ .../components/LinuxDesktopInstallButtons.js | 2 +- documentation/src/components/RateLimits.js | 29 ----------- 7 files changed, 81 insertions(+), 60 deletions(-) delete mode 100644 documentation/docs/assets/guides/set-up-provider-ui.png create mode 100644 documentation/src/components/Constants.js delete mode 100644 documentation/src/components/RateLimits.js diff --git a/documentation/docs/assets/guides/set-up-provider-ui.png b/documentation/docs/assets/guides/set-up-provider-ui.png deleted file mode 100644 index ccd1ba7e1c326cf2b85af41aac7dc7d20898ec68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76940 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 diff --git a/documentation/docs/getting-started/installation.md b/documentation/docs/getting-started/installation.md index 2c3e696c0603..00840003309d 100644 --- a/documentation/docs/getting-started/installation.md +++ b/documentation/docs/getting-started/installation.md @@ -3,7 +3,7 @@ sidebar_position: 1 --- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -import RateLimits from '@site/src/components/RateLimits'; +import { RateLimits, DesktopProviderSetup, ModelSelectionTip } from '@site/src/components/Constants'; import MacDesktopInstallButtons from '@site/src/components/MacDesktopInstallButtons'; import WindowsDesktopInstallButtons from '@site/src/components/WindowsDesktopInstallButtons'; import LinuxDesktopInstallButtons from '@site/src/components/LinuxDesktopInstallButtons'; @@ -13,11 +13,11 @@ import { PanelLeft } from 'lucide-react'; - Choose to install Goose on CLI and/or Desktop: + Choose to install the Desktop and/or CLI version of Goose: - Install Goose directly from the browser or with [Homebrew](https://brew.sh/). + Install Goose Desktop directly from the browser or with [Homebrew](https://brew.sh/).

Option 1: Install via Download

@@ -37,7 +37,7 @@ import { PanelLeft } from 'lucide-react'; ``` ---
- :::note Permissions + :::info Permissions If you're on an Apple Mac M3 and the Goose Desktop app shows no window on launch, check and update the following: Ensure the `~/.config` directory has read and write access. @@ -79,8 +79,8 @@ import { PanelLeft } from 'lucide-react'; - - Choose to install Goose on CLI and/or Desktop: + + Choose to install the Desktop and/or CLI version of Goose: @@ -126,7 +126,7 @@ import { PanelLeft } from 'lucide-react'; - Choose to install Goose on CLI and/or Desktop: + Choose to install the Desktop and/or CLI version of Goose: @@ -208,18 +208,14 @@ import { PanelLeft } from 'lucide-react'; ## Set LLM Provider -Goose works with a set of [supported LLM providers][providers], and you'll need an API key to get started. When you use Goose for the first time, you'll be prompted to select a provider and enter your API key. +Goose works with [supported LLM providers][providers]. On first use, you'll be prompted to configure your preferred provider. - Upon installing, the Provider screen will appear. Here is where you can choose your LLM Provider. - - ![Set Up a Provider UI](../assets/guides/set-up-provider-ui.png) - - Once selecting your provider, you'll be prompted to enter an API key if applicable. Do so, and click `Submit`. + - Upon installing, Goose will automatically enter its configuration screen. Here is where you can set up your LLM provider. + The CLI automatically enters configuration mode on first run. You'll be prompted to select from [supported LLM providers][providers] and enter your API key. :::tip Windows Users When using the native Windows CLI, choose to not store to keyring when prompted during initial configuration. @@ -286,11 +282,15 @@ Goose works with a set of [supported LLM providers][providers], and you'll need +:::tip + +::: + ## Update Provider +You can change your LLM provider or update your API key at any time. + - **To update your LLM provider and API key:** - 1. Click the button in the top-left to open the sidebar. 2. Click the `Settings` button on the sidebar. 3. Click the `Models` tab. @@ -300,7 +300,6 @@ Goose works with a set of [supported LLM providers][providers], and you'll need - **To update your LLM provider and API key:** 1. Run the following command: ```sh goose configure @@ -356,7 +355,7 @@ Goose works with a set of [supported LLM providers][providers], and you'll need The Goose CLI and Desktop UI share all core configurations, including LLM provider settings, model selection, and extension configurations. When you install or configure extensions in either interface, the settings are stored in a central location at `~/.config/goose/config.yaml`, making them available to both the Desktop application and CLI. This makes it convenient to switch between interfaces while maintaining consistent settings. -:::note +:::info While core configurations are shared between interfaces, extensions have flexibility in how they store authentication credentials. Some extensions may use the shared config file while others implement their own storage methods. ::: diff --git a/documentation/docs/getting-started/providers.md b/documentation/docs/getting-started/providers.md index 8ab1cf9f60b2..c9c8e1d58463 100644 --- a/documentation/docs/getting-started/providers.md +++ b/documentation/docs/getting-started/providers.md @@ -6,13 +6,14 @@ title: Configure LLM Provider import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import { PanelLeft } from 'lucide-react'; +import { ModelSelectionTip } from '@site/src/components/Constants'; # Supported LLM Providers Goose is compatible with a wide range of LLM providers, allowing you to choose and integrate your preferred model. :::tip Model Selection -Goose relies heavily on tool calling capabilities and currently works best with Anthropic's Claude 3.5 Sonnet and OpenAI's GPT-4o (2024-11-20) model. + [Berkeley Function-Calling Leaderboard][function-calling-leaderboard] can be a good guide for selecting models. ::: diff --git a/documentation/docs/quickstart.md b/documentation/docs/quickstart.md index 9183c6d56472..0b869c43a786 100644 --- a/documentation/docs/quickstart.md +++ b/documentation/docs/quickstart.md @@ -6,7 +6,7 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import Link from "@docusaurus/Link"; import { IconDownload } from "@site/src/components/icons/download"; -import RateLimits from '@site/src/components/RateLimits'; +import { RateLimits, DesktopProviderSetup, ModelSelectionTip } from '@site/src/components/Constants'; import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed'; import MacDesktopInstallButtons from '@site/src/components/MacDesktopInstallButtons'; import WindowsDesktopInstallButtons from '@site/src/components/WindowsDesktopInstallButtons'; @@ -30,7 +30,7 @@ Let's begin 🚀 - Choose to install Goose on CLI and/or Desktop: + Choose to install the Desktop and/or CLI version of Goose: @@ -51,6 +51,8 @@ Let's begin 🚀 + Choose to install the Desktop and/or CLI version of Goose: + @@ -74,7 +76,7 @@ Let's begin 🚀 - Choose to install Goose on CLI and/or Desktop: + Choose to install the Desktop and/or CLI version of Goose: @@ -101,14 +103,16 @@ Let's begin 🚀 ## Configure Provider -Goose works with [supported LLM providers][providers]. When you install Goose, you'll be prompted to choose your preferred LLM and supply an API key. +Goose works with [supported LLM providers][providers]. On first use, you'll be prompted to configure your preferred provider. - ![Set Up a Provider UI](./assets/guides/set-up-provider-ui.png) + - Use the up and down arrow keys to navigate the CLI menu, and press Enter once you've selected a choice. + Use the up and down arrow keys to navigate the CLI menu, and press Enter once you've selected a choice. Be ready to provide your API key. + + Example configuration flow: ``` ┌ goose-configure @@ -128,14 +132,14 @@ Goose works with [supported LLM providers][providers]. When you install Goose, y ◇ Hello! You're all set and ready to go, feel free to ask me anything! │ └ Configuration saved successfully - ``` + ``` + + - - -:::tip Model Selection -Goose relies heavily on tool calling capabilities and currently works best with Anthropic's Claude 3.5 Sonnet and OpenAI's GPT-4o (2024-11-20) model. +:::tip + ::: ## Start Session diff --git a/documentation/src/components/Constants.js b/documentation/src/components/Constants.js new file mode 100644 index 000000000000..d6bdeb798923 --- /dev/null +++ b/documentation/src/components/Constants.js @@ -0,0 +1,46 @@ +import React from "react"; +import Admonition from "@theme/Admonition"; + +export const DesktopProviderSetup = () => { + return ( + <> +

On the welcome screen, choose how to configure a provider:

+
+ + ); +}; + +export const ModelSelectionTip = () => { + return ( +

Goose relies heavily on tool calling capabilities and currently works best with Claude 4 models.

+ ); +}; + +export const RateLimits = () => { + return ( + + + Google Gemini + {" "} + offers a free tier you can get started with. Otherwise, you'll need to + ensure that you have credits available in your LLM Provider account to + successfully make requests. +
+
+ Some providers also have rate limits on API usage, which can affect your + experience. Check out our{" "} + + Handling Rate Limits + {" "} + guide to learn how to efficiently manage these limits while using Goose. +
+ ); +}; diff --git a/documentation/src/components/LinuxDesktopInstallButtons.js b/documentation/src/components/LinuxDesktopInstallButtons.js index 2a7f335522a0..3de0445d109e 100644 --- a/documentation/src/components/LinuxDesktopInstallButtons.js +++ b/documentation/src/components/LinuxDesktopInstallButtons.js @@ -57,7 +57,7 @@ const LinuxDesktopInstallButtons = () => { return (
-

To download Goose Desktop for Linux, choose the buttons below:

+

To download Goose Desktop for Linux, click one of the buttons below:

{ - return ( - - - Google Gemini - {" "} - offers a free tier you can get started with. Otherwise, you'll need to - ensure that you have credits available in your LLM Provider account to - successfully make requests. -
-
- Some providers also have rate limits on API usage, which can affect your - experience. Check out our{" "} - - Handling Rate Limits - {" "} - guide to learn how to efficiently manage these limits while using Goose. -
- ); -}; - -export default RateLimits; From 151287538af120c8931013a4bb52f8766f3ec774 Mon Sep 17 00:00:00 2001 From: Diane Diaz Date: Tue, 19 Aug 2025 14:37:25 -0700 Subject: [PATCH 2/3] separate constants --- .../docs/getting-started/installation.md | 4 +- .../docs/getting-started/providers.md | 2 +- documentation/docs/quickstart.md | 4 +- documentation/src/components/Constants.js | 46 ------------------- 4 files changed, 7 insertions(+), 49 deletions(-) delete mode 100644 documentation/src/components/Constants.js diff --git a/documentation/docs/getting-started/installation.md b/documentation/docs/getting-started/installation.md index 00840003309d..b91c929d4fd8 100644 --- a/documentation/docs/getting-started/installation.md +++ b/documentation/docs/getting-started/installation.md @@ -3,7 +3,9 @@ sidebar_position: 1 --- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -import { RateLimits, DesktopProviderSetup, ModelSelectionTip } from '@site/src/components/Constants'; +import { RateLimits } from '@site/src/components/RateLimits'; +import { DesktopProviderSetup } from '@site/src/components/DesktopProviderSetup'; +import { ModelSelectionTip } from '@site/src/components/ModelSelectionTip'; import MacDesktopInstallButtons from '@site/src/components/MacDesktopInstallButtons'; import WindowsDesktopInstallButtons from '@site/src/components/WindowsDesktopInstallButtons'; import LinuxDesktopInstallButtons from '@site/src/components/LinuxDesktopInstallButtons'; diff --git a/documentation/docs/getting-started/providers.md b/documentation/docs/getting-started/providers.md index c9c8e1d58463..94d2b4d3f52b 100644 --- a/documentation/docs/getting-started/providers.md +++ b/documentation/docs/getting-started/providers.md @@ -6,7 +6,7 @@ title: Configure LLM Provider import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import { PanelLeft } from 'lucide-react'; -import { ModelSelectionTip } from '@site/src/components/Constants'; +import { ModelSelectionTip } from '@site/src/components/ModelSelectionTip'; # Supported LLM Providers diff --git a/documentation/docs/quickstart.md b/documentation/docs/quickstart.md index 0b869c43a786..ab457b137491 100644 --- a/documentation/docs/quickstart.md +++ b/documentation/docs/quickstart.md @@ -6,7 +6,9 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import Link from "@docusaurus/Link"; import { IconDownload } from "@site/src/components/icons/download"; -import { RateLimits, DesktopProviderSetup, ModelSelectionTip } from '@site/src/components/Constants'; +import { RateLimits } from '@site/src/components/RateLimits'; +import { DesktopProviderSetup } from '@site/src/components/DesktopProviderSetup'; +import { ModelSelectionTip } from '@site/src/components/ModelSelectionTip'; import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed'; import MacDesktopInstallButtons from '@site/src/components/MacDesktopInstallButtons'; import WindowsDesktopInstallButtons from '@site/src/components/WindowsDesktopInstallButtons'; diff --git a/documentation/src/components/Constants.js b/documentation/src/components/Constants.js deleted file mode 100644 index d6bdeb798923..000000000000 --- a/documentation/src/components/Constants.js +++ /dev/null @@ -1,46 +0,0 @@ -import React from "react"; -import Admonition from "@theme/Admonition"; - -export const DesktopProviderSetup = () => { - return ( - <> -

On the welcome screen, choose how to configure a provider:

-
    -
  • OpenRouter (recommended) - One-click OAuth authentication provides instant access to multiple AI models with built-in rate limiting.
  • -
  • Ollama - Free local AI that runs privately on your computer. If needed, the setup flow will guide you through installing Ollama and downloading the recommended model.
  • -
  • Other Providers - Choose from ~20 supported providers including OpenAI, Anthropic, Google Gemini, and others through manual configuration. Be ready to provide your API key.
  • -
- - ); -}; - -export const ModelSelectionTip = () => { - return ( -

Goose relies heavily on tool calling capabilities and currently works best with Claude 4 models.

- ); -}; - -export const RateLimits = () => { - return ( - - - Google Gemini - {" "} - offers a free tier you can get started with. Otherwise, you'll need to - ensure that you have credits available in your LLM Provider account to - successfully make requests. -
-
- Some providers also have rate limits on API usage, which can affect your - experience. Check out our{" "} - - Handling Rate Limits - {" "} - guide to learn how to efficiently manage these limits while using Goose. -
- ); -}; From f71729c414d46dad3483e4140b2e489739a58ad6 Mon Sep 17 00:00:00 2001 From: Diane Diaz Date: Tue, 19 Aug 2025 14:41:52 -0700 Subject: [PATCH 3/3] add components --- .../src/components/DesktopProviderSetup.js | 14 ++++++++++ .../src/components/ModelSelectionTip.js | 7 +++++ documentation/src/components/RateLimits.js | 27 +++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 documentation/src/components/DesktopProviderSetup.js create mode 100644 documentation/src/components/ModelSelectionTip.js create mode 100644 documentation/src/components/RateLimits.js diff --git a/documentation/src/components/DesktopProviderSetup.js b/documentation/src/components/DesktopProviderSetup.js new file mode 100644 index 000000000000..ba6cb5aada64 --- /dev/null +++ b/documentation/src/components/DesktopProviderSetup.js @@ -0,0 +1,14 @@ +import React from "react"; + +export const DesktopProviderSetup = () => { + return ( + <> +

On the welcome screen, choose how to configure a provider:

+
    +
  • OpenRouter (recommended) - One-click OAuth authentication provides instant access to multiple AI models with built-in rate limiting.
  • +
  • Ollama - Free local AI that runs privately on your computer. If needed, the setup flow will guide you through installing Ollama and downloading the recommended model.
  • +
  • Other Providers - Choose from ~20 supported providers including OpenAI, Anthropic, Google Gemini, and others through manual configuration. Be ready to provide your API key.
  • +
+ + ); +}; diff --git a/documentation/src/components/ModelSelectionTip.js b/documentation/src/components/ModelSelectionTip.js new file mode 100644 index 000000000000..bb424f602242 --- /dev/null +++ b/documentation/src/components/ModelSelectionTip.js @@ -0,0 +1,7 @@ +import React from "react"; + +export const ModelSelectionTip = () => { + return ( +

Goose relies heavily on tool calling capabilities and currently works best with Claude 4 models.

+ ); +}; diff --git a/documentation/src/components/RateLimits.js b/documentation/src/components/RateLimits.js new file mode 100644 index 000000000000..5a996e209fc0 --- /dev/null +++ b/documentation/src/components/RateLimits.js @@ -0,0 +1,27 @@ +import React from "react"; +import Admonition from "@theme/Admonition"; + +export const RateLimits = () => { + return ( + + + Google Gemini + {" "} + offers a free tier you can get started with. Otherwise, you'll need to + ensure that you have credits available in your LLM Provider account to + successfully make requests. +
+
+ Some providers also have rate limits on API usage, which can affect your + experience. Check out our{" "} + + Handling Rate Limits + {" "} + guide to learn how to efficiently manage these limits while using Goose. +
+ ); +};