Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: Goose on Windows via WSL #901

Merged
merged 9 commits into from
Jan 30, 2025
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
114 changes: 85 additions & 29 deletions documentation/docs/getting-started/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,48 +13,88 @@ import RateLimits from '@site/src/components/RateLimits';

<SupportedEnvironments />

<Tabs>
<TabItem value="mac-linux" label="macOS | Linux" 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:
<Tabs groupId="interface">
<TabItem value="cli" label="Goose CLI" default>
Run the following command to install the latest version of Goose:

```sh
```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.

:::tip Best Practice
It’s best to keep Goose updated. You can update it by re-running the installation script.
:::
</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
</Link>
</div>
<div style={{ marginTop: '1rem' }}>
1. Unzip the downloaded `Goose.zip` file.
2. Run the executable file to launch the Goose desktop application.
:::tip Best Practice
It’s best to keep Goose updated. You can do this by checking the [Goose GitHub Release page](https://github.com/block/goose/releases/stable) and downloading updates when available.
:::
</div>

</TabItem>
</Tabs>

</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
```
This script will fetch the latest version of Goose and set it up on your system.

:::tip Best Practice
It’s best to keep Goose updated. You can update it by re-running the installation script.
:::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
```
:::
</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
</Link>
</div>
<div style={{ marginTop: '1rem' }}>
1. Unzip the downloaded `Goose.zip` file.
2. Run the executable file to launch the Goose desktop application.
:::tip Best Practice
It’s best to keep Goose updated. You can do this by checking the [Goose GitHub Release page](https://github.com/block/goose/releases/stable) and downloading updates when available.
:::
</div>
</TabItem>

</Tabs>

### Set LLM Provider


## 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
Expand All @@ -74,6 +114,22 @@ Goose works with a set of [supported LLM providers][providers], and you’ll nee
└ 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_google_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_google_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.
Expand All @@ -84,7 +140,7 @@ Goose works with a set of [supported LLM providers][providers], and you’ll nee
</TabItem>
</Tabs>

### Update a Provider
## Update Provider
<Tabs groupId="interface">
<TabItem value="cli" label="Goose CLI" default>
**To update your LLM provider and API key:**
Expand Down
4 changes: 3 additions & 1 deletion documentation/src/components/SupportedEnvironments.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ import Admonition from "@theme/Admonition";
const SupportedEnvironments = () => {
return (
<Admonition type="info" title="Supported Environments">
Goose currently works on <strong>macOS</strong> and <strong>Linux</strong> systems and supports both <strong>ARM</strong> and <strong>x86</strong> architectures. If you'd like to request support for additional operating systems, please{" "}
Goose currently works on <strong>macOS</strong> and <strong>Linux</strong> systems and supports both <strong>ARM</strong> and <strong>x86</strong> architectures.

On <strong>Windows</strong>, Goose CLI can run via WSL. If you'd like to request support for additional operating systems, please{" "}
<a
href="https://github.com/block/goose/discussions/867"
target="_blank"
Expand Down