Files
goose/documentation/docs/installation.md
Bradley Axen 1c9a7c0b05 feat: V1.0 (#734)
Co-authored-by: Michael Neale <michael.neale@gmail.com>
Co-authored-by: Wendy Tang <wendytang@squareup.com>
Co-authored-by: Jarrod Sibbison <72240382+jsibbison-square@users.noreply.github.com>
Co-authored-by: Alex Hancock <alex.hancock@example.com>
Co-authored-by: Alex Hancock <alexhancock@block.xyz>
Co-authored-by: Lifei Zhou <lifei@squareup.com>
Co-authored-by: Wes <141185334+wesrblock@users.noreply.github.com>
Co-authored-by: Max Novich <maksymstepanenko1990@gmail.com>
Co-authored-by: Zaki Ali <zaki@squareup.com>
Co-authored-by: Salman Mohammed <smohammed@squareup.com>
Co-authored-by: Kalvin C <kalvinnchau@users.noreply.github.com>
Co-authored-by: Alec Thomas <alec@swapoff.org>
Co-authored-by: lily-de <119957291+lily-de@users.noreply.github.com>
Co-authored-by: kalvinnchau <kalvin@block.xyz>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Rizel Scarlett <rizel@squareup.com>
Co-authored-by: bwrage <bwrage@squareup.com>
Co-authored-by: Kalvin Chau <kalvin@squareup.com>
Co-authored-by: Alice Hau <110418948+ahau-square@users.noreply.github.com>
Co-authored-by: Alistair Gray <ajgray@stripe.com>
Co-authored-by: Nahiyan Khan <nahiyan.khan@gmail.com>
Co-authored-by: Alex Hancock <alexhancock@squareup.com>
Co-authored-by: Nahiyan Khan <nahiyan@squareup.com>
Co-authored-by: marcelle <1852848+laanak08@users.noreply.github.com>
Co-authored-by: Yingjie He <yingjiehe@block.xyz>
Co-authored-by: Yingjie He <yingjiehe@squareup.com>
Co-authored-by: Lily Delalande <ldelalande@block.xyz>
Co-authored-by: Adewale Abati <acekyd01@gmail.com>
Co-authored-by: Ebony Louis <ebony774@gmail.com>
Co-authored-by: Angie Jones <jones.angie@gmail.com>
Co-authored-by: Ebony Louis <55366651+EbonyLouis@users.noreply.github.com>
2025-01-24 13:04:43 -08:00

134 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
sidebar_position: 1
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
# Installation
:::info Supported Environments
Goose currently works only on **OSX** and **Linux** systems, and supports both **ARM** and **x86** architectures. If you'd like to request support for additional operating systems, please [open an issue on GitHub](https://github.com/block/goose/issues/new?template=Blank+issue) to let us know.
:::
<Tabs groupId="interface">
<TabItem value="cli" label="Goose CLI" default>
#### Installing the Goose CLI
To install Goose, run the following script on macOS or Linux.
```sh
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | sh
```
This script will fetch the latest version of Goose and set it up on your system.
:::tip Best Practice
Its best to keep Goose updated. You can update it by re-running the installation script.
:::
</TabItem>
<TabItem value="ui" label="Goose UI">
#### Installing the Goose Desktop Application
To install Goose, click the **button** below:
<Button
label=":arrow_down: Download Goose Desktop"
link="https://github.com/block/goose/releases/download/stable/Goose.zip"
variant="secondary"
size="lg"
outline
/>
<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
Its 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 Up a Provider
Goose works with a set of [supported LLM providers][providers], and youll need an API key to get started. When you use Goose for the first time, youll be prompted to select a provider and enter your API key.
The process will look similar to the example below:
<Tabs groupId="interface">
<TabItem value="cli" label="Goose CLI" default>
![Set Up a Provider](./assets/guides/set-up-provider.png)
</TabItem>
<TabItem value="ui" label="Goose UI">
![Set Up a Provider UI](./assets/guides/set-up-provider-ui.png)
</TabItem>
</Tabs>
### Update a 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, hover over it and press Enter.
```sh
What would you like to configure?
> Configure Providers
Toggle Extensions
Add Extension
Which Model provider should we use?
> OpenAI
Databricks
Ollama
.....
Enter Api Key:
> sk-1234abcd5678efgh
```
</TabItem>
<TabItem value="ui" label="Goose UI">
**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>
:::info Billing
You will need to have credits in your LLM Provider account (when necessary) to be able to successfully make requests. Some providers also have rate limits on API usage, which can affect your experience. Check out the [Handling Rate Limits][handling-rate-limits] guide to learn how to efficiently manage these limits while using Goose.
:::
## 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 UI">
Starting a session in the Goose UI is straightforward. After choosing your provider, youll 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.
![Install Extension](./assets/guides/ui-session-interface.png)
</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/configuration/managing-extensions
[providers]: /docs/configuration/providers
[handling-rate-limits]: /docs/guides/handling-llm-rate-limits-with-goose
[mcp]: https://www.anthropic.com/news/model-context-protocol