Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file not shown.
37 changes: 19 additions & 18 deletions documentation/docs/getting-started/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ sidebar_position: 1
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import RateLimits from '@site/src/components/RateLimits';
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';
Expand All @@ -13,11 +15,11 @@ import { PanelLeft } from 'lucide-react';

<Tabs>
<TabItem value="mac" label="macOS" default>
Choose to install Goose on CLI and/or Desktop:
Choose to install the Desktop and/or CLI version of Goose:

<Tabs groupId="interface">
<TabItem value="ui" label="Goose Desktop" default>
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/).

<h3 style={{ marginTop: '1rem' }}>Option 1: Install via Download</h3>
<MacDesktopInstallButtons/>
Expand All @@ -37,7 +39,7 @@ import { PanelLeft } from 'lucide-react';
```
---
<div style={{ marginTop: '1rem' }}>
:::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.
Expand Down Expand Up @@ -79,8 +81,8 @@ import { PanelLeft } from 'lucide-react';
</Tabs>
</TabItem>

<TabItem value="linux" label="Linux" default>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good find

Choose to install Goose on CLI and/or Desktop:
<TabItem value="linux" label="Linux">
Choose to install the Desktop and/or CLI version of Goose:

<Tabs groupId="interface">
<TabItem value="ui" label="Goose Desktop" default>
Expand Down Expand Up @@ -126,7 +128,7 @@ import { PanelLeft } from 'lucide-react';
</TabItem>

<TabItem value="windows" label="Windows">
Choose to install Goose on CLI and/or Desktop:
Choose to install the Desktop and/or CLI version of Goose:

<Tabs groupId="interface">
<TabItem value="ui" label="Goose Desktop" default>
Expand Down Expand Up @@ -208,18 +210,14 @@ import { PanelLeft } from 'lucide-react';
</Tabs>

## 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.

<Tabs groupId="interface">
<TabItem value="ui" label="Goose Desktop" default>
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`.
<DesktopProviderSetup />
</TabItem>
<TabItem value="cli" label="Goose CLI">
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.
Expand Down Expand Up @@ -286,11 +284,15 @@ Goose works with a set of [supported LLM providers][providers], and you'll need
</TabItem>
</Tabs>

:::tip
<ModelSelectionTip />
:::

## Update Provider
You can change your LLM provider or update your API key at any time.

<Tabs groupId="interface">
<TabItem value="ui" label="Goose Desktop" default>
**To update your LLM provider and API key:**

1. Click the <PanelLeft className="inline" size={16} /> button in the top-left to open the sidebar.
2. Click the `Settings` button on the sidebar.
3. Click the `Models` tab.
Expand All @@ -300,7 +302,6 @@ Goose works with a set of [supported LLM providers][providers], and you'll need

</TabItem>
<TabItem value="cli" label="Goose CLI">
**To update your LLM provider and API key:**
1. Run the following command:
```sh
goose configure
Expand Down Expand Up @@ -356,7 +357,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.
:::

Expand Down
3 changes: 2 additions & 1 deletion documentation/docs/getting-started/providers.md
Original file line number Diff line number Diff line change
Expand Up @@ -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/ModelSelectionTip';

# 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.
<ModelSelectionTip/>
[Berkeley Function-Calling Leaderboard][function-calling-leaderboard] can be a good guide for selecting models.
:::

Expand Down
28 changes: 17 additions & 11 deletions documentation/docs/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 from '@site/src/components/RateLimits';
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';
Expand All @@ -30,7 +32,7 @@ Let's begin 🚀

<Tabs>
<TabItem value="mac" label="macOS" default>
Choose to install Goose on CLI and/or Desktop:
Choose to install the Desktop and/or CLI version of Goose:

<Tabs groupId="interface">
<TabItem value="ui" label="Goose Desktop" default>
Expand All @@ -51,6 +53,8 @@ Let's begin 🚀
</TabItem>

<TabItem value="linux" label="Linux">
Choose to install the Desktop and/or CLI version of Goose:

<Tabs groupId="interface">
<TabItem value="ui" label="Goose Desktop" default>
<LinuxDesktopInstallButtons/>
Expand All @@ -74,7 +78,7 @@ Let's begin 🚀
</TabItem>

<TabItem value="windows" label="Windows">
Choose to install Goose on CLI and/or Desktop:
Choose to install the Desktop and/or CLI version of Goose:

<Tabs groupId="interface">
<TabItem value="ui" label="Goose Desktop" default>
Expand All @@ -101,14 +105,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.

<Tabs groupId="interface">
<TabItem value="ui" label="Goose Desktop" default>
![Set Up a Provider UI](./assets/guides/set-up-provider-ui.png)
<DesktopProviderSetup />
</TabItem>
<TabItem value="cli" label="Goose CLI">
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
Expand All @@ -128,14 +134,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
```
```

<RateLimits />
</TabItem>
</Tabs>

<RateLimits />

:::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
<ModelSelectionTip />
:::

## Start Session
Expand Down
14 changes: 14 additions & 0 deletions documentation/src/components/DesktopProviderSetup.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import React from "react";

export const DesktopProviderSetup = () => {
return (
<>
<p>On the welcome screen, choose how to configure a provider:</p>
<ul>
<li><strong>OpenRouter</strong> (recommended) - One-click OAuth authentication provides instant access to multiple AI models with built-in rate limiting.</li>
<li><strong>Ollama</strong> - 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.</li>
<li><strong>Other Providers</strong> - Choose from <a href="/goose/docs/getting-started/providers">~20 supported providers</a> including OpenAI, Anthropic, Google Gemini, and others through manual configuration. Be ready to provide your API key.</li>
</ul>
</>
);
};
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ const LinuxDesktopInstallButtons = () => {

return (
<div>
<p>To download Goose Desktop for Linux, choose the buttons below:</p>
<p>To download Goose Desktop for Linux, click one of the buttons below:</p>
<div className="pill-button" style={{ display: 'flex', gap: '0.5rem', flexWrap: 'wrap' }}>
<Link
className="button button--primary button--lg"
Expand Down
7 changes: 7 additions & 0 deletions documentation/src/components/ModelSelectionTip.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import React from "react";

export const ModelSelectionTip = () => {
return (
<p>Goose relies heavily on tool calling capabilities and currently works best with Claude 4 models.</p>
);
};
4 changes: 1 addition & 3 deletions documentation/src/components/RateLimits.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React from "react";
import Admonition from "@theme/Admonition";

const RateLimits = () => {
export const RateLimits = () => {
return (
<Admonition type="info" title="Billing">
<a
Expand All @@ -25,5 +25,3 @@ const RateLimits = () => {
</Admonition>
);
};

export default RateLimits;