mirror of
https://github.com/aljazceru/goose.git
synced 2025-12-18 14:44:21 +01:00
237 lines
8.1 KiB
Markdown
237 lines
8.1 KiB
Markdown
---
|
||
sidebar_position: 1
|
||
---
|
||
import Tabs from '@theme/Tabs';
|
||
import TabItem from '@theme/TabItem';
|
||
import Link from "@docusaurus/Link";
|
||
import { IconDownload } from "@site/src/components/icons/download";
|
||
import SupportedEnvironments from '@site/src/components/SupportedEnvironments';
|
||
import RateLimits from '@site/src/components/RateLimits';
|
||
|
||
|
||
# Install Goose
|
||
|
||
<SupportedEnvironments />
|
||
|
||
<Tabs>
|
||
<TabItem value="mac" label="macOS" default>
|
||
Choose to install Goose on CLI and/or Desktop:
|
||
|
||
<Tabs groupId="interface">
|
||
<TabItem value="cli" label="Goose CLI" default>
|
||
Run the following command to install the latest version of Goose on macOS:
|
||
|
||
```sh
|
||
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`:
|
||
|
||
```sh
|
||
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | CONFIGURE=false bash
|
||
```
|
||
</TabItem>
|
||
<TabItem value="ui" label="Goose Desktop">
|
||
To install Goose, click the **button** below:
|
||
<div className="pill-button">
|
||
<Link
|
||
className="button button--primary button--lg"
|
||
to="https://github.com/block/goose/releases/download/stable/Goose.zip"
|
||
>
|
||
<IconDownload />
|
||
download goose desktop for macOS
|
||
</Link>
|
||
</div>
|
||
<div style={{ marginTop: '1rem' }}>
|
||
1. Unzip the downloaded `Goose.zip` file.
|
||
2. Run the executable file to launch the Goose desktop application.
|
||
</div>
|
||
|
||
</TabItem>
|
||
</Tabs>
|
||
</TabItem>
|
||
|
||
<TabItem value="linux" label="Linux" default>
|
||
Run the following command to install the Goose CLI on Linux:
|
||
|
||
```sh
|
||
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`:
|
||
|
||
```sh
|
||
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | CONFIGURE=false bash
|
||
```
|
||
</TabItem>
|
||
|
||
<TabItem value="windows" label="Windows">
|
||
There isn't native installation support for Windows, however you can run Goose using WSL (Windows Subsystem for Linux).
|
||
|
||
1. Open [PowerShell](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows) as Administrator and install WSL and the default Ubuntu distribution:
|
||
|
||
```bash
|
||
wsl --install
|
||
```
|
||
|
||
2. Restart your computer if prompted.
|
||
|
||
3. Run the Goose installation script:
|
||
```bash
|
||
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | bash
|
||
```
|
||
:::tip
|
||
If you encounter any issues on download, you might need to install `bzip2` to extract the downloaded file:
|
||
|
||
```bash
|
||
sudo apt update && sudo apt install bzip2 -y
|
||
```
|
||
:::
|
||
|
||
If you'd like to install without interactive configuration, disable `CONFIGURE`:
|
||
|
||
```sh
|
||
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | CONFIGURE=false bash
|
||
```
|
||
</TabItem>
|
||
|
||
</Tabs>
|
||
|
||
:::tip Updating Goose
|
||
It’s best to keep Goose updated. To update, reperform installation steps.
|
||
:::
|
||
|
||
|
||
## 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.
|
||
|
||
<Tabs groupId="interface">
|
||
<TabItem value="cli" label="Goose CLI" default>
|
||
Upon installing, Goose will automatically enter its configuration screen. Here is where you can set up your LLM provider.
|
||
|
||
:::tip Windows Users
|
||
Choose to not store to keyring when prompted.
|
||
:::
|
||
|
||
Example:
|
||
|
||
```
|
||
┌ goose-configure
|
||
│
|
||
◇ What would you like to configure?
|
||
│ Configure Providers
|
||
│
|
||
◇ 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
|
||
```
|
||
|
||
:::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.:
|
||
|
||
```bash
|
||
export OPENAI_API_KEY={your_api_key}
|
||
```
|
||
|
||
To make the changes persist in WSL across sessions, add the goose path and export commands to your `.bashrc` or `.bash_profile` file so you can load it later.
|
||
|
||
```bash
|
||
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
|
||
echo 'export OPENAI_API_KEY=your_api_key' >> ~/.bashrc
|
||
source ~/.bashrc
|
||
```
|
||
:::
|
||
</TabItem>
|
||
<TabItem value="ui" label="Goose Desktop">
|
||
Upon installing, the Provider screen will appear. Here is where you can choose your LLM Provider.
|
||
|
||

|
||
|
||
Once selecting your provider, you'll be prompted to enter an API key if applicable. Do so, and click `Submit`.
|
||
</TabItem>
|
||
</Tabs>
|
||
|
||
## Update Provider
|
||
<Tabs groupId="interface">
|
||
<TabItem value="cli" label="Goose CLI" default>
|
||
**To update your LLM provider and API key:**
|
||
1. Run the following command:
|
||
```sh
|
||
goose configure
|
||
```
|
||
2. Select `Configure Providers` from the menu.
|
||
3. Follow the prompts to choose your LLM provider and enter or update your API key.
|
||
|
||
**Example:**
|
||
|
||
To select an option during configuration, use the up and down arrows to highlight your choice then press Enter.
|
||
|
||
```
|
||
┌ 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 there! You're all set to use me, so please ask away!
|
||
│
|
||
└ Configuration saved successfully
|
||
```
|
||
</TabItem>
|
||
<TabItem value="ui" label="Goose Desktop">
|
||
**To update your LLM provider and API key:**
|
||
|
||
1. Click on the three dots in the top-right corner.
|
||
2. Select `Provider Settings` from the menu.
|
||
2. Choose a provider from the list.
|
||
3. Click Edit, enter your API key, and click `Set as Active`.
|
||
|
||
</TabItem>
|
||
</Tabs>
|
||
|
||
<RateLimits />
|
||
|
||
## Running Goose
|
||
|
||
<Tabs groupId="interface">
|
||
<TabItem value="cli" label="Goose CLI" default>
|
||
From your terminal, navigate to the directory you'd like to start from and run:
|
||
```sh
|
||
goose session
|
||
```
|
||
</TabItem>
|
||
<TabItem value="ui" label="Goose Desktop">
|
||
Starting a session in the Goose Desktop is straightforward. After choosing your provider, you’ll see the session interface ready for use.
|
||
|
||
Type your questions, tasks, or instructions directly into the input field, and Goose will get to work immediately.
|
||
</TabItem>
|
||
</Tabs>
|
||
|
||
## Additional Resources
|
||
|
||
You can also configure Extensions to extend Goose's functionality, including adding new ones or toggling them on and off. For detailed instructions, visit the [Using Extensions Guide][using-extensions].
|
||
|
||
[using-extensions]: /docs/getting-started/using-extensions
|
||
[providers]: /docs/getting-started/providers
|
||
[handling-rate-limits]: /docs/guides/handling-llm-rate-limits-with-goose
|
||
[mcp]: https://www.anthropic.com/news/model-context-protocol
|