Skip to content

Commit

Permalink
docs: text-based CLI examples (#790)
Browse files Browse the repository at this point in the history
  • Loading branch information
angiejones authored Jan 26, 2025
1 parent ee9d1f3 commit 38c93be
Show file tree
Hide file tree
Showing 8 changed files with 311 additions and 144 deletions.
Binary file modified documentation/docs/assets/guides/gemini-config-cli.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified documentation/docs/assets/guides/set-up-provider-ui.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
70 changes: 47 additions & 23 deletions documentation/docs/getting-started/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,13 @@ import { IconDownload } from "@site/src/components/icons/download";
# Install Goose

:::info Supported Environments
Goose currently works on **macOS** 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).
Goose currently works on **macOS** 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).
:::


<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.
Run the following command to install the latest version of Goose:

```sh
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | sh
Expand All @@ -29,7 +28,6 @@ Goose currently works on **macOS** and **Linux** systems, and supports both **AR
:::
</TabItem>
<TabItem value="ui" label="Goose Desktop">
#### Installing the Goose Desktop Application
To install Goose, click the **button** below:
<div className="pill-button">
<Link
Expand All @@ -50,17 +48,39 @@ Goose currently works on **macOS** and **Linux** systems, and supports both **AR
</TabItem>
</Tabs>

### Set Up a 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.

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)
Upon installing, Goose will automatically enter its configuration screen. Here is where you can set up your LLM provider.

```
┌ 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
```
</TabItem>
<TabItem value="ui" label="Goose Desktop">
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`.
</TabItem>
</Tabs>
Expand All @@ -77,22 +97,26 @@ The process will look similar to the example below:
**Example:**
To select an option during configuration, hover over it and press Enter.
To select an option during configuration, use the up and down arrows to highlight your choice then 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
```
┌ 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">
Expand Down
162 changes: 92 additions & 70 deletions documentation/docs/getting-started/providers.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,105 +13,127 @@ You can use Goose with your preferred LLM. Goose supports a variety of LLM provi
<Tabs groupId="interface">
<TabItem value="cli" label="Goose CLI" default>
1. Run the following command:

```sh
goose configure
```
2. Select `Configure Providers` from the menu.

![Provider Config](../assets/guides/goose-providers-cli.png)

</TabItem>
<TabItem value="ui" label="Goose Desktop">
**To update your LLM provider and API key:**
2. Select `Configure Providers` from the menu and press Enter.

1. Click on the three dots in the top-right corner.
2. Select `Provider Settings` from the menu.
3. Click Edit, enter your API key, and click `Set as Active`.
```
┌ goose-configure
◆ What would you like to configure?
│ ● Configure Providers (Change provider or update credentials)
│ ○ Toggle Extensions
│ ○ Add Extension
```
3. Choose a model provider and press Enter.
</TabItem>
</Tabs>
```
┌ goose-configure
◇ What would you like to configure?
│ Configure Providers
◆ Which model provider should we use?
│ ● Anthropic (Claude and other models from Anthropic)
│ ○ Databricks
│ ○ Google Gemini
│ ○ Groq
│ ○ Ollama
│ ○ OpenAI
│ ○ OpenRouter
```
4. Enter you API key when prompted. Get more info on [how to obtain your API key](/docs/getting-started/providers#available-providers).
## Available Providers
## Available Providers
- OpenAI
- Databricks
- Ollama
- Anthropic
- Google Gemini
- Groq
- OpenRouter
### OpenAI
OpenAI offers powerful language models that include GPT-4, GPT-3.5-turbo, and more.
### OpenAI
1. Run the following command and choose `Configure Providers`:
```sh
goose configure
```
2. Select `OpenAI` from the list of available providers.
3. Enter your `OPENAI_API_KEY` when prompted, which you can obtain by registering at [OpenAI's platform](https://platform.openai.com/api-keys).
OpenAI offers powerful language models that include GPT-4, GPT-3.5-turbo, and more.
### Databricks
1. Run the following command and choose "Configure Providers":
```sh
goose configure
```
2. Select `OpenAI` from the list of available providers.
3. Enter your `OPENAI_API_KEY` when prompted, which you can obtain by registering at [OpenAI's platform](https://platform.openai.com/api-keys).
Databricks is a data analytics and AI platform that provides access to various AI models and tools. They offer integration with popular models and custom model deployment.
### Databricks
1. Run the following command and choose `Configure Providers`:
```sh
goose configure
```
2. Select `Databricks` as your provider.
3. Enter your `DATABRICKS_HOST` and `DATABRICKS_TOKEN`, which can be generated in your [Databricks Account Settings](https://www.databricks.com/).
Databricks is a data analytics and AI platform that provides access to various AI models and tools. They offer integration with popular models and custom model deployment.
### Ollama
1. Run the following command and choose "Configure Providers":
```sh
goose configure
```
2. Select `Databricks` as your provider.
3. Enter your `DATABRICKS_HOST` and `DATABRICKS_TOKEN`, which can be generated in your [Databricks Account Settings](https://www.databricks.com/).
Ollama is an open-source project that allows running large language models locally. It supports various open-source models and provides an API for integration.
### Ollama
1. Run the following command and choose `Configure Providers`:
```sh
goose configure
```
2. Select `Ollama` and follow the steps to download and set up your models as detailed on [Ollama's site](https://ollama.com/). Requires `OLLAMA_HOST`.
Ollama is an open-source project that allows running large language models locally. It supports various open-source models and provides an API for integration.
### Anthropic
1. Run the following command and choose "Configure Providers":
```sh
goose configure
```
2. Select `Ollama` and follow the steps to download and set up your models as detailed on [Ollama's site](https://ollama.com/). Requires `OLLAMA_HOST`.
Anthropic is an AI research company that offers advanced language models through its API. Their primary model is Claude, which comes in various versions.
### Anthropic
1. Run the following command and choose `Configure Providers`:
```sh
goose configure
```
2. Choose `Anthropic` and provide the `ANTHROPIC_API_KEY`, obtainable via [Anthropic's platform](https://www.anthropic.com/).
Anthropic is an AI research company that offers advanced language models through its API. Their primary model is Claude, which comes in various versions.
### Google Gemini
1. Run the following command and choose "Configure Providers":
```sh
goose configure
```
2. Choose `Anthropic` and provide the `ANTHROPIC_API_KEY`, obtainable via [Anthropic's platform](https://www.anthropic.com/).
Google Gemini is a suite of large language models developed by Google. It offers multimodal capabilities and can be accessed through the [Google AI Studio](https://ai.google.dev/gemini-api/docs).
### Google Gemini
1. Run the following command and choose `Configure Providers`:
```sh
goose configure
```
2. Pick `Google Gemini` from the list of providers and input your `GOOGLE_API_KEY`.
Google Gemini is a suite of large language models developed by Google. It offers multimodal capabilities and can be accessed through the [Google AI Studio](https://ai.google.dev/gemini-api/docs).
### Groq
1. Run the following command and choose "Configure Providers":
```sh
goose configure
```
2. Pick `Google Gemini` from the list of providers and input your `GOOGLE_API_KEY`. .
Groq is an AI company that offers high-performance inference for large language models. They provide access to various models through their API.
### Groq
1. Run the following command and choose `Configure Providers`:
```sh
goose configure
```
2. Select `Groq` from the list of providers and input your `GROQ_API_KEY`, set up via the [Groq Console](https://groq.com/).
Groq is an AI company that offers high-performance inference for large language models. They provide access to various models through their API.
### OpenRouter
1. Run the following command and choose "Configure Providers":
```sh
goose configure
```
2. Select `Groq` from the list of providers and input your `GROQ_API_KEY`, set up via the [Groq Console](https://groq.com/).
OpenRouter is a platform that provides access to multiple AI models from various providers through a single API. It simplifies the process of using different AI models in applications.
### OpenRouter
1. Run the following command and choose `Configure Providers`:
```sh
goose configure
```
OpenRouter is a platform that provides access to multiple AI models from various providers through a single API. It simplifies the process of using different AI models in applications.
2. Select `OpenRouter` from the list of providers and input your `OPENROUTER_API_KEY`, set up via the [OpenRouter Console](https://openrouter.ai/).
1. Run the following command and choose "Configure Providers":
```sh
goose configure
```
</TabItem>
<TabItem value="ui" label="Goose Desktop">
**To update your LLM provider and API key:**
2. Select `OpenRouter` from the list of providers and input your `OPENROUTER_API_KEY`, set up via the [OpenRouter Console](https://openrouter.ai/).
1. Click the three dots (`...`) in the top-right corner.
2. Select `Provider Settings` from the menu.
3. Click Edit, enter your API key, and click `Set as Active`.
</TabItem>
</Tabs>
Loading

0 comments on commit 38c93be

Please sign in to comment.