docs: text-based CLI examples (#790)

This commit is contained in:
Angie Jones
2025-01-26 02:08:39 -06:00
committed by GitHub
parent ee9d1f3d4c
commit 38c93befc8
8 changed files with 329 additions and 162 deletions

View File

@@ -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
@@ -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
@@ -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 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)
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>
@@ -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">

View File

@@ -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)
2. Select `Configure Providers` from the menu and press Enter.
```
┌ 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.
```
┌ 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
### OpenAI
OpenAI offers powerful language models that include GPT-4, GPT-3.5-turbo, and more.
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
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.
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
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.
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
Anthropic is an AI research company that offers advanced language models through its API. Their primary model is Claude, which comes in various versions.
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
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).
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
Groq is an AI company that offers high-performance inference for large language models. They provide access to various models through their API.
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
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.
1. Run the following command and choose `Configure Providers`:
```sh
goose configure
```
2. Select `OpenRouter` from the list of providers and input your `OPENROUTER_API_KEY`, set up via the [OpenRouter Console](https://openrouter.ai/).
</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.
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>
## 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.
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
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.
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
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.
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
Anthropic is an AI research company that offers advanced language models through its API. Their primary model is Claude, which comes in various versions.
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
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).
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
Groq is an AI company that offers high-performance inference for large language models. They provide access to various models through their API.
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
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.
1. Run the following command and choose "Configure Providers":
```sh
goose configure
```
2. Select `OpenRouter` from the list of providers and input your `OPENROUTER_API_KEY`, set up via the [OpenRouter Console](https://openrouter.ai/).

View File

@@ -17,7 +17,7 @@ Out of the box, Goose is installed with a few extensions but with only the `Deve
Here are the built-in extensions:
1. **Developer**: provides a set of general development tools that are useful for software development.
2. **Non-Developer**: provides general computer control tools that doesn't require you to be a developer or engineer.
2. **Computer Controller**: provides general computer control tools for webscraping, file caching, and automations.
3. **Memory**: teaches goose to remember your preferences as you use it
4. **JetBrains**: provides an integration for working with JetBrains IDEs.
5. **Google Drive**: provides an integration for working with Google Drive for file management and access.
@@ -52,26 +52,26 @@ Here are the built-in extensions:
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
What type of extension would you like to add?
> Built-in Extension
Command-line Extension
Remote Extension
Which Built-in extension would you like to enable?
Developer Tools
Non Developer
> Jetbrains
```
┌ goose-configure
What would you like to configure?
Add Extension
◇ What type of extension would you like to add?
│ 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
```
</TabItem>
<TabItem value="ui" label="Goose Desktop">
1. Locate the menu (...) in the top right corner of the Goose Desktop.
1. Click `...` in the top right corner of the Goose Desktop.
2. Select `Settings` from the menu.
3. Under `Extensions`, you can toggle the built-in extensions on or off.
</TabItem>
@@ -110,11 +110,34 @@ For advanced users, you can also edit the `~/.config/goose/config.yaml` file dir
- `Command-Line Extension`: Add a local command or script to run as an extension.
- `Remote Extension`: Connect to a remote system via SSE (Server-Sent Events).
4. Follow the prompts based on the type of extension you selected.
Example of adding Command-Line Extension:
```
┌ goose-configure
◇ What would you like to configure?
│ Add Extension
◇ What type of extension would you like to add?
│ Command-line Extension
◇ What would you like to call this extension?
│ fetch
◇ What command should be run?
│ uvx mcp-server-fetch
◇ Would you like to add environment variables?
│ No
└ Added fetch extension
```
</TabItem>
<TabItem value="ui" label="Goose Desktop">
1. Locate the menu (...) in the top right corner of the Goose Desktop.
1. Click `...` in the top right corner of the Goose Desktop.
2. Select `Settings` from the menu.
3. Under `Extensions`, you can toggle the built-in extensions on or off.
@@ -178,20 +201,20 @@ You can enable or disable installed extensions based on your workflow needs.
```
2. Select `Toggle Extensions` from the menu.
3. A list of already installed extensions will populate.
4. Press the `space bar` to toggle the extension `enabled` or `disabled`.
4. Press the `space bar` to toggle the extension. Solid means enabled.
**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
Enable systems: (use "space" to toggle and "enter" to submit)
[ ] Developer Tools
[X] JetBrains
```
┌ goose-configure
What would you like to configure?
Toggle Extensions
◆ enable extensions: (use "space" to toggle and "enter" to submit)
│ ◼ developer
│ ◻ fetch
```
</TabItem>
<TabItem value="ui" label="Goose Desktop">

View File

@@ -31,7 +31,25 @@ To set up Google Gemini with Goose, follow these steps:
2. Select `Configure Providers` from the menu.
3. Follow the prompts to choose `Google Gemini` as the provider and enter your API key.
![Gemini Config](../assets/guides/gemini-config-cli.png)
```
┌ 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
```
</TabItem>
<TabItem value="ui" label="Goose Desktop">