mirror of
https://github.com/block/goose.git
synced 2026-07-17 12:56:20 +02:00
docs: lowercase goose in remaining topics (#5861)
This commit is contained in:
@@ -1,17 +1,17 @@
|
||||
---
|
||||
title: Goose Mobile
|
||||
title: goose Mobile
|
||||
sidebar_position: 3
|
||||
sidebar_label: Goose Mobile
|
||||
sidebar_label: goose Mobile
|
||||
---
|
||||
|
||||
Goose Mobile is an experimental Android project inspired by the Goose application. It acts as an open agent on your phone, automating multistep tasks, responding to notifications, and even replacing your home screen for maximum efficiency.
|
||||
goose Mobile is an experimental Android project inspired by the goose application. It acts as an open agent on your phone, automating multistep tasks, responding to notifications, and even replacing your home screen for maximum efficiency.
|
||||
|
||||
:::danger Experimental
|
||||
Goose Mobile requires deep access to your device. Use at your own risk — best on a spare phone or emulator.
|
||||
goose Mobile requires deep access to your device. Use at your own risk — best on a spare phone or emulator.
|
||||
:::
|
||||
|
||||
<div style={{textAlign: 'center'}}>
|
||||
<img src="https://github.com/user-attachments/assets/af9d7d83-54f4-4ace-ad66-9e19f86c8fb9" alt="Goose Mobile Screenshot" />
|
||||
<img src="https://github.com/user-attachments/assets/af9d7d83-54f4-4ace-ad66-9e19f86c8fb9" alt="goose Mobile Screenshot" />
|
||||
</div>
|
||||
|
||||
## What It Does
|
||||
@@ -22,11 +22,11 @@ Goose Mobile requires deep access to your device. Use at your own risk — best
|
||||
|
||||
## Installation
|
||||
- **Pre-built APK:** Install quickly via [Firebase distribution link](https://appdistribution.firebase.google.com/pub/i/3f111ea732d5f7f6).
|
||||
- **Build from Source:** Developer instructions are in the [Goose Mobile repository](https://github.com/block/goose-mobile).
|
||||
- **Build from Source:** Developer instructions are in the [goose Mobile repository](https://github.com/block/goose-mobile).
|
||||
|
||||
|
||||
## Extending Goose Mobile
|
||||
Goose Mobile supports the **mobile MCP** system, which lets it use tools from other apps without leaving context — e.g., fetching weather data via a weather extension.
|
||||
## Extending goose Mobile
|
||||
goose Mobile supports the **mobile MCP** system, which lets it use tools from other apps without leaving context — e.g., fetching weather data via a weather extension.
|
||||
|
||||
Sample code and setup instructions are in the repository [README](https://github.com/block/goose-mobile).
|
||||
|
||||
@@ -35,4 +35,4 @@ We welcome contributions! See the [Contributing Guide](https://github.com/block/
|
||||
|
||||
---
|
||||
|
||||
For more scenarios, instructions, and development setup, visit the [Goose Mobile repository](https://github.com/block/goose-mobile).
|
||||
For more scenarios, instructions, and development setup, visit the [goose Mobile repository](https://github.com/block/goose-mobile).
|
||||
@@ -9,11 +9,11 @@ import styles from '@site/src/components/Card/styles.module.css';
|
||||
|
||||
<h1 className={styles.pageTitle}>Experimental</h1>
|
||||
<p className={styles.pageDescription}>
|
||||
Goose is an open source project that is constantly being improved and expanded upon. These experimental features and projects are still in development and may not be fully stable or ready for production use, but they showcase exciting possibilities for the future of AI automation.
|
||||
goose is an open source project that is constantly being improved and expanded upon. These experimental features and projects are still in development and may not be fully stable or ready for production use, but they showcase exciting possibilities for the future of AI automation.
|
||||
</p>
|
||||
|
||||
:::note
|
||||
The list of experimental features may change as Goose development progresses. Some features may be promoted to stable features, while others might be modified or removed. This section will be updated with specific experimental features as they become available.
|
||||
The list of experimental features may change as goose development progresses. Some features may be promoted to stable features, while others might be modified or removed. This section will be updated with specific experimental features as they become available.
|
||||
:::
|
||||
|
||||
<div className={styles.categorySection}>
|
||||
@@ -25,7 +25,7 @@ The list of experimental features may change as Goose development progresses. So
|
||||
link="/docs/experimental/ollama"
|
||||
/>
|
||||
<Card
|
||||
title="Goose Mobile"
|
||||
title="goose Mobile"
|
||||
description="An experimental Android automation app that acts as an open agent running on your phone, providing maximal automation of everyday tasks."
|
||||
link="/docs/experimental/goose-mobile"
|
||||
/>
|
||||
@@ -46,13 +46,13 @@ The list of experimental features may change as Goose development progresses. So
|
||||
link="/blog/2025/04/11/finetuning-toolshim"
|
||||
/>
|
||||
<Card
|
||||
title="AI, But Make It Local With Goose and Ollama"
|
||||
description="Learn how to integrate Goose with Ollama for a fully local AI experience, including structured outputs and tool calling capabilities."
|
||||
title="AI, But Make It Local With goose and Ollama"
|
||||
description="Learn how to integrate goose with Ollama for a fully local AI experience, including structured outputs and tool calling capabilities."
|
||||
link="/blog/2025/03/14/goose-ollama"
|
||||
/>
|
||||
<Card
|
||||
title="Community-Inspired Benchmarking: The Goose Vibe Check"
|
||||
description="See how open source AI models measure up in our first Goose agent benchmark tests, including toolshim performance analysis."
|
||||
title="Community-Inspired Benchmarking: The goose Vibe Check"
|
||||
description="See how open source AI models measure up in our first goose agent benchmark tests, including toolshim performance analysis."
|
||||
link="/blog/2025/03/31/goose-benchmark"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -37,7 +37,7 @@ The Ollama tool shim is an experimental feature that enables tool calling capabi
|
||||
GOOSE_TOOLSHIM=1
|
||||
```
|
||||
|
||||
Start a new Goose session with your tool shim preferences:
|
||||
Start a new goose session with your tool shim preferences:
|
||||
|
||||
```bash
|
||||
GOOSE_TOOLSHIM=1 GOOSE_TOOLSHIM_OLLAMA_MODEL=llama3.2 cargo run --bin goose session
|
||||
|
||||
@@ -9,14 +9,14 @@ import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
:::warning
|
||||
This is an experimental extension enables you to use Goose within VS Code. It is not to be confused with the [VS Code MCP Server](/docs/mcp/vs-code-mcp).
|
||||
This is an experimental extension enables you to use goose within VS Code. It is not to be confused with the [VS Code MCP Server](/docs/mcp/vs-code-mcp).
|
||||
:::
|
||||
|
||||
This tutorial covers how to install and use the [Goose VS Code Extension](https://marketplace.visualstudio.com/items?itemName=block.vscode-goose) so you can use Goose within VS Code.
|
||||
This tutorial covers how to install and use the [goose VS Code Extension](https://marketplace.visualstudio.com/items?itemName=block.vscode-goose) so you can use goose within VS Code.
|
||||
|
||||
:::info Prerequisite
|
||||
- [VS Code](https://code.visualstudio.com/) version 1.95.0 or higher is required
|
||||
- [Goose Desktop](https://block.github.io/goose/) must be installed and **running**
|
||||
- [goose Desktop](https://block.github.io/goose/) must be installed and **running**
|
||||
:::
|
||||
|
||||
## Configuration
|
||||
@@ -29,10 +29,10 @@ This tutorial covers how to install and use the [Goose VS Code Extension](https:
|
||||
- Windows/Linux: `Ctrl+Shift+X`
|
||||
- macOS: `Cmd+Shift+X`
|
||||
- Or use: View → Extensions
|
||||
3. Search for `VS Code Goose`
|
||||
4. Click Install on [VS Code Goose](https://marketplace.visualstudio.com/items?itemName=block.vscode-goose) by Block
|
||||
3. Search for `VS Code goose`
|
||||
4. Click Install on [VS Code goose](https://marketplace.visualstudio.com/items?itemName=block.vscode-goose) by Block
|
||||
5. Restart VS Code if prompted
|
||||
6. Open the Goose: Chat side panel to start a new conversation or view conversation history
|
||||
6. Open the goose: Chat side panel to start a new conversation or view conversation history
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="cli" label="goose CLI">
|
||||
@@ -43,31 +43,31 @@ Not available via CLI.
|
||||
</Tabs>
|
||||
|
||||
:::tip
|
||||
You can ask Goose about a particular file or code block by:
|
||||
You can ask goose about a particular file or code block by:
|
||||
- Selecting the code you want to discuss
|
||||
- Right-clicking and choosing "Ask Goose about this code"
|
||||
- Right-clicking and choosing "Ask goose about this code"
|
||||
- The code will appear as a reference chip above the chat input
|
||||
:::
|
||||
|
||||
## Example Usage
|
||||
|
||||
The Goose VS Code Extension connects directly to your editor, letting you manage files, projects, and workflows with AI. It includes the following features:
|
||||
The goose VS Code Extension connects directly to your editor, letting you manage files, projects, and workflows with AI. It includes the following features:
|
||||
|
||||
- Interactive chat UI
|
||||
- Access to Goose's AI capabilities directly within VS Code
|
||||
- Access to goose's AI capabilities directly within VS Code
|
||||
- Unified session switching
|
||||
- Code referencing with visual chips in the chat UI
|
||||
- Quick actions for common coding tasks
|
||||
- Clipboard tools to copy code snippets/responses for easy sharing
|
||||
|
||||
|
||||
### Goose Prompt
|
||||
### goose Prompt
|
||||
|
||||
```
|
||||
Update the contributing guide at /goose/CONTRIBUTING.md with instructions on how to start docusaurus dev server
|
||||
```
|
||||
|
||||
### Goose Output
|
||||
### goose Output
|
||||
|
||||
```
|
||||
|
||||
|
||||
@@ -3,6 +3,6 @@
|
||||
"position": 6,
|
||||
"link": {
|
||||
"type": "generated-index",
|
||||
"description": "Extend Goose functionalities with extensions and custom configurations"
|
||||
"description": "Extend goose functionalities with extensions and custom configurations"
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
---
|
||||
title: Error Handling
|
||||
---
|
||||
# Error Handling in Goose
|
||||
# Error Handling in goose
|
||||
|
||||
Error handling is a key performance-driving part of Goose. There are many ways that the non-determinism
|
||||
in the LLM can introduce an error that it can in turn recover from. In a typical Goose session, it's expected for there
|
||||
Error handling is a key performance-driving part of goose. There are many ways that the non-determinism
|
||||
in the LLM can introduce an error that it can in turn recover from. In a typical goose session, it's expected for there
|
||||
to be several agent errors that the model can see directly and correct, perhaps entirely behind the scenes.
|
||||
|
||||
## Traditional Errors
|
||||
|
||||
@@ -4,7 +4,7 @@ sidebar_position: 2
|
||||
|
||||
# Extensions Design
|
||||
|
||||
This document describes the design and implementation of the [Extensions framework](/docs/getting-started/using-extensions) in Goose, which enables AI agents to interact with different extensions through a unified tool-based interface.
|
||||
This document describes the design and implementation of the [Extensions framework](/docs/getting-started/using-extensions) in goose, which enables AI agents to interact with different extensions through a unified tool-based interface.
|
||||
|
||||
## Core Concepts
|
||||
|
||||
|
||||
@@ -1,31 +1,31 @@
|
||||
---
|
||||
title: Goose Architecture
|
||||
title: goose Architecture
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# Goose Architecture
|
||||
# goose Architecture
|
||||
|
||||
Goose, an open source AI Agent, builds upon the basic interaction framework of Large Language Models (LLMs), which primarily functions as a text-based conversational interface. It processes text input and generates text output. This "text in, text out" approach is enhanced with tool integrations, which allows the AI agent to complete tasks, creating Goose.
|
||||
goose, an open source AI Agent, builds upon the basic interaction framework of Large Language Models (LLMs), which primarily functions as a text-based conversational interface. It processes text input and generates text output. This "text in, text out" approach is enhanced with tool integrations, which allows the AI agent to complete tasks, creating goose.
|
||||
|
||||
## Goose Components
|
||||
Goose operates using three main components, the **interface**, the **agent**, and the **connected [extensions](/docs/getting-started/using-extensions)**.
|
||||
## goose Components
|
||||
goose operates using three main components, the **interface**, the **agent**, and the **connected [extensions](/docs/getting-started/using-extensions)**.
|
||||
|
||||
* **Interface**: This is the desktop application or CLI that the user is using to run Goose. It collects input from the user and displays outputs to the user
|
||||
* **Interface**: This is the desktop application or CLI that the user is using to run goose. It collects input from the user and displays outputs to the user
|
||||
|
||||
* **Agent**: The agent runs Goose's core logic, managing the interactive loop.
|
||||
* **Agent**: The agent runs goose's core logic, managing the interactive loop.
|
||||
|
||||
* **Extensions**: Extensions are components that provide specific tools and capabilities for the agent to use. These tools enable Goose to perform actions such as running commands and managing files.
|
||||
* **Extensions**: Extensions are components that provide specific tools and capabilities for the agent to use. These tools enable goose to perform actions such as running commands and managing files.
|
||||
|
||||
In a typical session, the interface spins up an instance of the agent, which then connects to one or more extensions simultaneously. The interface can also create multiple agents to handle different tasks concurrently. Extensions and the interactive loop are important parts of Goose's functionality. The next sections will explain how Goose connects to extensions and processes user requests.
|
||||
In a typical session, the interface spins up an instance of the agent, which then connects to one or more extensions simultaneously. The interface can also create multiple agents to handle different tasks concurrently. Extensions and the interactive loop are important parts of goose's functionality. The next sections will explain how goose connects to extensions and processes user requests.
|
||||
|
||||
## Interoperability with Extensions
|
||||
[Model Context Protocol (MCP)](https://modelcontextprotocol.io/) is an open standard that allows for interoperability between data sources and AI agents. Goose utilizes MCP to connect to [MCP systems/servers](https://github.com/modelcontextprotocol/servers?tab=readme-ov-file#model-context-protocol-servers). In Goose, these systems/servers are referred to as extensions.
|
||||
[Model Context Protocol (MCP)](https://modelcontextprotocol.io/) is an open standard that allows for interoperability between data sources and AI agents. goose utilizes MCP to connect to [MCP systems/servers](https://github.com/modelcontextprotocol/servers?tab=readme-ov-file#model-context-protocol-servers). In goose, these systems/servers are referred to as extensions.
|
||||
|
||||
|
||||
Extensions expose their functionality to Goose through tools. Tools are the functions that allow extensions to perform specific actions, such as running commands, or performing file operations. For example, the Google Drive extension includes a tool for searching documents. That tool is what gives Goose the ability to perform that action.
|
||||
Extensions expose their functionality to goose through tools. Tools are the functions that allow extensions to perform specific actions, such as running commands, or performing file operations. For example, the Google Drive extension includes a tool for searching documents. That tool is what gives goose the ability to perform that action.
|
||||
|
||||
|
||||
Goose comes with a set of [built-in extensions](/docs/getting-started/using-extensions#built-in-extensions), each designed to enhance your interaction. These include tools for development, web scraping, automation, memory, and integrations with JetBrains and Google Drive. Goose also supports [connecting to external extensions](/docs/getting-started/using-extensions#adding-extensions) or [creating custom extensions](/docs/tutorials/custom-extensions) as MCP servers.
|
||||
goose comes with a set of [built-in extensions](/docs/getting-started/using-extensions#built-in-extensions), each designed to enhance your interaction. These include tools for development, web scraping, automation, memory, and integrations with JetBrains and Google Drive. goose also supports [connecting to external extensions](/docs/getting-started/using-extensions#adding-extensions) or [creating custom extensions](/docs/tutorials/custom-extensions) as MCP servers.
|
||||
|
||||
To learn more about the design and implementation of extensions and tools, refer to the [Extensions Design Guide](/docs/goose-architecture/extensions-design#tools).
|
||||
|
||||
@@ -34,31 +34,31 @@ To learn more about the design and implementation of extensions and tools, refer
|
||||
|
||||
Let's take a closer look at the interactive loop shown above.
|
||||
|
||||
1. **Human Request**: The process begins and ends with you. Once you give Goose a request, question, command, or problem to solve, the flow begins.
|
||||
1. **Human Request**: The process begins and ends with you. Once you give goose a request, question, command, or problem to solve, the flow begins.
|
||||
|
||||
2. **Provider Chat**: Goose sends your request along with a list of available tools to the [LLM provider](/docs/getting-started/providers) you've connected. The provider processes it, and if necessary, creates a tool call as part of its response.
|
||||
2. **Provider Chat**: goose sends your request along with a list of available tools to the [LLM provider](/docs/getting-started/providers) you've connected. The provider processes it, and if necessary, creates a tool call as part of its response.
|
||||
|
||||
3. **Model Extension Call**: The LLM is capable of creating a tool call request but not able to execute it, that's when Goose steps in. Goose takes the tool call which is formatted in JSON, runs it, and gathers the results.
|
||||
3. **Model Extension Call**: The LLM is capable of creating a tool call request but not able to execute it, that's when goose steps in. goose takes the tool call which is formatted in JSON, runs it, and gathers the results.
|
||||
|
||||
4. **Response to Model**: After executing the tool call, Goose sends the results back to the model. If more extensions are needed, those steps will repeat.
|
||||
4. **Response to Model**: After executing the tool call, goose sends the results back to the model. If more extensions are needed, those steps will repeat.
|
||||
|
||||
5. **Context Revision**: Goose will remove any old or irrelevant information, ensuring the LLM focuses solely on the information that matters the most. This helps with token management.
|
||||
5. **Context Revision**: goose will remove any old or irrelevant information, ensuring the LLM focuses solely on the information that matters the most. This helps with token management.
|
||||
|
||||
6. **Model Response**: Once all the tool calls are done, the LLM sends a final response back to you and restarts the loop once you respond.
|
||||
|
||||
## Error Handling in Goose
|
||||
## Error Handling in goose
|
||||
|
||||
As opposed to allowing an error to break the flow, Goose captures and handles traditional errors along with execution errors. Errors such as invalid JSON, missing tools, etc. are sent back to the model as tool responses giving the LLM the information it needs to resolve the error and continue.
|
||||
As opposed to allowing an error to break the flow, goose captures and handles traditional errors along with execution errors. Errors such as invalid JSON, missing tools, etc. are sent back to the model as tool responses giving the LLM the information it needs to resolve the error and continue.
|
||||
|
||||
For more details on how Goose handles errors, refer to the [Error Handling in Goose](/docs/goose-architecture/error-handling) Guide.
|
||||
For more details on how goose handles errors, refer to the [Error Handling in goose](/docs/goose-architecture/error-handling) Guide.
|
||||
|
||||
|
||||
## Context Revision: Token Management
|
||||
|
||||
While Goose is free and open source, there is typically a cost associated with LLM token usage. Everything competes for token usage including messages, tool requests, resources, file content, instructions, etc. This is where Content Revision comes into play to help reduce some of those costs. There are a few things that are done to assist with this:
|
||||
* Goose summarizes with faster and smaller LLMs
|
||||
* Goose includes everything versus a semantic search
|
||||
* Goose uses algorithms to delete old or irrelevant content
|
||||
* Goose will use find and replace instead of rewriting large files, use ripgrep to skip system files, and summarize verbose command outputs
|
||||
While goose is free and open source, there is typically a cost associated with LLM token usage. Everything competes for token usage including messages, tool requests, resources, file content, instructions, etc. This is where Content Revision comes into play to help reduce some of those costs. There are a few things that are done to assist with this:
|
||||
* goose summarizes with faster and smaller LLMs
|
||||
* goose includes everything versus a semantic search
|
||||
* goose uses algorithms to delete old or irrelevant content
|
||||
* goose will use find and replace instead of rewriting large files, use ripgrep to skip system files, and summarize verbose command outputs
|
||||
|
||||
|
||||
|
||||
@@ -3,6 +3,6 @@
|
||||
"position": 3,
|
||||
"link": {
|
||||
"type": "generated-index",
|
||||
"description": "Learn essential tips and recommendations for using Goose"
|
||||
"description": "Learn essential tips and recommendations for using goose"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,6 @@
|
||||
"position": 5,
|
||||
"link": {
|
||||
"type": "generated-index",
|
||||
"description": "How to integrate and use MCP servers as Goose extensions"
|
||||
"description": "How to integrate and use MCP servers as goose extensions"
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Apify Extension
|
||||
description: Add Apify MCP server as a Goose Extension
|
||||
description: Add Apify MCP server as a goose Extension
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Brave Search Extension
|
||||
description: Add Brave Search API as a Goose Extension
|
||||
description: Add Brave Search API as a goose Extension
|
||||
unlisted: true
|
||||
---
|
||||
|
||||
@@ -13,7 +13,7 @@ import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
|
||||
|
||||
Server moved
|
||||
|
||||
This tutorial will get you started with the [Brave Search MCP Server](https://www.pulsemcp.com/servers/brave-search) as a Goose extension to enable interactive searches for both web and local searches.
|
||||
This tutorial will get you started with the [Brave Search MCP Server](https://www.pulsemcp.com/servers/brave-search) as a goose extension to enable interactive searches for both web and local searches.
|
||||
|
||||
:::tip TLDR
|
||||
<Tabs groupId="interface">
|
||||
@@ -112,7 +112,7 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
|
||||
└
|
||||
```
|
||||
|
||||
5. Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
|
||||
5. Enter the number of seconds goose should wait for actions to complete before timing out. Default is 300s
|
||||
```sh
|
||||
┌ goose-configure
|
||||
│
|
||||
@@ -218,13 +218,13 @@ The Brave Search MCP server gives you access to the Brave Search API, providing
|
||||
- **Smart Fallbacks**: Local search automatically falls back to web when no results are found
|
||||
|
||||
|
||||
#### Goose Prompt
|
||||
#### goose Prompt
|
||||
|
||||
```
|
||||
( O)> Organize a Italian dinner party with Ian, Rizel, Ace, and Ebony. Find 3 or 4 YouTube cooking channels (with URLs) that focus on Italian cuisine for beginners, and then find one recipe (with URL) for each person to make: one salad, two entrees, and one dessert.
|
||||
```
|
||||
|
||||
#### Goose Output
|
||||
#### goose Output
|
||||
|
||||
```
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
---
|
||||
title: Cloudflare Extension
|
||||
description: Add Cloudflare MCP Servers as Goose Extensions
|
||||
description: Add Cloudflare MCP Servers as goose Extensions
|
||||
unlisted: true
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
This tutorial covers how to add [Cloudflare's MCP Servers](https://github.com/cloudflare/mcp-server-cloudflare) as Goose extensions to manage your Cloudflare infrastructure, debug applications, analyze traffic, and more using natural language.
|
||||
This tutorial covers how to add [Cloudflare's MCP Servers](https://github.com/cloudflare/mcp-server-cloudflare) as goose extensions to manage your Cloudflare infrastructure, debug applications, analyze traffic, and more using natural language.
|
||||
|
||||
Cloudflare provides multiple specialized MCP servers for different aspects of their platform, allowing you to interact with Workers, DNS, security features, analytics, and development tools.
|
||||
|
||||
@@ -72,7 +72,7 @@ Cloudflare provides multiple specialized MCP servers for different use cases:
|
||||
- **Workers:Read/Edit** - For Workers-related servers
|
||||
- **Logs:Read** - For observability and audit logs
|
||||
|
||||
### Step 2: Add MCP Server to Goose
|
||||
### Step 2: Add MCP Server to goose
|
||||
|
||||
Choose one or more servers based on your needs. Here are the most popular configurations:
|
||||
|
||||
@@ -135,7 +135,7 @@ Let's use the Observability server to debug performance issues with a Workers ap
|
||||
Anthropic's Claude 4 Sonnet was used for this task.
|
||||
:::
|
||||
|
||||
#### Goose Prompt
|
||||
#### goose Prompt
|
||||
```
|
||||
I'm seeing high error rates on my Workers application "my-api-worker". Can you help me:
|
||||
1. Check the recent error logs
|
||||
@@ -144,13 +144,13 @@ I'm seeing high error rates on my Workers application "my-api-worker". Can you h
|
||||
4. Suggest optimizations based on the data
|
||||
```
|
||||
|
||||
#### Expected Goose Output
|
||||
#### Expected goose Output
|
||||
```
|
||||
I'll help you debug the issues with your "my-api-worker" application. Let me gather the observability data to identify the problems.
|
||||
|
||||
First, let me check the recent error logs for your worker:
|
||||
|
||||
[Goose uses the observability MCP server to fetch error logs]
|
||||
[goose uses the observability MCP server to fetch error logs]
|
||||
|
||||
I found several issues with your worker:
|
||||
|
||||
@@ -182,7 +182,7 @@ Would you like me to help implement any of these fixes?
|
||||
|
||||
Using the Workers Bindings server to set up storage and AI capabilities:
|
||||
|
||||
#### Goose Prompt
|
||||
#### goose Prompt
|
||||
```
|
||||
I need to set up a new Workers project with:
|
||||
1. KV storage for caching
|
||||
@@ -197,7 +197,7 @@ Can you help me configure these bindings?
|
||||
|
||||
Using the Radar server for security and traffic analysis:
|
||||
|
||||
#### Goose Prompt
|
||||
#### goose Prompt
|
||||
```
|
||||
Can you help me analyze the security posture of my domain example.com? I want to:
|
||||
1. Check for any security threats or malicious traffic
|
||||
@@ -283,7 +283,7 @@ If you encounter issues:
|
||||
|
||||
## Next Steps
|
||||
|
||||
With Cloudflare MCP servers enabled in Goose, you can:
|
||||
With Cloudflare MCP servers enabled in goose, you can:
|
||||
|
||||
- **Monitor and debug** your applications with natural language queries
|
||||
- **Manage infrastructure** through conversational commands
|
||||
|
||||
@@ -67,7 +67,7 @@ Anthropic's Claude 4 Sonnet was used for this task.
|
||||
</TabItem>
|
||||
<TabItem value="cli" label="goose CLI">
|
||||
|
||||
1. Open a terminal and start a new Goose session:
|
||||
1. Open a terminal and start a new goose session:
|
||||
|
||||
```sh
|
||||
goose session
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: GitHub Extension
|
||||
description: Add GitHub MCP Server as a Goose Extension
|
||||
description: Add GitHub MCP Server as a goose Extension
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
@@ -11,7 +11,7 @@ import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
|
||||
|
||||
<YouTubeShortEmbed videoUrl="https://www.youtube.com/embed/TbmQDv3SQOE" />
|
||||
|
||||
This tutorial covers how to add the [GitHub MCP Server](https://github.com/github/github-mcp-server) as a Goose extension to enable file operations, repository management, search functionality, and more.
|
||||
This tutorial covers how to add the [GitHub MCP Server](https://github.com/github/github-mcp-server) as a goose extension to enable file operations, repository management, search functionality, and more.
|
||||
|
||||
:::tip TLDR
|
||||
<Tabs groupId="interface">
|
||||
@@ -108,7 +108,7 @@ repo: goose-demo
|
||||
─── create_or_update_file | github ──────────────────────────
|
||||
branch: hello-world
|
||||
content: this was written by goose
|
||||
message: Update README.md with Goose message
|
||||
message: Update README.md with goose message
|
||||
owner: angiejones
|
||||
path: README.md
|
||||
repo: goose-demo
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Google Drive Extension
|
||||
description: Add Google Drive MCP Server as a Goose Extension
|
||||
description: Add Google Drive MCP Server as a goose Extension
|
||||
unlisted: true
|
||||
---
|
||||
|
||||
@@ -13,7 +13,7 @@ import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
|
||||
|
||||
Server archived
|
||||
|
||||
This tutorial covers how to add the [Google Drive MCP Server](https://www.pulsemcp.com/servers/modelcontextprotocol-gdrive) as a Goose extension, allowing you to list, read, and search files in Google Drive.
|
||||
This tutorial covers how to add the [Google Drive MCP Server](https://www.pulsemcp.com/servers/modelcontextprotocol-gdrive) as a goose extension, allowing you to list, read, and search files in Google Drive.
|
||||
|
||||
:::tip TLDR
|
||||
<Tabs groupId="interface">
|
||||
@@ -175,7 +175,7 @@ You'll need to re-authenticate once a day when using the Google Drive extension.
|
||||
└
|
||||
```
|
||||
|
||||
5. Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
|
||||
5. Enter the number of seconds goose should wait for actions to complete before timing out. Default is 300s
|
||||
```sh
|
||||
┌ goose-configure
|
||||
│
|
||||
@@ -275,9 +275,9 @@ You'll need to re-authenticate once a day when using the Google Drive extension.
|
||||
|
||||
## Example Usage
|
||||
|
||||
In this example, I’ll use Goose to quickly gather and summarize important information for my upcoming marketing budget review meeting in 30 minutes. I’ll ask Goose to find relevant documents from my Google Drive, summarize Q1 performance, highlight critical decisions on marketing automation and video production, and identify any outstanding action items from our last meeting.
|
||||
In this example, I’ll use goose to quickly gather and summarize important information for my upcoming marketing budget review meeting in 30 minutes. I’ll ask goose to find relevant documents from my Google Drive, summarize Q1 performance, highlight critical decisions on marketing automation and video production, and identify any outstanding action items from our last meeting.
|
||||
|
||||
### Goose Prompt
|
||||
### goose Prompt
|
||||
```
|
||||
I have an important marketing budget review meeting in 30 minutes and I need your help getting prepared. I have several documents in my Google Drive from our previous meetings and planning sessions. Could you help me by:
|
||||
|
||||
@@ -289,7 +289,7 @@ I have an important marketing budget review meeting in 30 minutes and I need you
|
||||
I need a quick but comprehensive overview so I can walk into this meeting well-prepared.
|
||||
```
|
||||
|
||||
### Goose Output
|
||||
### goose Output
|
||||
|
||||
```
|
||||
I'll help you prepare for your meeting. Let me first list available resources from Google Drive to make sure we access the correct files.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Google Maps Extension
|
||||
description: Add Google Maps MCP Server as a Goose Extension
|
||||
description: Add Google Maps MCP Server as a goose Extension
|
||||
unlisted: true
|
||||
---
|
||||
|
||||
@@ -11,7 +11,7 @@ import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
|
||||
|
||||
Server archived
|
||||
|
||||
This tutorial covers how to add the [Google Maps MCP Server](https://www.pulsemcp.com/servers/google-maps-docs) as a Goose extension to enable geocoding, place searching, distance calculations, elevation data retrieval, and directions.
|
||||
This tutorial covers how to add the [Google Maps MCP Server](https://www.pulsemcp.com/servers/google-maps-docs) as a goose extension to enable geocoding, place searching, distance calculations, elevation data retrieval, and directions.
|
||||
|
||||
:::tip TLDR
|
||||
<Tabs groupId="interface">
|
||||
@@ -112,7 +112,7 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
|
||||
└
|
||||
```
|
||||
|
||||
5. Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
|
||||
5. Enter the number of seconds goose should wait for actions to complete before timing out. Default is 300s
|
||||
```sh
|
||||
┌ goose-configure
|
||||
│
|
||||
@@ -206,29 +206,29 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
|
||||
|
||||
## Example Usage
|
||||
|
||||
Goose acts as an autonomous agent that tracks a delivery driver’s location, updates the customer in real-time, and adjusts ETAs dynamically based on Google Maps traffic data.
|
||||
goose acts as an autonomous agent that tracks a delivery driver’s location, updates the customer in real-time, and adjusts ETAs dynamically based on Google Maps traffic data.
|
||||
|
||||
Goose can:
|
||||
goose can:
|
||||
|
||||
**Monitor Driver Location**
|
||||
* Goose gets the driver’s GPS coordinates every few seconds.
|
||||
* If the driver’s location is significantly behind schedule, Goose recalculates the ETA.
|
||||
* goose gets the driver’s GPS coordinates every few seconds.
|
||||
* If the driver’s location is significantly behind schedule, goose recalculates the ETA.
|
||||
|
||||
**Traffic-Aware ETA Adjustments**
|
||||
* Goose queries Google Maps for live traffic conditions.
|
||||
* If delays are detected, Goose updates the customer’s tracker with a new estimated time.
|
||||
* goose queries Google Maps for live traffic conditions.
|
||||
* If delays are detected, goose updates the customer’s tracker with a new estimated time.
|
||||
|
||||
**Dynamic Customer Notifications**
|
||||
* If the driver is stuck in traffic, Goose sends an alert to the customer: “Your driver is running late due to traffic. Updated ETA: 7:25 PM.”
|
||||
* If the driver is ahead of schedule, Goose notifies the restaurant to prepare the food earlier.
|
||||
* If the driver is stuck in traffic, goose sends an alert to the customer: “Your driver is running late due to traffic. Updated ETA: 7:25 PM.”
|
||||
* If the driver is ahead of schedule, goose notifies the restaurant to prepare the food earlier.
|
||||
|
||||
|
||||
### Goose Prompt
|
||||
### goose Prompt
|
||||
```
|
||||
Track the live GPS location of driver ID #12345. Query Google Maps for real-time traffic data and adjust the estimated delivery time if delays exceed 5 minutes. If ETA changes, update the customer’s live tracker and send an SMS notification. If the delay is greater than 20 minutes, check if another driver within a 1-mile radius can take over the delivery.
|
||||
```
|
||||
|
||||
### Goose Output
|
||||
### goose Output
|
||||
|
||||
:::note CLI
|
||||
Okay, I will track Driver #12345, query Google Maps for traffic data, adjust the ETA, and notify the customer.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
---
|
||||
title: I Ching Extension
|
||||
description: Add I Ching MCP Server as a Goose Extension
|
||||
description: Add I Ching MCP Server as a goose Extension
|
||||
---
|
||||
|
||||
This tutorial covers how to add the [I Ching MCP Server](https://github.com/threemachines/i-ching) as a Goose extension to enable traditional I Ching divination readings.
|
||||
This tutorial covers how to add the [I Ching MCP Server](https://github.com/threemachines/i-ching) as a goose extension to enable traditional I Ching divination readings.
|
||||
|
||||
:::tip TLDR
|
||||
1. Install: `cargo install i-ching`
|
||||
@@ -20,8 +20,8 @@ rustc --version
|
||||
|
||||
If you need to install or update Rust, visit [rustup.rs](https://rustup.rs/).
|
||||
|
||||
:::tip Use Goose to Help!
|
||||
If you're unsure about any of these steps, you can ask Goose to help you check your system and guide you through the Rust installation process.
|
||||
:::tip Use goose to Help!
|
||||
If you're unsure about any of these steps, you can ask goose to help you check your system and guide you through the Rust installation process.
|
||||
:::
|
||||
|
||||
Once Rust is ready, install the I Ching crate from crates.io:
|
||||
@@ -30,15 +30,15 @@ Once Rust is ready, install the I Ching crate from crates.io:
|
||||
cargo install i-ching
|
||||
```
|
||||
|
||||
Then click the link above to configure it in Goose.
|
||||
Then click the link above to configure it in goose.
|
||||
|
||||
## Example Usage
|
||||
|
||||
### Goose Prompt
|
||||
### goose Prompt
|
||||
|
||||
> Our team is facing a challenging decision about our product roadmap. Could you consult the I Ching for some perspective on how to approach this choice?
|
||||
|
||||
### Goose Output
|
||||
### goose Output
|
||||
|
||||
I'd be happy to consult the I Ching for guidance on your team's product roadmap decision. Let me cast a hexagram for you using the traditional three coins method.
|
||||
─── cast_hexagram | iching ──────────────────────────
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Kiwi Flight Search Extension
|
||||
description: Add Kiwi Flight Search MCP Server as a Goose Extension
|
||||
description: Add Kiwi Flight Search MCP Server as a goose Extension
|
||||
unlisted: true
|
||||
---
|
||||
|
||||
@@ -16,7 +16,7 @@ import { PanelLeft } from 'lucide-react';
|
||||
|
||||
Server moved: https://apify.com/agentify/kiwi-mcp-server
|
||||
|
||||
This tutorial covers how to add the [Kiwi Flight Search MCP Server](https://mcp.kiwi.com) as a Goose extension to enable flight search and price comparison.
|
||||
This tutorial covers how to add the [Kiwi Flight Search MCP Server](https://mcp.kiwi.com) as a goose extension to enable flight search and price comparison.
|
||||
|
||||
:::tip TLDR
|
||||
<Tabs groupId="interface">
|
||||
@@ -64,13 +64,13 @@ This tutorial covers how to add the [Kiwi Flight Search MCP Server](https://mcp.
|
||||
|
||||
Let's search for flights between any two locations on specific dates. You can search by city names or airport codes, and the extension will find available flights with pricing, duration, and booking links.
|
||||
|
||||
### Goose Prompt
|
||||
### goose Prompt
|
||||
|
||||
```
|
||||
Can you help me search for a flight from Paris to Rome for August 9?
|
||||
```
|
||||
|
||||
### Goose Output
|
||||
### goose Output
|
||||
|
||||
```
|
||||
I'd be happy to help you search for flights from Paris to Rome for August 9th! Let me search for available options for you.
|
||||
|
||||
@@ -66,7 +66,7 @@ The available commands allow you to drive the mbot2 rover around, including:
|
||||
|
||||
The default distance to travel is 70cm (about 27 inches), and the turn angles are set to 90 degrees. You can change these values in the [Python code on the mbot2](https://github.com/deemkeen/mbotmcp/blob/main/assets/mbot-mqtt.py). The mbot2 has a lot of other capabilities with the proximity sensors, lights, and color detection sensor on the bottom of the unit that you can add to the Python code, and will need to update [the Java code](https://github.com/deemkeen/mbotmcp/blob/main/src/main/java/de/emkeen/mbotmcp/service/BotService.java) to include those commands via MCP.
|
||||
|
||||
#### Goose Interaction
|
||||
#### goose Interaction
|
||||
|
||||
```
|
||||
( O)> Let my mbot2 explore the area
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: PostgreSQL Extension
|
||||
description: Add PostgreSQL MCP Server as a Goose Extension
|
||||
description: Add PostgreSQL MCP Server as a goose Extension
|
||||
unlisted: true
|
||||
---
|
||||
|
||||
@@ -13,7 +13,7 @@ import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
|
||||
|
||||
Server archived
|
||||
|
||||
The PostgreSQL MCP Server extension allows Goose to interact directly with your PostgreSQL databases, enabling database operations, querying, and schema management capabilities. This makes it easy to work with your databases through natural language interactions.
|
||||
The PostgreSQL MCP Server extension allows goose to interact directly with your PostgreSQL databases, enabling database operations, querying, and schema management capabilities. This makes it easy to work with your databases through natural language interactions.
|
||||
|
||||
:::tip TLDR
|
||||
<Tabs groupId="interface">
|
||||
@@ -210,14 +210,14 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
|
||||
|
||||
The PostgreSQL extension enables you to query and analyze data or give you information about the table structures. The extension is only capable of *read-only* operations, so you can use it to get information about your database, but not to modify it.
|
||||
|
||||
Just describe what you want to do in natural language, and Goose will help you accomplish it using the appropriate SQL commands and PostgreSQL features.
|
||||
Just describe what you want to do in natural language, and goose will help you accomplish it using the appropriate SQL commands and PostgreSQL features.
|
||||
|
||||
#### Goose Prompt
|
||||
#### goose Prompt
|
||||
```
|
||||
Search my database for any students whose current GPA is higher than the average in their current grade level. Tell me their name, grade, and how much they exceed their grade’s average GPA, and the average GPA.
|
||||
```
|
||||
|
||||
#### Goose Output
|
||||
#### goose Output
|
||||
```
|
||||
Based on the query results, here are the students who are performing above their grade level average:
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Puppeteer Extension
|
||||
description: Add Puppeteer MCP Server as a Goose Extension
|
||||
description: Add Puppeteer MCP Server as a goose Extension
|
||||
unlisted: true
|
||||
---
|
||||
|
||||
@@ -13,7 +13,7 @@ import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
|
||||
|
||||
Server archived
|
||||
|
||||
This tutorial covers how to add the [Puppeteer MCP Server](https://www.pulsemcp.com/servers/merajmehrabi-puppeteer) as a Goose extension, enabling Goose to interact with websites - navigating pages, filling forms, clicking buttons, taking screenshots, and executing JavaScript in a real browser environment.
|
||||
This tutorial covers how to add the [Puppeteer MCP Server](https://www.pulsemcp.com/servers/merajmehrabi-puppeteer) as a goose extension, enabling goose to interact with websites - navigating pages, filling forms, clicking buttons, taking screenshots, and executing JavaScript in a real browser environment.
|
||||
|
||||
:::tip TLDR
|
||||
<Tabs groupId="interface">
|
||||
@@ -106,7 +106,7 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
|
||||
└
|
||||
```
|
||||
|
||||
5. Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
|
||||
5. Enter the number of seconds goose should wait for actions to complete before timing out. Default is 300s
|
||||
```sh
|
||||
┌ goose-configure
|
||||
│
|
||||
@@ -191,16 +191,16 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
|
||||
|
||||
|
||||
## Example Usage
|
||||
In this example, I’ll show you how to use Goose with the Puppeteer Extension to perform an accessibility audit on a website. By automating browser interactions, Goose can navigate the site, test keyboard navigation, check color contrast, analyze ARIA attributes, and generate a detailed report with recommendations and code fixes.
|
||||
In this example, I’ll show you how to use goose with the Puppeteer Extension to perform an accessibility audit on a website. By automating browser interactions, goose can navigate the site, test keyboard navigation, check color contrast, analyze ARIA attributes, and generate a detailed report with recommendations and code fixes.
|
||||
|
||||
This allows you to quickly identify and resolve accessibility issues without manually inspecting each page.
|
||||
|
||||
<Tabs groupId="interface">
|
||||
<TabItem value="ui" label="goose Desktop" default>
|
||||
1. Open a new session in Goose Desktop
|
||||
1. Open a new session in goose Desktop
|
||||
</TabItem>
|
||||
<TabItem value="cli" label="goose CLI">
|
||||
1. Open a terminal and start a new Goose session:
|
||||
1. Open a terminal and start a new goose session:
|
||||
|
||||
```sh
|
||||
goose session
|
||||
@@ -209,7 +209,7 @@ This allows you to quickly identify and resolve accessibility issues without man
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### Goose Prompt
|
||||
### goose Prompt
|
||||
```
|
||||
Can you check if my website is accessible? Please conduct a full accessibility audit, focusing on the following:
|
||||
|
||||
@@ -229,7 +229,7 @@ Here is the website to test: https://broken-workshop.dequelabs.com/. I want to e
|
||||
|
||||
```
|
||||
|
||||
### Goose Output
|
||||
### goose Output
|
||||
|
||||
:::note Desktop
|
||||
I'll help you conduct a comprehensive accessibility audit of the website. I'll use a combination of automated and manual testing approaches to evaluate different accessibility aspects.
|
||||
@@ -413,7 +413,7 @@ This audit reveals several critical accessibility issues that should be addresse
|
||||
|
||||
### Further Automation with GitHub Extension
|
||||
|
||||
You can take this accessibility audit a step further by combining the [GitHub Extension](/docs/mcp/github-mcp) with the Puppeteer Extension. With this setup, Goose doesn’t just find issues and apply fixes, it can also handle the entire Git workflow for you. The GitHub Extension allows Goose to commit changes, create a pull request, and even generate a PR description, so all you have to do is review and merge.
|
||||
You can take this accessibility audit a step further by combining the [GitHub Extension](/docs/mcp/github-mcp) with the Puppeteer Extension. With this setup, goose doesn’t just find issues and apply fixes, it can also handle the entire Git workflow for you. The GitHub Extension allows goose to commit changes, create a pull request, and even generate a PR description, so all you have to do is review and merge.
|
||||
|
||||
1. Enable the GitHub extension by following the steps in the **[GitHub Extension Tutorial](/docs/mcp/github-mcp#configuration)**.
|
||||
|
||||
@@ -422,18 +422,18 @@ You can take this accessibility audit a step further by combining the [GitHub Ex
|
||||
Ensure your GitHub Personal Access Token has the necessary permissions for repository access and pull request creation when using this combined approach.
|
||||
:::
|
||||
|
||||
2. Ask Goose to:
|
||||
2. Ask goose to:
|
||||
|
||||
- Create a new branch
|
||||
- Commit the accessibility improvements
|
||||
- Open a pull request
|
||||
|
||||
### Goose prompt:
|
||||
### goose prompt:
|
||||
|
||||
```
|
||||
Can you create a new branch called 'accessibility-improvements', apply the accessibility fixes you suggested, and open a pull request with these changes?
|
||||
```
|
||||
Goose will then:
|
||||
goose will then:
|
||||
- ✅ Create a branch: `accessibility-improvements`
|
||||
- ✅ Apply the recommended accessibility fixes
|
||||
- ✅ Commit the changes with a descriptive message
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Speech Extension
|
||||
description: Add Speech MCP Server as a Goose Extension
|
||||
description: Add Speech MCP Server as a goose Extension
|
||||
unlisted: true
|
||||
---
|
||||
|
||||
@@ -14,7 +14,7 @@ import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
|
||||
<YouTubeShortEmbed videoUrl="https://youtube.com/embed/rurAp_WzOiY" />
|
||||
|
||||
|
||||
This tutorial covers how to add the [Speech MCP Server](https://github.com/Kvadratni/speech-mcp) as a Goose extension to enable real-time voice interaction, audio/video transcription, text-to-speech conversion, and multi-speaker audio generation.
|
||||
This tutorial covers how to add the [Speech MCP Server](https://github.com/Kvadratni/speech-mcp) as a goose extension to enable real-time voice interaction, audio/video transcription, text-to-speech conversion, and multi-speaker audio generation.
|
||||
|
||||
:::info Requirement
|
||||
[PortAudio](https://github.com/GoogleCloudPlatform/python-docs-samples/blob/main/scripts/readme-gen/templates/install_portaudio.tmpl.rst#install-portaudio) is required for PyAudio to capture audio from your microphone
|
||||
@@ -23,7 +23,7 @@ This tutorial covers how to add the [Speech MCP Server](https://github.com/Kvadr
|
||||
:::tip TLDR
|
||||
<Tabs groupId="interface">
|
||||
<TabItem value="ui" label="goose Desktop" default>
|
||||
[Launch the installer](goose://extension?cmd=uvx&arg=-p&arg=3.10.14&arg=speech-mcp@latest&id=speech_mcp&name=Speech%20Interface&description=Voice%20interaction%20with%20audio%20visualization%20for%20Goose)
|
||||
[Launch the installer](goose://extension?cmd=uvx&arg=-p&arg=3.10.14&arg=speech-mcp@latest&id=speech_mcp&name=Speech%20Interface&description=Voice%20interaction%20with%20audio%20visualization%20for%20goose)
|
||||
</TabItem>
|
||||
<TabItem value="cli" label="goose CLI">
|
||||
**Command**
|
||||
@@ -47,7 +47,7 @@ Before adding this extension, make sure [PortAudio](https://github.com/GoogleClo
|
||||
<GooseDesktopInstaller
|
||||
extensionId="speech_mcp"
|
||||
extensionName="Speech Interface"
|
||||
description="Voice interaction with audio visualization for Goose"
|
||||
description="Voice interaction with audio visualization for goose"
|
||||
command="uvx"
|
||||
args={["-p", "3.10.14", "speech-mcp@latest"]}
|
||||
/>
|
||||
@@ -112,7 +112,7 @@ Before adding this extension, make sure [PortAudio](https://github.com/GoogleClo
|
||||
└
|
||||
```
|
||||
|
||||
5. Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
|
||||
5. Enter the number of seconds goose should wait for actions to complete before timing out. Default is 300s
|
||||
```sh
|
||||
┌ goose-configure
|
||||
│
|
||||
@@ -196,16 +196,16 @@ Before adding this extension, make sure [PortAudio](https://github.com/GoogleClo
|
||||
|
||||
|
||||
## Example Usage
|
||||
In this example, you'll see how to use Goose with the Speech MCP Server Extension to turn voice commands into code. By speaking directly to Goose, you can launch the speech interface, give a spoken prompt, and have Goose generate and open a webpage based on your request.
|
||||
In this example, you'll see how to use goose with the Speech MCP Server Extension to turn voice commands into code. By speaking directly to goose, you can launch the speech interface, give a spoken prompt, and have goose generate and open a webpage based on your request.
|
||||
|
||||
This allows you to build with Goose hands-free, making development more accessible and interactive.
|
||||
This allows you to build with goose hands-free, making development more accessible and interactive.
|
||||
|
||||
<Tabs groupId="interface">
|
||||
<TabItem value="ui" label="goose Desktop" default>
|
||||
1. Open a new session in Goose Desktop
|
||||
1. Open a new session in goose Desktop
|
||||
</TabItem>
|
||||
<TabItem value="cli" label="goose CLI">
|
||||
1. Open a terminal and start a new Goose session:
|
||||
1. Open a terminal and start a new goose session:
|
||||
|
||||
```sh
|
||||
goose session
|
||||
@@ -214,34 +214,34 @@ This allows you to build with Goose hands-free, making development more accessib
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### Goose Prompt
|
||||
### goose Prompt
|
||||
Here are some things you can say to activate the speech interface:
|
||||
|
||||
- “Goose, I don’t feel like typing today.”
|
||||
- “goose, I don’t feel like typing today.”
|
||||
- “Let’s talk using voice.”
|
||||
- “Can we have a voice conversation?”
|
||||
- “I’d like to speak instead of typing.”
|
||||
- “Goose, launch the speech UI.”
|
||||
- “goose, launch the speech UI.”
|
||||
|
||||
```
|
||||
Goose I don't feel like talking today
|
||||
goose I don't feel like talking today
|
||||
```
|
||||
### Goose Output
|
||||
### goose Output
|
||||
```
|
||||
I understand! In that case, I can help you use voice commands instead. I'll launch the speech interface so you can speak your requests rather than type them
|
||||
|
||||
---- Launch Speech UI ----
|
||||
```
|
||||
|
||||
### Goose Speech 🎙️
|
||||
### goose Speech 🎙️
|
||||
|
||||
**Goose:**
|
||||
**goose:**
|
||||
>_I've launched the speech interface. You can now speak your requests instead of typing. Just speak after you hear my voice and see the microphone activate. What would you like help with?_
|
||||
|
||||
|
||||
**Max:**
|
||||
|
||||
>_Goose, lets create a simple page with the word 'vibes' on it and maybe change colors and make it move around the page and then open this page in the browser once you're done_
|
||||
>_goose, lets create a simple page with the word 'vibes' on it and maybe change colors and make it move around the page and then open this page in the browser once you're done_
|
||||
|
||||
|
||||
<div style={{ width: "100%", height: 0, position: "relative", paddingBottom: "56.25%" }}>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Square MCP Extension
|
||||
description: Add the Square API as a Goose Extension
|
||||
description: Add the Square API as a goose Extension
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
@@ -22,7 +22,7 @@ import CLIExtensionInstructions from '@site/src/components/CLIExtensionInstructi
|
||||
</details>
|
||||
|
||||
|
||||
This tutorial will get you started with the [Square MCP server](https://developer.squareup.com/docs/mcp) to enable interactive and automated work for your Square seller account. The Square MCP server is an open source project that allows you to interact with the Square API using Goose.
|
||||
This tutorial will get you started with the [Square MCP server](https://developer.squareup.com/docs/mcp) to enable interactive and automated work for your Square seller account. The Square MCP server is an open source project that allows you to interact with the Square API using goose.
|
||||
|
||||
Square offers two versions of the MCP server:
|
||||
|
||||
@@ -55,9 +55,9 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
|
||||
<TabItem value="ui" label="goose Desktop" default>
|
||||
1. [Launch the installer](https://mcp.squareup.com/goose)
|
||||
2. Click `OK` to confirm the installation
|
||||
3. Goose should open a browser tab to an OAuth permissions page. Double-check which permissions you want to allow, and click `Grant Access`.
|
||||
3. goose should open a browser tab to an OAuth permissions page. Double-check which permissions you want to allow, and click `Grant Access`.
|
||||
4. It will ask you to login or reauthenticate to Square, and may ask you to confirm the permissions you want to allow.
|
||||
5. In Goose, navigate to the chat
|
||||
5. In goose, navigate to the chat
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="cli" label="goose CLI">
|
||||
@@ -68,7 +68,7 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
|
||||
timeout={300}
|
||||
/>
|
||||
|
||||
When you start the next session, Goose will open a browser where you can grant permissions and sign in to your Square account.
|
||||
When you start the next session, goose will open a browser where you can grant permissions and sign in to your Square account.
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
@@ -141,7 +141,7 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
|
||||
|
||||
The Square MCP server allows you to interact with Square's connect API with an extensive [service catalog](https://github.com/square/square-mcp-server?tab=readme-ov-file#service-catalog) to access the Square API ecosystem.
|
||||
|
||||
#### Goose Prompt
|
||||
#### goose Prompt
|
||||
|
||||
```
|
||||
( O)> Find my food menu from the following image and import these into my Square seller account. "my-burger-menu.png"
|
||||
@@ -149,7 +149,7 @@ The Square MCP server allows you to interact with Square's connect API with an e
|
||||
|
||||
[Here's the menu image used in the demo.](../assets/guides/square-mcp-goosin-menu.png)
|
||||
|
||||
#### Goose Output
|
||||
#### goose Output
|
||||
|
||||
```
|
||||
I'll help you import these menu items into your Square catalog. I'll use the Square API to create catalog items for each burger. Let me break this down into steps:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: VS Code Extension
|
||||
description: Use VS Code MCP Server as a Goose Extension for file operations and VS Code integration
|
||||
description: Use VS Code MCP Server as a goose Extension for file operations and VS Code integration
|
||||
unlisted: true
|
||||
---
|
||||
|
||||
@@ -10,7 +10,7 @@ import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed';
|
||||
|
||||
<YouTubeShortEmbed videoUrl="https://www.youtube.com/embed/gddEgvCLrgU" />
|
||||
|
||||
This tutorial covers how to add the [VS Code MCP Server](https://github.com/block/vscode-mcp) as a Goose extension to enable VS Code integration, file operations, and development workflow management.
|
||||
This tutorial covers how to add the [VS Code MCP Server](https://github.com/block/vscode-mcp) as a goose extension to enable VS Code integration, file operations, and development workflow management.
|
||||
|
||||
:::tip TLDR
|
||||
|
||||
@@ -131,7 +131,7 @@ Note that you'll need [Node.js](https://nodejs.org/) installed on your system to
|
||||
|
||||
## Example Usage
|
||||
|
||||
The VS Code MCP extension enables Goose to interact with your VS Code environment, managing files, projects, and development workflows.
|
||||
The VS Code MCP extension enables goose to interact with your VS Code environment, managing files, projects, and development workflows.
|
||||
|
||||
The key strength of the VS Code MCP Server is its ability to:
|
||||
|
||||
@@ -142,10 +142,10 @@ The key strength of the VS Code MCP Server is its ability to:
|
||||
|
||||
|
||||
:::note
|
||||
Every time you start a Goose session with the VS Code MCP server enabled, it checks to see if a matching project is open in VS Code. If not, it will prompt you to open the project before proceeding.
|
||||
Every time you start a goose session with the VS Code MCP server enabled, it checks to see if a matching project is open in VS Code. If not, it will prompt you to open the project before proceeding.
|
||||
:::
|
||||
|
||||
### Goose Prompt
|
||||
### goose Prompt
|
||||
|
||||
```
|
||||
Update the contributing guide with instructions on how to start docusaurus dev server
|
||||
|
||||
@@ -3,6 +3,6 @@
|
||||
"position": 4,
|
||||
"link": {
|
||||
"type": "generated-index",
|
||||
"description": "How to use Goose in various ways"
|
||||
"description": "How to use goose in various ways"
|
||||
}
|
||||
}
|
||||
@@ -1,18 +1,18 @@
|
||||
---
|
||||
title: Advanced Cognee Usage with Goose
|
||||
description: Advanced patterns for using Cognee knowledge graph with Goose for enhanced memory and automation
|
||||
title: Advanced Cognee Usage with goose
|
||||
description: Advanced patterns for using Cognee knowledge graph with goose for enhanced memory and automation
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Advanced Cognee Usage with Goose
|
||||
# Advanced Cognee Usage with goose
|
||||
|
||||
This tutorial covers advanced usage patterns for the Cognee extension with Goose, including automated memory management, knowledge graph optimization, and various integration strategies.
|
||||
This tutorial covers advanced usage patterns for the Cognee extension with goose, including automated memory management, knowledge graph optimization, and various integration strategies.
|
||||
|
||||
## Overview
|
||||
|
||||
While the basic [Cognee MCP setup](../mcp/cognee-mcp.md) gets you started, this tutorial explores how to make Goose autonomously use the knowledge graph and optimize your workflow.
|
||||
While the basic [Cognee MCP setup](../mcp/cognee-mcp.md) gets you started, this tutorial explores how to make goose autonomously use the knowledge graph and optimize your workflow.
|
||||
|
||||
## Key Concepts
|
||||
|
||||
@@ -88,7 +88,7 @@ You are an LLM agent with access to a Cognee knowledge graph for memory.
|
||||
- Only process files returned by `rg --files`
|
||||
````
|
||||
|
||||
Start Goose with instructions:
|
||||
Start goose with instructions:
|
||||
```bash
|
||||
goose run -i ~/.config/goose/cognee-instructions.md -s
|
||||
```
|
||||
@@ -96,7 +96,7 @@ goose run -i ~/.config/goose/cognee-instructions.md -s
|
||||
</TabItem>
|
||||
<TabItem value="method2" label="Method 2">
|
||||
|
||||
### Goosehints File
|
||||
### goosehints File
|
||||
|
||||
For faster startup with higher token usage, add to your `.goosehints` file:
|
||||
|
||||
@@ -139,14 +139,14 @@ Combine with the [Memory MCP extension](../mcp/memory-mcp.md) for hybrid approac
|
||||
For software development projects:
|
||||
|
||||
```bash
|
||||
# Start Goose with Cognee
|
||||
# Start goose with Cognee
|
||||
goose session
|
||||
|
||||
# In Goose, analyze your codebase
|
||||
> Goose, please codify this repository and then help me understand the architecture
|
||||
# In goose, analyze your codebase
|
||||
> goose, please codify this repository and then help me understand the architecture
|
||||
```
|
||||
|
||||
Goose will:
|
||||
goose will:
|
||||
1. Run `cognee-mcp__codify` on your repository
|
||||
2. Build a code knowledge graph
|
||||
3. Answer architecture questions using the graph
|
||||
@@ -157,7 +157,7 @@ For research and documentation:
|
||||
|
||||
```bash
|
||||
# Cognify research documents
|
||||
> Goose, please cognify the contents of these research papers: paper1.pdf, paper2.pdf, paper3.pdf
|
||||
> goose, please cognify the contents of these research papers: paper1.pdf, paper2.pdf, paper3.pdf
|
||||
|
||||
# Later, query relationships
|
||||
> What are the connections between the methodologies in these papers?
|
||||
@@ -215,10 +215,10 @@ Monitor and manage your knowledge graph:
|
||||
|
||||
```bash
|
||||
# Check status
|
||||
> Goose, what's the status of the cognify pipeline?
|
||||
> goose, what's the status of the cognify pipeline?
|
||||
|
||||
# Selective pruning (if needed)
|
||||
> Goose, can you help me identify outdated information in the knowledge graph?
|
||||
> goose, can you help me identify outdated information in the knowledge graph?
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
@@ -240,8 +240,8 @@ tail -f ~/.local/share/cognee/logs/cognee.log
|
||||
curl http://localhost:8000/health
|
||||
|
||||
# Verify knowledge graph status
|
||||
# In Goose session:
|
||||
> Goose, run cognify_status and codify_status
|
||||
# In goose session:
|
||||
> goose, run cognify_status and codify_status
|
||||
```
|
||||
|
||||
## Best Practices
|
||||
@@ -251,10 +251,10 @@ curl http://localhost:8000/health
|
||||
1. **Use nodesets** for organizing different types of information:
|
||||
```bash
|
||||
# Developer rules
|
||||
> Goose, add these coding standards to the 'developer_rules' nodeset
|
||||
> goose, add these coding standards to the 'developer_rules' nodeset
|
||||
|
||||
# Project-specific info
|
||||
> Goose, cognify this project documentation with nodeset 'project_alpha'
|
||||
> goose, cognify this project documentation with nodeset 'project_alpha'
|
||||
```
|
||||
|
||||
2. **Regular maintenance**:
|
||||
@@ -274,7 +274,7 @@ curl http://localhost:8000/health
|
||||
|
||||
```bash
|
||||
# Setup
|
||||
> Goose, codify this repository and remember that I prefer: functional programming patterns, comprehensive tests, and clear documentation
|
||||
> goose, codify this repository and remember that I prefer: functional programming patterns, comprehensive tests, and clear documentation
|
||||
|
||||
# Usage
|
||||
> Review this pull request and check it against my coding preferences
|
||||
@@ -284,7 +284,7 @@ curl http://localhost:8000/health
|
||||
|
||||
```bash
|
||||
# Before meeting
|
||||
> Goose, cognify the agenda and participant backgrounds from these documents
|
||||
> goose, cognify the agenda and participant backgrounds from these documents
|
||||
|
||||
# During/after meeting
|
||||
> Based on the knowledge graph, what are the key action items and how do they relate to our previous discussions?
|
||||
@@ -294,10 +294,10 @@ curl http://localhost:8000/health
|
||||
|
||||
```bash
|
||||
# Literature review
|
||||
> Goose, cognify these 10 research papers and create a knowledge graph of the relationships between their methodologies
|
||||
> goose, cognify these 10 research papers and create a knowledge graph of the relationships between their methodologies
|
||||
|
||||
# Synthesis
|
||||
> What are the emerging patterns in the research and what gaps exist?
|
||||
```
|
||||
|
||||
This advanced usage guide should help you maximize the potential of Cognee with Goose for sophisticated knowledge management and automation workflows.
|
||||
This advanced usage guide should help you maximize the potential of Cognee with goose for sophisticated knowledge management and automation workflows.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
---
|
||||
title: Benchmarking with Goose
|
||||
sidebar_label: Benchmark with Goose
|
||||
title: Benchmarking with goose
|
||||
sidebar_label: Benchmark with goose
|
||||
---
|
||||
|
||||
The Goose benchmarking system allows you to evaluate goose performance on complex tasks with one or more system
|
||||
The goose benchmarking system allows you to evaluate goose performance on complex tasks with one or more system
|
||||
configurations.<br></br>
|
||||
This guide covers how to use the `goose bench` command to run benchmarks and analyze results.
|
||||
|
||||
@@ -193,7 +193,7 @@ RUST_LOG=debug goose bench bench-config.json
|
||||
|
||||
### Tool Shimming
|
||||
|
||||
Tool shimming allows you to use a non-tool-capable models with Goose, provided Ollama is installed on the
|
||||
Tool shimming allows you to use a non-tool-capable models with goose, provided Ollama is installed on the
|
||||
system.
|
||||
|
||||
See this guide for important details on [tool shimming](/docs/experimental/ollama).
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
---
|
||||
title: CI/CD Environments
|
||||
description: Set up Goose in your CI/CD pipeline to automate tasks
|
||||
description: Set up goose in your CI/CD pipeline to automate tasks
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
Goose isn’t just useful on your local machine, it can also streamline tasks in CI/CD environments. By integrating Goose into your pipeline, you can automate tasks such as:
|
||||
goose isn’t just useful on your local machine, it can also streamline tasks in CI/CD environments. By integrating goose into your pipeline, you can automate tasks such as:
|
||||
|
||||
- Code reviews
|
||||
- Documentation checks
|
||||
@@ -15,11 +15,11 @@ Goose isn’t just useful on your local machine, it can also streamline tasks in
|
||||
- Rollbacks and recovery processes
|
||||
- Intelligent test execution
|
||||
|
||||
This guide walks you through setting up Goose in your CI/CD pipeline, with a focus on using GitHub Actions for code reviews.
|
||||
This guide walks you through setting up goose in your CI/CD pipeline, with a focus on using GitHub Actions for code reviews.
|
||||
|
||||
|
||||
## Using Goose with GitHub Actions
|
||||
You can run Goose directly within GitHub Actions. Follow these steps to set up your workflow.
|
||||
## Using goose with GitHub Actions
|
||||
You can run goose directly within GitHub Actions. Follow these steps to set up your workflow.
|
||||
|
||||
:::info TLDR
|
||||
<details>
|
||||
@@ -28,7 +28,7 @@ You can run Goose directly within GitHub Actions. Follow these steps to set up y
|
||||
```yaml title="goose.yml"
|
||||
|
||||
|
||||
name: Goose
|
||||
name: goose
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
@@ -46,7 +46,7 @@ env:
|
||||
|
||||
jobs:
|
||||
goose-comment:
|
||||
name: Goose Comment
|
||||
name: goose Comment
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out repository
|
||||
@@ -65,14 +65,14 @@ jobs:
|
||||
gh pr diff $PR_NUMBER
|
||||
} > changes.txt
|
||||
|
||||
- name: Install Goose CLI
|
||||
- name: Install goose CLI
|
||||
run: |
|
||||
mkdir -p /home/runner/.local/bin
|
||||
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh \
|
||||
| CONFIGURE=false GOOSE_BIN_DIR=/home/runner/.local/bin bash
|
||||
echo "/home/runner/.local/bin" >> $GITHUB_PATH
|
||||
|
||||
- name: Configure Goose
|
||||
- name: Configure goose
|
||||
run: |
|
||||
mkdir -p ~/.config/goose
|
||||
cat <<EOF > ~/.config/goose/config.yaml
|
||||
@@ -81,7 +81,7 @@ jobs:
|
||||
keyring: false
|
||||
EOF
|
||||
|
||||
- name: Create instructions for Goose
|
||||
- name: Create instructions for goose
|
||||
run: |
|
||||
cat <<EOF > instructions.txt
|
||||
Create a summary of the changes provided. Don't provide any session or logging details.
|
||||
@@ -96,7 +96,7 @@ jobs:
|
||||
- name: Test
|
||||
run: cat instructions.txt
|
||||
|
||||
- name: Run Goose and filter output
|
||||
- name: Run goose and filter output
|
||||
run: |
|
||||
goose run --instructions instructions.txt | \
|
||||
# Remove ANSI color codes
|
||||
@@ -128,11 +128,11 @@ Create a new file in your repository at `.github/workflows/goose.yml`. This will
|
||||
Configure the action such that it:
|
||||
|
||||
- Triggers the workflow when a pull request is opened, updated, reopened, or labeled
|
||||
- Grants the necessary permissions for Goose to interact with the repository
|
||||
- Grants the necessary permissions for goose to interact with the repository
|
||||
- Configures environment variables for your chosen LLM provider
|
||||
|
||||
```yaml
|
||||
name: Goose
|
||||
name: goose
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
@@ -149,20 +149,20 @@ env:
|
||||
```
|
||||
|
||||
|
||||
### 3. Install and Configure Goose
|
||||
### 3. Install and Configure goose
|
||||
|
||||
To install and set up Goose in your workflow, add the following steps:
|
||||
To install and set up goose in your workflow, add the following steps:
|
||||
|
||||
```yaml
|
||||
steps:
|
||||
- name: Install Goose CLI
|
||||
- name: Install goose CLI
|
||||
run: |
|
||||
mkdir -p /home/runner/.local/bin
|
||||
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh \
|
||||
| CONFIGURE=false GOOSE_BIN_DIR=/home/runner/.local/bin bash
|
||||
echo "/home/runner/.local/bin" >> $GITHUB_PATH
|
||||
|
||||
- name: Configure Goose
|
||||
- name: Configure goose
|
||||
run: |
|
||||
mkdir -p ~/.config/goose
|
||||
cat <<EOF > ~/.config/goose/config.yaml
|
||||
@@ -178,10 +178,10 @@ Replace `REPLACE_WITH_PROVIDER` and `REPLACE_WITH_MODEL` with your LLM provider
|
||||
|
||||
### 4. Gather PR Changes and Prepare Instructions
|
||||
|
||||
This step extracts pull request details and formats them into structured instructions for Goose.
|
||||
This step extracts pull request details and formats them into structured instructions for goose.
|
||||
|
||||
```yaml
|
||||
- name: Create instructions for Goose
|
||||
- name: Create instructions for goose
|
||||
run: |
|
||||
cat <<EOF > instructions.txt
|
||||
Create a summary of the changes provided. Don't provide any session or logging details.
|
||||
@@ -194,12 +194,12 @@ This step extracts pull request details and formats them into structured instruc
|
||||
EOF
|
||||
```
|
||||
|
||||
### 5. Run Goose and Clean Output
|
||||
### 5. Run goose and Clean Output
|
||||
|
||||
Now, run Goose with the formatted instructions and clean the output by removing ANSI color codes and unnecessary log messages.
|
||||
Now, run goose with the formatted instructions and clean the output by removing ANSI color codes and unnecessary log messages.
|
||||
|
||||
```yaml
|
||||
- name: Run Goose and filter output
|
||||
- name: Run goose and filter output
|
||||
run: |
|
||||
goose run --instructions instructions.txt | \
|
||||
# Remove ANSI color codes
|
||||
@@ -215,7 +215,7 @@ Now, run Goose with the formatted instructions and clean the output by removing
|
||||
|
||||
### 6. Post Comment to PR
|
||||
|
||||
Finally, post the Goose output as a comment on the pull request:
|
||||
Finally, post the goose output as a comment on the pull request:
|
||||
|
||||
```yaml
|
||||
- name: Post comment to PR
|
||||
@@ -224,7 +224,7 @@ Finally, post the Goose output as a comment on the pull request:
|
||||
gh pr comment $PR_NUMBER --body-file pr_comment.txt
|
||||
```
|
||||
|
||||
With this workflow, Goose will run on pull requests, analyze the changes, and post a summary as a comment on the PR.
|
||||
With this workflow, goose will run on pull requests, analyze the changes, and post a summary as a comment on the PR.
|
||||
|
||||
This is just one example of what's possible. Feel free to modify your GitHub Action to meet your needs.
|
||||
|
||||
@@ -232,7 +232,7 @@ This is just one example of what's possible. Feel free to modify your GitHub Act
|
||||
|
||||
## Security Considerations
|
||||
|
||||
When running Goose in a CI/CD enviroment, keep these security practices in mind:
|
||||
When running goose in a CI/CD enviroment, keep these security practices in mind:
|
||||
|
||||
1. **Secret Management**
|
||||
- Store your sensitive credentials (like API keys) as GitHub Secrets.
|
||||
@@ -242,4 +242,4 @@ When running Goose in a CI/CD enviroment, keep these security practices in mind:
|
||||
- Grant only the necessary permissions in your workflow and regularly audit them.
|
||||
|
||||
3. **Input Validation**
|
||||
- Ensure any inputs passed to Goose are sanitized and validated to prevent unexpected behavior.
|
||||
- Ensure any inputs passed to goose are sanitized and validated to prevent unexpected behavior.
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
---
|
||||
title: Building Goose in Docker
|
||||
sidebar_label: Goose in Docker
|
||||
title: Building goose in Docker
|
||||
sidebar_label: goose in Docker
|
||||
---
|
||||
|
||||
:::info Tell Us What You Need
|
||||
There are various scenarios where you might want to build Goose in Docker. If the instructions below do not meet your needs, please contact us by replying to our [discussion topic](https://github.com/block/goose/discussions/1496).
|
||||
There are various scenarios where you might want to build goose in Docker. If the instructions below do not meet your needs, please contact us by replying to our [discussion topic](https://github.com/block/goose/discussions/1496).
|
||||
:::
|
||||
|
||||
|
||||
You can build Goose from the source file within a Docker container. This approach not only provides security benefits by creating an isolated environment but also enhances consistency and portability. For example, if you need to troubleshoot an error on a platform you don't usually work with (such as Ubuntu), you can easily debug it using Docker.
|
||||
You can build goose from the source file within a Docker container. This approach not only provides security benefits by creating an isolated environment but also enhances consistency and portability. For example, if you need to troubleshoot an error on a platform you don't usually work with (such as Ubuntu), you can easily debug it using Docker.
|
||||
|
||||
To begin, you will need to modify the `Dockerfile` and `docker-compose.yml` files to suit your requirements. Some changes you might consider include:
|
||||
|
||||
@@ -16,7 +16,7 @@ To begin, you will need to modify the `Dockerfile` and `docker-compose.yml` file
|
||||
|
||||
- **Optional:** Changing the base image to a different Linux distribution in the `Dockerfile`. This example uses Ubuntu, but you can switch to another distribution such as CentOS, Fedora, or Alpine.
|
||||
|
||||
- **Optional:** Mounting your personal Goose settings and hints files in the `docker-compose.yml` file. This allows you to use your personal settings and hints files within the Docker container.
|
||||
- **Optional:** Mounting your personal goose settings and hints files in the `docker-compose.yml` file. This allows you to use your personal settings and hints files within the Docker container.
|
||||
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ Next, run the container and connect to it using the following command:
|
||||
docker-compose -f documentation/docs/docker/docker-compose.yml run --rm goose-cli
|
||||
```
|
||||
|
||||
Inside the container, run the following command to configure Goose:
|
||||
Inside the container, run the following command to configure goose:
|
||||
|
||||
```bash
|
||||
goose configure
|
||||
@@ -40,7 +40,7 @@ goose configure
|
||||
|
||||
When prompted to save the API key to the keyring, select `No`, as you are already passing the API key as an environment variable.
|
||||
|
||||
Configure Goose a second time, and this time, you can [add any extensions](/docs/getting-started/using-extensions) you need.
|
||||
Configure goose a second time, and this time, you can [add any extensions](/docs/getting-started/using-extensions) you need.
|
||||
|
||||
After that, you can start a session:
|
||||
|
||||
@@ -48,4 +48,4 @@ After that, you can start a session:
|
||||
goose session
|
||||
```
|
||||
|
||||
You should now be able to connect to Goose with your configured extensions enabled.
|
||||
You should now be able to connect to goose with your configured extensions enabled.
|
||||
@@ -1,17 +1,17 @@
|
||||
---
|
||||
title: Using Goose in Headless Mode for Automation
|
||||
description: Goose Headless Mode
|
||||
title: Using goose in Headless Mode for Automation
|
||||
description: goose Headless Mode
|
||||
---
|
||||
|
||||
# Automate Development Tasks with Goose Headless Mode
|
||||
# Automate Development Tasks with goose Headless Mode
|
||||
|
||||
*Run AI-powered engineering workflows in CI/CD pipelines, servers, and batch processing scenarios*
|
||||
|
||||
The ability to automate complex engineering tasks without human intervention has been huge, but let's take it to the next level with AI. Goose's "headless" mode enables developers to harness the full power of AI automation in server environments, CI/CD pipelines, and batch processing scenarios where interactive sessions simply aren't feasible.
|
||||
The ability to automate complex engineering tasks without human intervention has been huge, but let's take it to the next level with AI. goose's "headless" mode enables developers to harness the full power of AI automation in server environments, CI/CD pipelines, and batch processing scenarios where interactive sessions simply aren't feasible.
|
||||
|
||||
## What is Headless Mode?
|
||||
|
||||
Headless mode is Goose's non-interactive execution environment, designed for automated scenarios where human intervention isn't available (or wanted).
|
||||
Headless mode is goose's non-interactive execution environment, designed for automated scenarios where human intervention isn't available (or wanted).
|
||||
|
||||
Unlike the interactive desktop app or CLI sessions, headless mode processes instructions and exits automatically, making it perfect for integration into existing development workflows.
|
||||
|
||||
@@ -131,7 +131,7 @@ Always check exit codes and handle failures gracefully in your automation script
|
||||
```bash
|
||||
#!/bin/bash
|
||||
if ! goose run --no-session -t "Run security audit and fix critical issues"; then
|
||||
echo "Goose automation failed - manual intervention required"
|
||||
echo "goose automation failed - manual intervention required"
|
||||
exit 1
|
||||
fi
|
||||
```
|
||||
@@ -142,7 +142,7 @@ Use `--no-session` for one-off tasks to avoid cluttering your session history, b
|
||||
|
||||
## Recipe Execution in Headless Mode
|
||||
|
||||
[Recipes](/docs/guides/recipes/) are Goose's powerful way to define reusable, parameterized workflows. In headless mode, recipes become even more valuable as they enable sophisticated automation scenarios.
|
||||
[Recipes](/docs/guides/recipes/) are goose's powerful way to define reusable, parameterized workflows. In headless mode, recipes become even more valuable as they enable sophisticated automation scenarios.
|
||||
|
||||
### Recipe Requirements for Headless Mode
|
||||
|
||||
@@ -213,9 +213,9 @@ While headless mode is incredibly powerful, it's important to understand its con
|
||||
|
||||
### 1. No User Interaction Capability
|
||||
|
||||
**What this means**: Goose cannot ask for clarification, approval, or additional input during execution. If it's unsure of what to do, the prompt result will usually show you a question like "How should I proceed?".
|
||||
**What this means**: goose cannot ask for clarification, approval, or additional input during execution. If it's unsure of what to do, the prompt result will usually show you a question like "How should I proceed?".
|
||||
|
||||
**Impact**: If instructions are ambiguous or if unexpected situations arise, Goose will make its best judgment based on available context, which might not always align with your intentions.
|
||||
**Impact**: If instructions are ambiguous or if unexpected situations arise, goose will make its best judgment based on available context, which might not always align with your intentions.
|
||||
|
||||
**Mitigation**: Provide extremely detailed instructions, especially on what to do if it runs into a problem, and **test your automation thoroughly in non-production** environments first.
|
||||
|
||||
@@ -237,7 +237,7 @@ goose run -t "Fix the TypeScript compilation errors in src/components/, ensure a
|
||||
|
||||
### 3. Tool Permission Dependencies
|
||||
|
||||
**What this means**: Goose cannot prompt for permission to use potentially risky tools or operations.
|
||||
**What this means**: goose cannot prompt for permission to use potentially risky tools or operations.
|
||||
|
||||
**Impact**: Operations requiring approval will either use default permissions or fail, potentially blocking automation workflows.
|
||||
|
||||
@@ -250,7 +250,7 @@ export GOOSE_MODE=auto # Automatically approve safe operations
|
||||
|
||||
### 4. Context Decision Automation
|
||||
|
||||
**What this means**: When conversation context limits are reached, Goose automatically applies the configured strategy without user input.
|
||||
**What this means**: When conversation context limits are reached, goose automatically applies the configured strategy without user input.
|
||||
|
||||
**Impact**: Important context might be lost if summarization isn't perfect, or execution might be interrupted if context clearing is too aggressive.
|
||||
|
||||
@@ -311,13 +311,13 @@ export GOOSE_ALLOWLIST=https://company.com/allowed-extensions.json
|
||||
|
||||
## The Future of Automated Development
|
||||
|
||||
Goose's headless mode represents more than just a feature -- it's a shift toward truly automated development workflows powered by AI. We can remove human intervention in routine tasks so teams can focus on high-value work while AI handles the repetitive, time-consuming operations that slow us down.
|
||||
goose's headless mode represents more than just a feature -- it's a shift toward truly automated development workflows powered by AI. We can remove human intervention in routine tasks so teams can focus on high-value work while AI handles the repetitive, time-consuming operations that slow us down.
|
||||
|
||||
Whether you're looking to streamline your CI/CD pipelines, automate server maintenance, or handle bulk operations across multiple repositories, Goose's headless mode provides the foundation for building sophisticated, reliable automation workflows.
|
||||
Whether you're looking to streamline your CI/CD pipelines, automate server maintenance, or handle bulk operations across multiple repositories, goose's headless mode provides the foundation for building sophisticated, reliable automation workflows.
|
||||
|
||||
**Start your automation journey today:**
|
||||
|
||||
1. **Install Goose** and configure your environment variables
|
||||
1. **Install goose** and configure your environment variables
|
||||
2. **Create your first recipe** with clear prompts and detailed instructions
|
||||
3. **Test in a safe environment** before deploying to production
|
||||
4. **Integrate with your existing workflows** and watch your productivity soar
|
||||
|
||||
@@ -5,12 +5,12 @@ title: Isolated Development Environments
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
This guide shows you how to set up isolated development environments using the **[Container Use MCP](https://github.com/dagger/container-use)** with Goose. With this setup, your development work will be isolated to both git branches and containers, allowing you to experiment freely without affecting your main system state.
|
||||
This guide shows you how to set up isolated development environments using the **[Container Use MCP](https://github.com/dagger/container-use)** with goose. With this setup, your development work will be isolated to both git branches and containers, allowing you to experiment freely without affecting your main system state.
|
||||
Note that the container-use MCP is very new and emerging, but offers powerful ways to do isolated development which are very agent friendly (build on tools like Docker, copy on write filesystems and more)
|
||||
|
||||
## Overview
|
||||
|
||||
The **[Container Use MCP](https://github.com/dagger/container-use)** server provides containerized development environments that integrate seamlessly with Goose. This allows you to:
|
||||
The **[Container Use MCP](https://github.com/dagger/container-use)** server provides containerized development environments that integrate seamlessly with goose. This allows you to:
|
||||
|
||||
- Work on changes isolated to git branches
|
||||
- Run code in containers without affecting your local machine
|
||||
@@ -22,7 +22,7 @@ The **[Container Use MCP](https://github.com/dagger/container-use)** server prov
|
||||
|
||||
- Docker ([Podman](https://docs.dagger.io/ci/integrations/podman), [NerdCtl](https://docs.dagger.io/ci/integrations/nerdctl/) or [Container](https://docs.dagger.io/ci/integrations/apple-container/)) installed and running on your system
|
||||
- Git installed and configured
|
||||
- Goose installed and configured
|
||||
- goose installed and configured
|
||||
|
||||
## Installation
|
||||
|
||||
@@ -30,20 +30,20 @@ The **[Container Use MCP](https://github.com/dagger/container-use)** server prov
|
||||
|
||||
Head on over to the [Container Use README](https://github.com/dagger/container-use/blob/main/README.md) for up-to-date install instructions for this fast moving project.
|
||||
|
||||
## Adding to Goose
|
||||
## Adding to goose
|
||||
|
||||
### Method 1: Quick Setup Link
|
||||
|
||||
Click this link to automatically add the extension to Goose:
|
||||
Click this link to automatically add the extension to goose:
|
||||
|
||||
**[Add Container-Use to Goose](goose://extension?cmd=cu&arg=stdio&id=container-use&name=container%20use&description=use%20containers%20with%20dagger%20and%20git%20for%20isolated%20environments)**
|
||||
**[Add Container-Use to goose](goose://extension?cmd=cu&arg=stdio&id=container-use&name=container%20use&description=use%20containers%20with%20dagger%20and%20git%20for%20isolated%20environments)**
|
||||
|
||||
### Method 2: Manual Configuration
|
||||
|
||||
<Tabs groupId="interface">
|
||||
<TabItem value="ui" label="goose Desktop" default>
|
||||
|
||||
1. Click `...` in the top right corner of the Goose Desktop.
|
||||
1. Click `...` in the top right corner of the goose Desktop.
|
||||
2. Select `Advanced Settings` from the menu.
|
||||
3. Under `Extensions`, click `Add custom extension`.
|
||||
4. Fill in the details:
|
||||
@@ -96,17 +96,17 @@ extensions:
|
||||
|
||||
## Usage
|
||||
|
||||
Once the extension is enabled in Goose, you can:
|
||||
Once the extension is enabled in goose, you can:
|
||||
|
||||
### Starting Isolated Development
|
||||
|
||||
Simply mention in your conversation with Goose that you want to work in an isolated environment:
|
||||
Simply mention in your conversation with goose that you want to work in an isolated environment:
|
||||
|
||||
```
|
||||
"I want to experiment with adding a new feature, but I want to do it in an isolated environment so I don't affect my main codebase."
|
||||
```
|
||||
|
||||
Goose will automatically:
|
||||
goose will automatically:
|
||||
1. Create a new git branch for your work
|
||||
2. Set up a containerized environment
|
||||
3. Ensure all changes are isolated from your host system
|
||||
@@ -136,15 +136,15 @@ Goose will automatically:
|
||||
|
||||
### Feature Development
|
||||
|
||||
1. Start a conversation with Goose about a new feature
|
||||
1. Start a conversation with goose about a new feature
|
||||
2. Request isolated development environment
|
||||
3. Goose creates branch and container
|
||||
3. goose creates branch and container
|
||||
4. Develop and test the feature
|
||||
5. If successful, merge the branch; if not, discard it
|
||||
|
||||
### Dependency Exploration
|
||||
|
||||
1. Ask Goose to explore a new library or tool
|
||||
1. Ask goose to explore a new library or tool
|
||||
2. Work in isolated container with the dependency
|
||||
3. Test compatibility and functionality
|
||||
4. Decide whether to integrate into main project
|
||||
@@ -182,6 +182,6 @@ If you encounter issues:
|
||||
|
||||
## Next Steps
|
||||
|
||||
With container-use enabled in Goose, you're ready to develop with confidence. Try starting a conversation about a project you've been hesitant to experiment with, and let Goose set up a safe, isolated environment for your exploration.
|
||||
With container-use enabled in goose, you're ready to develop with confidence. Try starting a conversation about a project you've been hesitant to experiment with, and let goose set up a safe, isolated environment for your exploration.
|
||||
|
||||
Remember: with isolated environments, there's no such thing as a failed experiment - only learning opportunities that don't affect your main codebase.
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
---
|
||||
description: Integrate Goose with Langfuse to observe performance
|
||||
description: Integrate goose with Langfuse to observe performance
|
||||
---
|
||||
|
||||
# Observability with Langfuse
|
||||
|
||||
This tutorial covers how to integrate Goose with Langfuse to monitor your Goose requests and understand how the agent is performing.
|
||||
This tutorial covers how to integrate goose with Langfuse to monitor your goose requests and understand how the agent is performing.
|
||||
|
||||
## What is Langfuse
|
||||
|
||||
@@ -15,9 +15,9 @@ This tutorial covers how to integrate Goose with Langfuse to monitor your Goose
|
||||
|
||||
Sign up for Langfuse Cloud [here](https://cloud.langfuse.com) or self-host Langfuse [Docker Compose](https://langfuse.com/self-hosting/local) to get your Langfuse API keys.
|
||||
|
||||
## Configure Goose to Connect to Langfuse
|
||||
## Configure goose to Connect to Langfuse
|
||||
|
||||
Set the environment variables so that Goose (written in Rust) can connect to the Langfuse server.
|
||||
Set the environment variables so that goose (written in Rust) can connect to the Langfuse server.
|
||||
|
||||
```bash
|
||||
export LANGFUSE_INIT_PROJECT_PUBLIC_KEY=pk-lf-...
|
||||
@@ -28,13 +28,13 @@ export LANGFUSE_URL=https://cloud.langfuse.com # EU data region 🇪🇺
|
||||
# https://localhost:3000 if you're self-hosting
|
||||
```
|
||||
|
||||
## Run Goose with Langfuse Integration
|
||||
## Run goose with Langfuse Integration
|
||||
|
||||
Now, you can run Goose and monitor your AI requests and actions through Langfuse.
|
||||
Now, you can run goose and monitor your AI requests and actions through Langfuse.
|
||||
|
||||
With Goose running and the environment variables set, Langfuse will start capturing traces of your Goose activities.
|
||||
With goose running and the environment variables set, Langfuse will start capturing traces of your goose activities.
|
||||
|
||||
_[Example trace (public) in Langfuse](https://cloud.langfuse.com/project/cloramnkj0002jz088vzn1ja4/traces/cea4ed38-0c44-4b0a-8c20-4b0b6b9e8d73?timestamp=2025-01-31T15%3A52%3A30.362Z&observation=7c8e5807-3c29-4c28-9c6f-7d7427be401f)_
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ import TabItem from '@theme/TabItem';
|
||||
|
||||
# Lead/Worker Multi-Model Setup
|
||||
|
||||
Goose supports a lead/worker model configuration that lets you pair two different AI models - one that's great at thinking and another that's fast at doing. This setup tackles a major pain point: premium models are powerful but expensive, while cheaper models are faster but can struggle with complex tasks. With lead/worker mode, you get the best of both worlds.
|
||||
goose supports a lead/worker model configuration that lets you pair two different AI models - one that's great at thinking and another that's fast at doing. This setup tackles a major pain point: premium models are powerful but expensive, while cheaper models are faster but can struggle with complex tasks. With lead/worker mode, you get the best of both worlds.
|
||||
|
||||
<details>
|
||||
<summary>Lead/Worker Mode Walkthrough</summary>
|
||||
@@ -21,13 +21,13 @@ Goose supports a lead/worker model configuration that lets you pair two differen
|
||||
></iframe>
|
||||
</details>
|
||||
|
||||
The lead/worker model is a smart hand-off system. The "lead" model (think: GPT-4 or Claude Opus) kicks things off, handling the early planning and big picture reasoning. Once the direction is set, Goose hands the task over to the "worker" model (like GPT-4o-mini or Claude Sonnet) to carry out the steps.
|
||||
The lead/worker model is a smart hand-off system. The "lead" model (think: GPT-4 or Claude Opus) kicks things off, handling the early planning and big picture reasoning. Once the direction is set, goose hands the task over to the "worker" model (like GPT-4o-mini or Claude Sonnet) to carry out the steps.
|
||||
|
||||
If things go sideways (e.g. the worker model gets confused or keeps making mistakes), Goose notices and automatically pulls the lead model back in to recover. Once things are back on track, the worker takes over again.
|
||||
If things go sideways (e.g. the worker model gets confused or keeps making mistakes), goose notices and automatically pulls the lead model back in to recover. Once things are back on track, the worker takes over again.
|
||||
|
||||
## Turn-Based System
|
||||
|
||||
A **turn** is one full interaction - your prompt and the model's response. Goose switches models based on turns:
|
||||
A **turn** is one full interaction - your prompt and the model's response. goose switches models based on turns:
|
||||
|
||||
- **Initial turns** (default: 3) go to the lead model
|
||||
- **Subsequent turns** use the worker model
|
||||
@@ -37,7 +37,7 @@ A **turn** is one full interaction - your prompt and the model's response. Goose
|
||||
|
||||
## Quick Example
|
||||
|
||||
You might configure Goose like this:
|
||||
You might configure goose like this:
|
||||
|
||||
```bash
|
||||
export GOOSE_LEAD_MODEL="gpt-4o" # strong reasoning
|
||||
@@ -45,17 +45,17 @@ export GOOSE_MODEL="gpt-4o-mini" # fast execution
|
||||
export GOOSE_PROVIDER="openai"
|
||||
```
|
||||
|
||||
Goose will start with `gpt-4o` for the first three turns, then hand off to `gpt-4o-mini`. If the worker gets tripped up twice in a row, Goose temporarily switches back to the lead model for two fallback turns before trying the worker again.
|
||||
goose will start with `gpt-4o` for the first three turns, then hand off to `gpt-4o-mini`. If the worker gets tripped up twice in a row, goose temporarily switches back to the lead model for two fallback turns before trying the worker again.
|
||||
|
||||
## Configuration
|
||||
|
||||
:::tip
|
||||
Ensure you have [added the LLMs to Goose](/docs/getting-started/providers)
|
||||
Ensure you have [added the LLMs to goose](/docs/getting-started/providers)
|
||||
:::
|
||||
|
||||
<Tabs groupId="interface">
|
||||
<TabItem value="ui" label="goose Desktop" default>
|
||||
1. Click the model name at the bottom of the Goose Desktop window
|
||||
1. Click the model name at the bottom of the goose Desktop window
|
||||
2. Click **Lead/Worker Settings**
|
||||
3. Check the box to **Enable lead/worker mode**
|
||||
4. Select your **Lead Model** and **Worker Model** from the dropdown menus
|
||||
@@ -67,7 +67,7 @@ Ensure you have [added the LLMs to Goose](/docs/getting-started/providers)
|
||||
```bash
|
||||
export GOOSE_LEAD_MODEL="gpt-4o"
|
||||
```
|
||||
That's it. Goose treats your regular `GOOSE_MODEL` as the worker model by default.
|
||||
That's it. goose treats your regular `GOOSE_MODEL` as the worker model by default.
|
||||
|
||||
For more control, you can also set these optional environment variables:
|
||||
|
||||
@@ -83,13 +83,13 @@ Ensure you have [added the LLMs to Goose](/docs/getting-started/providers)
|
||||
|
||||
## What Counts as a Failure?
|
||||
|
||||
Goose is smart about detecting actual task failures, not just API errors. The fallback kicks in when the worker:
|
||||
goose is smart about detecting actual task failures, not just API errors. The fallback kicks in when the worker:
|
||||
|
||||
- Generates broken code (syntax errors, tool failures, missing files)
|
||||
- Hits permission issues
|
||||
- Gets corrected by the user ("that's wrong", "try again", etc.)
|
||||
|
||||
Technical hiccups like timeouts, authentication issues, or service downtime don't trigger fallback mode. Goose retries those quietly.
|
||||
Technical hiccups like timeouts, authentication issues, or service downtime don't trigger fallback mode. goose retries those quietly.
|
||||
|
||||
## Reasons to Use Lead/Worker
|
||||
|
||||
@@ -103,7 +103,7 @@ Technical hiccups like timeouts, authentication issues, or service downtime don'
|
||||
If you're just getting started, the default settings will work fine. But here's how to tune things:
|
||||
|
||||
- Bump up `GOOSE_LEAD_TURNS` to 5–7 for heavier planning upfront
|
||||
- Lower `GOOSE_LEAD_FAILURE_THRESHOLD` to 1 if you want Goose to correct issues quickly
|
||||
- Lower `GOOSE_LEAD_FAILURE_THRESHOLD` to 1 if you want goose to correct issues quickly
|
||||
- Choose a fast, lightweight worker model (Claude Haiku, GPT-4o-mini) for day-to-day tasks
|
||||
|
||||
For debugging, you can see model switching behavior by turning on this log:
|
||||
@@ -113,7 +113,7 @@ export RUST_LOG=goose::providers::lead_worker=info
|
||||
```
|
||||
|
||||
## Planning Mode Compatibility
|
||||
The lead/worker model is an automatic alternative to the [Goose CLI's `/plan` command](/docs/guides/multi-model/creating-plans). You can assign separate models to use as the lead/worker and planning models. For example:
|
||||
The lead/worker model is an automatic alternative to the [goose CLI's `/plan` command](/docs/guides/multi-model/creating-plans). You can assign separate models to use as the lead/worker and planning models. For example:
|
||||
|
||||
```bash
|
||||
export GOOSE_PROVIDER="openai"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: "Planning Complex Tasks"
|
||||
description: "Learn how to use Goose's Plan feature to break down complex tasks into manageable, executable steps."
|
||||
description: "Learn how to use goose's Plan feature to break down complex tasks into manageable, executable steps."
|
||||
---
|
||||
|
||||
# Planning Complex Tasks
|
||||
@@ -8,15 +8,15 @@ description: "Learn how to use Goose's Plan feature to break down complex tasks
|
||||
*Transform overwhelming tasks into systematic, step-by-step execution plans*
|
||||
|
||||
|
||||
Using Goose for large, complex tasks can feel overwhelming, especially when you're unsure of exactly how you want to approach it in advance. I experienced this when I needed to set up a complex development environment for an [API course](https://github.com/LinkedInLearning/java-automated-api-testing-with-rest-assured-5989068) I published. Between Docker configurations, database initialization, devcontainer setup, and GitHub Codespaces integration, there are dozens of moving pieces that need to work together perfectly. One missing configuration or incorrect dependency can derail the entire process.
|
||||
Using goose for large, complex tasks can feel overwhelming, especially when you're unsure of exactly how you want to approach it in advance. I experienced this when I needed to set up a complex development environment for an [API course](https://github.com/LinkedInLearning/java-automated-api-testing-with-rest-assured-5989068) I published. Between Docker configurations, database initialization, devcontainer setup, and GitHub Codespaces integration, there are dozens of moving pieces that need to work together perfectly. One missing configuration or incorrect dependency can derail the entire process.
|
||||
|
||||
This tutorial shows you how to use Goose's [Plan feature](/docs/guides/multi-model/creating-plans) to transform a complex devcontainer setup into a systematic, executable roadmap. You'll learn how to brainstorm with Goose, refine your requirements, and let Goose create both a detailed plan and implementation checklist.
|
||||
This tutorial shows you how to use goose's [Plan feature](/docs/guides/multi-model/creating-plans) to transform a complex devcontainer setup into a systematic, executable roadmap. You'll learn how to brainstorm with goose, refine your requirements, and let goose create both a detailed plan and implementation checklist.
|
||||
|
||||
## What You'll Learn
|
||||
|
||||
By the end of this tutorial, you'll understand how to:
|
||||
|
||||
- Use Goose's Plan feature to break down complex technical projects
|
||||
- Use goose's Plan feature to break down complex technical projects
|
||||
- Brainstorm and refine requirements through AI-assisted conversation
|
||||
- Transform high-level goals into detailed, executable steps
|
||||
- Create comprehensive checklists for validation and quality assurance
|
||||
@@ -37,23 +37,23 @@ This involves coordinating multiple technologies: Docker, MySQL, PHP, Java, devc
|
||||
|
||||
## Step 1: Initial Brainstorming Session
|
||||
|
||||
Let's start by having a brainstorming conversation with Goose to clarify our requirements.
|
||||
Let's start by having a brainstorming conversation with goose to clarify our requirements.
|
||||
|
||||
:::info Planning in Desktop vs CLI
|
||||
The Goose Desktop doesn't have a `/plan` keyword like the CLI. In Desktop, you need to explicitly ask Goose to create a plan:
|
||||
The goose Desktop doesn't have a `/plan` keyword like the CLI. In Desktop, you need to explicitly ask goose to create a plan:
|
||||
|
||||
```
|
||||
"Hey Goose, can you create a plan to set up my GitHub repo for Codespaces with automatic Docker startup? Please don't start the actual work yet."
|
||||
"Hey goose, can you create a plan to set up my GitHub repo for Codespaces with automatic Docker startup? Please don't start the actual work yet."
|
||||
```
|
||||
|
||||
In the CLI, you can enter plan mode with `/plan` and Goose will ask clarifying questions before generating the plan. Unless you specifically ask Goose Desktop to "create a plan", it might jump straight into implementation.
|
||||
In the CLI, you can enter plan mode with `/plan` and goose will ask clarifying questions before generating the plan. Unless you specifically ask goose Desktop to "create a plan", it might jump straight into implementation.
|
||||
:::
|
||||
|
||||
### Starting the Conversation
|
||||
|
||||
**You:** _"I need help setting up a GitHub repository for automated API testing. Students should be able to open it in GitHub Codespaces and immediately start writing tests without any manual setup. Can you help me think through what's needed?"_
|
||||
|
||||
**Goose:** _"I'd be happy to help you design this automated setup! Let me ask some clarifying questions to understand your requirements better:_
|
||||
**goose:** _"I'd be happy to help you design this automated setup! Let me ask some clarifying questions to understand your requirements better:_
|
||||
|
||||
1. What type of API are you working with? (REST, GraphQL, etc.)
|
||||
2. What testing framework do you want students to use?
|
||||
@@ -65,7 +65,7 @@ In the CLI, you can enter plan mode with `/plan` and Goose will ask clarifying q
|
||||
|
||||
**You:** _"It's a REST API built in PHP that students will test using Rest Assured in Java. They need a real MySQL database with actual test data so they can practice realistic scenarios. The API has endpoints for managing products and categories in an e-commerce system."_
|
||||
|
||||
**Goose:** _"Perfect! That gives me a clear picture. A few more questions to ensure we design this correctly:_
|
||||
**goose:** _"Perfect! That gives me a clear picture. A few more questions to ensure we design this correctly:_
|
||||
|
||||
1. Do you already have the PHP API code, or do we need to create it?
|
||||
2. What version of Java should the environment support?
|
||||
@@ -77,7 +77,7 @@ In the CLI, you can enter plan mode with `/plan` and Goose will ask clarifying q
|
||||
|
||||
## Step 2: Creating the Detailed Plan
|
||||
|
||||
Now that we've clarified the requirements, let's ask Goose to create a comprehensive plan.
|
||||
Now that we've clarified the requirements, let's ask goose to create a comprehensive plan.
|
||||
|
||||
### Requesting the Plan
|
||||
|
||||
@@ -85,7 +85,7 @@ Now that we've clarified the requirements, let's ask Goose to create a comprehen
|
||||
|
||||
### The Generated Plan
|
||||
|
||||
Goose will generate a comprehensive plan similar to this:
|
||||
goose will generate a comprehensive plan similar to this:
|
||||
|
||||
<details>
|
||||
<summary>GitHub Codespaces API Testing Environment Setup Plan</summary>
|
||||
@@ -295,15 +295,15 @@ Create a GitHub repository that automatically provisions a complete development
|
||||
|
||||
## Step 3: Detailed Implementation Planning
|
||||
|
||||
Now let's ask Goose to create the specific implementation prompt that will guide the execution.
|
||||
Now let's ask goose to create the specific implementation prompt that will guide the execution.
|
||||
|
||||
### Creating the Implementation Prompt
|
||||
|
||||
**You:** _"This plan looks comprehensive! Can you now create a detailed implementation prompt that I can use to execute this plan? I want something specific enough that Goose can follow it step-by-step without needing additional clarification."_
|
||||
**You:** _"This plan looks comprehensive! Can you now create a detailed implementation prompt that I can use to execute this plan? I want something specific enough that goose can follow it step-by-step without needing additional clarification."_
|
||||
|
||||
### The Implementation Prompt
|
||||
|
||||
Goose will generate a detailed prompt like this:
|
||||
goose will generate a detailed prompt like this:
|
||||
|
||||
<details>
|
||||
<summary>Detailed Prompt</summary>
|
||||
@@ -370,11 +370,11 @@ With our detailed plan and implementation prompt ready, we can now execute the s
|
||||
|
||||
**You:** _"Perfect! Now let's implement this plan. Here's the detailed prompt we created: [paste the implementation prompt]"_
|
||||
|
||||
Goose will now work through each step of the plan, creating the necessary files and configurations.
|
||||
goose will now work through each step of the plan, creating the necessary files and configurations.
|
||||
|
||||
### Monitoring Progress
|
||||
|
||||
As Goose implements the plan, you can verify each deliverable against the checklist we created:
|
||||
As goose implements the plan, you can verify each deliverable against the checklist we created:
|
||||
|
||||
1. **File Creation**: Check that each required file is created in the correct location
|
||||
2. **Configuration Accuracy**: Verify that configurations match the specifications
|
||||
@@ -408,11 +408,11 @@ If issues arise during implementation or testing, use the plan as a reference to
|
||||
- **Permission Problems**: Update Dockerfile with proper permissions
|
||||
- **Configuration Errors**: Verify environment variables and connection strings
|
||||
|
||||
## Best Practices for Planning with Goose
|
||||
## Best Practices for Planning with goose
|
||||
|
||||
1. Start with brainstorming. Don't jump straight to asking for a plan. Have a conversation to clarify requirements and explore options.
|
||||
2. Be specific about deliverables. Ask for concrete deliverables, file names, and validation criteria for each step.
|
||||
3. Ask Goose to identify potential issues and provide mitigation strategies.
|
||||
3. Ask goose to identify potential issues and provide mitigation strategies.
|
||||
4. Generate detailed implementation prompts that can guide execution without additional clarification.
|
||||
5. Include specific ways to verify that each step worked correctly.
|
||||
|
||||
@@ -424,7 +424,7 @@ For very complex projects, break the plan into phases and tackle them incrementa
|
||||
**You:** _"This plan is quite comprehensive. Can you break it into smaller phases that I can implement and test independently?"_
|
||||
|
||||
### Dependency Mapping
|
||||
Ask Goose to identify dependencies between tasks:
|
||||
Ask goose to identify dependencies between tasks:
|
||||
|
||||
**You:** _"Which of these tasks can be done in parallel, and which have dependencies on other tasks?"_
|
||||
|
||||
@@ -435,7 +435,7 @@ Explore different implementation strategies:
|
||||
|
||||
## Conclusion
|
||||
|
||||
Goose's Plan feature transforms complex technical challenges from overwhelming problems into systematic, executable roadmaps. By following this tutorial's approach:
|
||||
goose's Plan feature transforms complex technical challenges from overwhelming problems into systematic, executable roadmaps. By following this tutorial's approach:
|
||||
|
||||
1. **Brainstorm** to clarify requirements and explore options
|
||||
2. **Plan** to break down complexity into manageable steps
|
||||
@@ -445,13 +445,13 @@ Goose's Plan feature transforms complex technical challenges from overwhelming p
|
||||
|
||||
You can tackle any complex development environment setup with confidence, knowing that you have a clear path forward and specific criteria for success.
|
||||
|
||||
The key is treating Goose as a planning partner, not just a code generator. Give it the full context of what you're trying to achieve, and let it help you think through the complexity before diving into implementation.
|
||||
The key is treating goose as a planning partner, not just a code generator. Give it the full context of what you're trying to achieve, and let it help you think through the complexity before diving into implementation.
|
||||
|
||||
## Next Steps
|
||||
|
||||
- Try this approach with your own complex setup challenges
|
||||
- Experiment with different types of planning prompts
|
||||
- Share your planning successes with the [Goose community](https://discord.gg/goose-oss)
|
||||
- Share your planning successes with the [goose community](https://discord.gg/goose-oss)
|
||||
- Explore how planning integrates with [Lead/Worker mode](/docs/tutorials/lead-worker) or [Subagents](/docs/guides/subagents) for even more sophisticated workflows
|
||||
|
||||
Remember, the goal is to get the right approach, in the right order, with the right safeguards. That's what makes the difference between a quick fix and a robust, maintainable solution.
|
||||
@@ -1,10 +1,10 @@
|
||||
---
|
||||
description: Learn how to create and use Goose recipes with this comprehensive tutorial covering prompts, parameters, and MCP servers
|
||||
description: Learn how to create and use goose recipes with this comprehensive tutorial covering prompts, parameters, and MCP servers
|
||||
---
|
||||
|
||||
# Goose Recipes
|
||||
# goose Recipes
|
||||
|
||||
Goose Recipes are files that contain all the details to allow Goose to do one specific task. Since they are contained in just one file, they are easy to share through all the normal ways we share files, including version management systems like git. Let's get started with the simplest recipe possible.
|
||||
goose recipes are files that contain all the details to allow goose to do one specific task. Since they are contained in just one file, they are easy to share through all the normal ways we share files, including version management systems like git. Let's get started with the simplest recipe possible.
|
||||
|
||||
## The Simplest Recipe
|
||||
|
||||
@@ -32,9 +32,9 @@ goose run --recipe trip.yaml
|
||||
|
||||
## Extensions
|
||||
|
||||
Goose recipes have a section where you can specify which [extensions](/docs/guides/recipes/recipe-reference#extensions) Goose can use during execution. Goose will only use the ones you specify.
|
||||
goose recipes have a section where you can specify which [extensions](/docs/guides/recipes/recipe-reference#extensions) goose can use during execution. goose will only use the ones you specify.
|
||||
|
||||
Let's say we want to make sure we have good weather during our Europe trip. We can just add a weather extension (this example uses the [weather-mcp-server](https://github.com/TuanKiri/weather-mcp-server) by TuanKiri under the MIT License) to our recipe, modify the prompt a bit and now Goose will check the weather before adding a city to our trip.
|
||||
Let's say we want to make sure we have good weather during our Europe trip. We can just add a weather extension (this example uses the [weather-mcp-server](https://github.com/TuanKiri/weather-mcp-server) by TuanKiri under the MIT License) to our recipe, modify the prompt a bit and now goose will check the weather before adding a city to our trip.
|
||||
|
||||
```yaml
|
||||
title: Trip planner
|
||||
@@ -82,7 +82,7 @@ goose run --recipe trip.yaml --params destination=Africa --params duration=14
|
||||
|
||||
## Settings
|
||||
|
||||
By default, Goose uses the `temperature` and `model` you've already chosen, which usually works just fine. But sometimes you might want more control. For example, when performing a subjective task like planning a trip, it can help to turn up the `temperature` setting. Think of temperature like a creativity dial - the higher it is, the more varied and unexpected the results. If the first suggestion isn't quite right, the user can just run the recipe again to get a new one.
|
||||
By default, goose uses the `temperature` and `model` you've already chosen, which usually works just fine. But sometimes you might want more control. For example, when performing a subjective task like planning a trip, it can help to turn up the `temperature` setting. Think of temperature like a creativity dial - the higher it is, the more varied and unexpected the results. If the first suggestion isn't quite right, the user can just run the recipe again to get a new one.
|
||||
|
||||
You can also specify which AI provider and model to use for a specific recipe:
|
||||
|
||||
@@ -98,7 +98,7 @@ The available settings are:
|
||||
- `goose_model`: The specific model name
|
||||
- `temperature`: Controls creativity/randomness (0.0-1.0, higher = more creative)
|
||||
|
||||
These settings will override your default Goose configuration when this recipe runs.
|
||||
These settings will override your default goose configuration when this recipe runs.
|
||||
|
||||
## External Files
|
||||
|
||||
@@ -282,4 +282,4 @@ This itinerary offers a perfect blend of history, culture, and cuisine across th
|
||||
:::
|
||||
|
||||
## Learn More
|
||||
Check out the [Goose Recipes](/docs/guides/recipes) guide for more docs, tools, and resources to help you master Goose recipes.
|
||||
Check out the [Recipes](/docs/guides/recipes) guide for more docs, tools, and resources to help you master goose recipes.
|
||||
@@ -4,7 +4,7 @@ sidebar_label: Subrecipes In Parallel
|
||||
description: Run multiple subrecipes instances concurrently with real-time progress tracking
|
||||
---
|
||||
|
||||
Goose recipes can execute multiple [subrecipe](/docs/guides/recipes/subrecipes) instances concurrently using isolated worker processes. This feature enables efficient batch operations, parallel processing of different tasks, and faster completion of complex workflows.
|
||||
goose recipes can execute multiple [subrecipe](/docs/guides/recipes/subrecipes) instances concurrently using isolated worker processes. This feature enables efficient batch operations, parallel processing of different tasks, and faster completion of complex workflows.
|
||||
|
||||
:::warning Experimental Feature
|
||||
Running subrecipes in parallel is an experimental feature in active development. Behavior and configuration may change in future releases.
|
||||
@@ -18,7 +18,7 @@ Here are some common use cases:
|
||||
|
||||
## How It Works
|
||||
|
||||
Parallel subrecipe execution uses an isolated worker system that automatically manages concurrent task execution. Goose creates individual tasks for each subrecipe instance and distributes them across up to 10 concurrent workers.
|
||||
Parallel subrecipe execution uses an isolated worker system that automatically manages concurrent task execution. goose creates individual tasks for each subrecipe instance and distributes them across up to 10 concurrent workers.
|
||||
|
||||
| Scenario | Default Behavior | Override Options |
|
||||
|----------|------------------|------------------|
|
||||
@@ -27,7 +27,7 @@ Parallel subrecipe execution uses an isolated worker system that automatically m
|
||||
|
||||
### Different Subrecipes
|
||||
|
||||
When running different subrecipes, Goose determines the execution mode based on:
|
||||
When running different subrecipes, goose determines the execution mode based on:
|
||||
1. **Explicit user request** in the prompt ("in parallel", "sequentially")
|
||||
2. **Sequential execution by default**: Different subrecipes run one after another unless explicitly requested to run in parallel
|
||||
|
||||
@@ -42,21 +42,21 @@ prompt: |
|
||||
|
||||
### Same Subrecipe
|
||||
|
||||
When running the same subrecipe with different parameters, Goose determines the execution mode based on:
|
||||
When running the same subrecipe with different parameters, goose determines the execution mode based on:
|
||||
1. **[Recipe-level configuration](#choosing-between-execution-modes)** (`sequential_when_repeated` flag) - when set to true, this forces sequential execution
|
||||
2. **User request** in the prompt ("sequentially" to override default parallel behavior)
|
||||
3. **Parallel execution by default**: Multiple instances of the same subrecipe run concurrently
|
||||
|
||||
If your prompt implies multiple executions of the same subrecipe, Goose will automatically create parallel instances:
|
||||
If your prompt implies multiple executions of the same subrecipe, goose will automatically create parallel instances:
|
||||
|
||||
```yaml
|
||||
prompt: |
|
||||
get the weather for three biggest cities in Australia
|
||||
```
|
||||
|
||||
In this example, Goose recognizes that "three biggest cities" requires running the weather subrecipe multiple times for different cities, so it executes them in parallel.
|
||||
In this example, goose recognizes that "three biggest cities" requires running the weather subrecipe multiple times for different cities, so it executes them in parallel.
|
||||
|
||||
If you wanted to run them sequentially, you can just tell Goose:
|
||||
If you wanted to run them sequentially, you can just tell goose:
|
||||
|
||||
```yaml
|
||||
prompt: |
|
||||
@@ -211,4 +211,4 @@ sub_recipes:
|
||||
```
|
||||
|
||||
## Learn More
|
||||
Check out the [Goose Recipes](/docs/guides/recipes) guide for more docs, tools, and resources to help you master Goose recipes.
|
||||
Check out the [Recipes](/docs/guides/recipes) guide for more docs, tools, and resources to help you master goose recipes.
|
||||
Reference in New Issue
Block a user