docs: update quickstart and install topics (#4378)

This commit is contained in:
dianed-square
2025-09-04 10:49:29 -07:00
committed by GitHub
parent 627696a68a
commit 36bc3afe0b
5 changed files with 139 additions and 133 deletions
@@ -4,7 +4,7 @@ sidebar_position: 1
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import { RateLimits } from '@site/src/components/RateLimits';
import { DesktopProviderSetup } from '@site/src/components/DesktopProviderSetup';
import { OnboardingProviderSetup } from '@site/src/components/OnboardingProviderSetup';
import { ModelSelectionTip } from '@site/src/components/ModelSelectionTip';
import MacDesktopInstallButtons from '@site/src/components/MacDesktopInstallButtons';
import WindowsDesktopInstallButtons from '@site/src/components/WindowsDesktopInstallButtons';
@@ -147,25 +147,47 @@ import { PanelLeft } from 'lucide-react';
</div>
</TabItem>
<TabItem value="cli" label="Goose CLI">
Run the following command in **Git Bash**, **MSYS2**, or **PowerShell** to install the Goose CLI natively on Windows:
To install Goose natively on Windows, you need one of the following environments:
- **Git Bash** (recommended): Comes with [Git for Windows](https://git-scm.com/download/win)
- **MSYS2**: Available from [msys2.org](https://www.msys2.org/)
- **PowerShell**: Available on Windows 10/11 by default
Run the installation command in your chosen environment:
```bash
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | bash
```
This script will fetch the latest version of Goose and set it up on your system.
If you'd like to install without interactive configuration, disable `CONFIGURE`:
To install without interactive configuration, disable `CONFIGURE`:
```bash
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | CONFIGURE=false bash
```
:::note Prerequisites
- **Git Bash** (recommended): Comes with [Git for Windows](https://git-scm.com/download/win)
- **MSYS2**: Available from [msys2.org](https://www.msys2.org/)
- **PowerShell**: Available on Windows 10/11 by default
The script requires `curl` and `unzip` to be available in your environment.
:::info Windows PATH Setup
If you see a warning that Goose is not in your PATH, you need to add Goose to your PATH:
<details>
<summary>For Git Bash/MSYS2</summary>
```bash
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
```
</details>
<details>
<summary>For PowerShell</summary>
```powershell
# Add to your PowerShell profile
$profilePath = $PROFILE
if (!(Test-Path $profilePath)) { New-Item -Path $profilePath -ItemType File -Force }
Add-Content -Path $profilePath -Value '$env:PATH = "$env:USERPROFILE\.local\bin;$env:PATH"'
# Reload profile or restart PowerShell
. $PROFILE
```
</details>
After updating your PATH, you can run `goose` commands from any directory.
:::
<details>
@@ -203,6 +225,14 @@ import { PanelLeft } from 'lucide-react';
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | CONFIGURE=false bash
```
If needed, add Goose to your path:
```
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
echo 'export OPENAI_API_KEY=your_api_key' >> ~/.bashrc
source ~/.bashrc
```
</details>
</TabItem>
</Tabs>
@@ -210,73 +240,56 @@ import { PanelLeft } from 'lucide-react';
</Tabs>
## Set LLM Provider
Goose works with [supported LLM providers][providers]. On first use, you'll be prompted to configure your preferred provider.
Goose works with [supported LLM providers][providers] that give Goose the AI intelligence it needs to understand your requests. On first use, you'll be prompted to configure your preferred provider.
<Tabs groupId="interface">
<TabItem value="ui" label="Goose Desktop" default>
<DesktopProviderSetup />
On the welcome screen, choose how to configure a provider:
<OnboardingProviderSetup />
</TabItem>
<TabItem value="cli" label="Goose CLI">
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.
The CLI automatically enters configuration mode where you can choose how to configure a provider:
:::tip Windows Users
When using the native Windows CLI, choose to not store to keyring when prompted during initial configuration.
:::
<OnboardingProviderSetup />
Example:
Example configuration flow:
```
┌ goose-configure
What would you like to configure?
Configure Providers
How would you like to set up your provider?
Tetrate Agent Router Service Login
◇ Which model provider should we use?
│ OpenAI
◇ Provider openai requires OPENAI_API_KEY, please enter a value
│▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪
◇ Enter a model from that provider:
│ gpt-4o
◇ Welcome aboard! You're all set to start using this agent—let's achieve great things together!
└ Configuration saved successfully
Opening browser for Tetrate Agent Router Service authentication...
[Goose opens the browser and prints details]
Authentication complete!
Configuring Tetrate Agent Router Service...
✓ Tetrate Agent Router Service configuration complete
✓ Models configured successfully
Testing configuration...
✓ Configuration test passed!
✓ Developer extension enabled!
└ Tetrate Agent Router Service setup complete! You can now use Goose.
```
:::info Windows Users
On initial run, you may encounter errors about keyrings when setting your API Keys. Set the needed environment variables manually, e.g.:
If you choose to manually configure a provider, when prompted during configuration, choose to not store to keyring. If you encounter keyring errors when setting API keys, you can set environment variables manually instead:
**For Native Windows CLI (Git Bash/MSYS2):**
```bash
export OPENAI_API_KEY={your_api_key}
```
**For WSL:**
```bash
export OPENAI_API_KEY={your_api_key}
```
Run `goose configure` again and proceed through the prompts. When you reach the step for entering the API key, Goose will detect that the key is already set as an environment variable and display a message like:
Then run `goose configure` again. Goose will detect the environment variable and display:
```
● OPENAI_API_KEY is set via environment variable
```
**To make the changes persist across sessions:**
**For Native Windows CLI (Git Bash):**
Add the goose path and export commands to your `~/.bashrc` or `~/.bash_profile` file:
To make API keys persist across sessions, add them to your shell profile:
```bash
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
echo 'export OPENAI_API_KEY=your_api_key' >> ~/.bashrc
source ~/.bashrc
```
**For WSL:**
```bash
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
echo 'export OPENAI_API_KEY=your_api_key' >> ~/.bashrc
source ~/.bashrc
```
@@ -289,7 +302,7 @@ Goose works with [supported LLM providers][providers]. On first use, you'll be p
:::
## Update Provider
You can change your LLM provider or update your API key at any time.
You can change your LLM provider and/or model or update your API key at any time.
<Tabs groupId="interface">
<TabItem value="ui" label="Goose Desktop" default>
@@ -11,34 +11,18 @@ import { PanelLeft } from 'lucide-react';
Rate limiting is the process of restricting the number of requests a user or application can send to an LLM API within a specific timeframe. LLM providers enforce this with the purpose of managing resources and preventing abuse.
Since Goose is working very quickly to implement your tasks, you may need to manage rate limits imposed by the provider. If you frequently hit rate limits, consider upgrading your LLM plan to access higher tier limits or using OpenRouter.
Since Goose is working very quickly to implement your tasks, you may need to manage rate limits imposed by the provider. If you frequently hit rate limits, consider upgrading your LLM plan to access higher tier limits or [configure a provider](/docs/getting-started/providers#configure-provider) that has built-in rate limiting:
## Using OpenRouter
:::info
Goose supports automatic setup for both providers that takes you through OAuth account creation and secure API key generation.
:::
OpenRouter provides a unified interface for LLMs that allows you to select and switch between different providers automatically - all under a single billing plan. With OpenRouter, you can utilize free models or purchase credits for paid models.
- **Tetrate Agent Router**: Unified API gateway for AI models including Claude, Gemini, GPT, open-weight models, and others. The developer's shortest path to models with enterprise-grade routing, built-in rate limiting, and automatic failover.
1. Go to [openrouter.ai](https://openrouter.ai) and create an account.
2. Once verified, create your [API key](https://openrouter.ai/settings/keys).
Manage your account at [router.tetrate.ai](https://router.tetrate.ai/dashboard).
<Tabs groupId="interface">
<TabItem value="ui" label="Goose Desktop" default>
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.
3. Click `Configure Providers`.
5. Click `Configure` under `OpenRouter` to edit your OpenRouter settings.
6. Enter your OpenRouter API key.
7. Click `Submit`.
</TabItem>
<TabItem value="cli" label="Goose CLI">
1. Run the Goose configuration command:
```sh
goose configure
```
2. Select `Configure Providers` from the menu.
3. Follow the prompts to choose OpenRouter as your provider and enter your OpenRouter API key when prompted.
</TabItem>
</Tabs>
- **OpenRouter**: Provides a unified interface for LLMs that allows you to select and switch between different providers automatically - all under a single billing plan. With OpenRouter, you can utilize free models or purchase credits for paid models.
Manage your account at [openrouter.ai](https://openrouter.ai).
Now Goose will send your requests through OpenRouter which will automatically switch models when necessary to avoid interruptions due to rate limiting.
When Goose sends your requests through one of these providers, the provider will automatically switch models when necessary to avoid interruptions due to rate limiting.
+35 -42
View File
@@ -7,7 +7,6 @@ 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 { 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';
@@ -98,6 +97,12 @@ Let's begin 🚀
Learn about prerequisites in the [installation guide](/docs/getting-started/installation).
:::info PATH Warning And Keyring
If you see a PATH warning after installation, you'll need to add Goose to your PATH before running `goose configure`. See the [Windows CLI installation instructions](/docs/getting-started/installation) for detailed steps.
If prompted during configuration, choose to not store to keyring. If you encounter keyring errors, see the [Windows setup instructions](/docs/getting-started/installation#set-llm-provider) for more information.
:::
</TabItem>
</Tabs>
</TabItem>
@@ -105,51 +110,43 @@ Let's begin 🚀
## Configure Provider
Goose works with [supported LLM providers][providers]. On first use, you'll be prompted to configure your preferred provider.
Goose works with [supported LLM providers][providers] that give Goose the AI intelligence it needs to understand your requests. On first use, you'll be prompted to configure your preferred provider.
<Tabs groupId="interface">
<TabItem value="ui" label="Goose Desktop" default>
<DesktopProviderSetup />
On the welcome screen, choose `Automatic setup with Tetrate Agent Router`.
Goose will open a browser for you to authenticate.
:::info Free Credits Offer
You'll receive $10 in free credits the first time you automatically authenticate with Tetrate through Goose. This offer is available to both new and existing Tetrate users and is valid through October 2, 2025.
:::
Tetrate provides access to multiple AI models with built-in rate limiting and automatic failover. If you prefer a different provider, choose automatic setup with OpenRouter or manually configure a provider.
</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. Be ready to provide your API key.
Example configuration flow:
```
┌ goose-configure
◇ What would you like to configure?
│ Configure Providers
◇ Which model provider should we use?
│ Google Gemini
◇ Provider Google Gemini requires GOOGLE_API_KEY, please enter a value
│▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪
◇ Enter a model from that provider:
│ gemini-2.0-flash-exp
◇ Hello! You're all set and ready to go, feel free to ask me anything!
└ Configuration saved successfully
```
<RateLimits />
On the welcome screen, choose `Tetrate Agent Router Service Login`. Use the up and down arrow keys to navigate the options, then press `Enter` to select.
Goose will open a browser for you to authenticate.
:::info Free Credits Offer
You'll receive $10 in free credits the first time you automatically authenticate with Tetrate through Goose. This offer is available to both new and existing Tetrate users and is valid through October 2, 2025.
:::
Tetrate provides access to multiple AI models with built-in rate limiting and automatic failover. If you prefer a different provider, choose automatic setup with OpenRouter or manually configure a provider.
</TabItem>
</Tabs>
:::tip
<ModelSelectionTip />
:::
## Start Session
Sessions are single, continuous conversations between you and Goose. Let's start one.
<Tabs groupId="interface">
<TabItem value="ui" label="Goose Desktop" default>
After choosing an LLM provider, youll see the session interface ready for use.
After choosing an LLM provider, click the `Home` button in the sidebar.
Type your questions, tasks, or instructions directly into the input field, and Goose will immediately get to work.
</TabItem>
@@ -183,7 +180,7 @@ create an interactive browser-based tic-tac-toe game in javascript where a playe
Goose will create a plan and then get right to work on implementing it. Once done, your directory should contain a JavaScript file as well as an HTML page for playing.
## Install an Extension
## Enable an Extension
While you're able to manually navigate to your working directory and open the HTML file in a browser, wouldn't it be better if Goose did that for you? Let's give Goose the ability to open a web browser by enabling the `Computer Controller` extension.
@@ -202,7 +199,7 @@ While you're able to manually navigate to your working directory and open the HT
```sh
goose configure
```
3. Choose `Add extension` > `Built-in Extension` > `Computer Controller`, and set timeout to 300s. This [extension](https://block.github.io/goose/v1/extensions/detail/nondeveloper) enables webscraping, file caching, and automations.
3. Choose `Add Extension` > `Built-in Extension` > `Computer Controller`, and set the timeout to 300s. This [extension](/docs/mcp/computer-controller-mcp) enables webscraping, file caching, and automations.
```
┌ goose-configure
@@ -213,16 +210,12 @@ While you're able to manually navigate to your working directory and open the HT
│ Built-in Extension
◇ Which built-in extension would you like to enable?
○ Developer Tools
● Computer Controller (controls for webscraping, file caching, and automations)
│ ○ Google Drive
│ ○ Memory
│ ○ JetBrains
Computer Controller
◇ Please set the timeout for this tool (in secs):
│ 300
└ Enabled Computer Controller extension
└ Enabled computercontroller extension
```
4. Now that Goose has browser capabilities, let's resume your last session:
```sh
@@ -233,7 +226,7 @@ While you're able to manually navigate to your working directory and open the HT
</Tabs>
```
open index.html in a browser
open the tic-tac-toe game in a browser
```
Go ahead and play your game, I know you want to 😂 ... good luck!
@@ -1,14 +0,0 @@
import React from "react";
export const DesktopProviderSetup = () => {
return (
<>
<p>On the welcome screen, choose how to configure a provider:</p>
<ul>
<li><strong>Tetrate Agent Router</strong> - One-click OAuth authentication provides instant access to multiple AI models, starting credits, and built-in rate limiting.</li>
<li><strong>OpenRouter</strong> - One-click OAuth authentication provides instant access to multiple AI models with built-in rate limiting.</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>
</>
);
};
@@ -0,0 +1,30 @@
import React from "react";
export const OnboardingProviderSetup = () => {
return (
<>
<ul>
<li>
<strong>Tetrate Agent Router</strong> - One-click OAuth authentication provides instant access to multiple AI models, starting credits, and built-in rate limiting.
<div className="admonition admonition-info alert alert--info" style={{marginTop: '0.5rem', marginBottom: '0.5rem'}}>
<div className="admonition-heading">
<h5>
<span className="admonition-icon" style={{marginRight: '0.5rem'}}>
<svg viewBox="0 0 14 16" width="21" height="23" style={{transform: 'translateY(1px)'}}>
<path fillRule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"></path>
</svg>
</span>
INFO
</h5>
</div>
<div className="admonition-content" style={{paddingBottom: '1rem'}}>
<p style={{marginBottom: '0'}}>You'll receive $10 in free credits the first time you automatically authenticate with Tetrate through Goose. This offer is available to both new and existing Tetrate users and is valid through October 2, 2025.</p>
</div>
</div>
</li>
<li><strong>OpenRouter</strong> - One-click OAuth authentication provides instant access to multiple AI models with built-in rate limiting.</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>
</>
);
};