Goose is an extensible open source AI agent that enhances your software development by automating coding tasks.
This quick tutorial will guide you through:
Let's begin 🚀
Install GooseChoose to install Goose on CLI and/or Desktop:
To download Goose Desktop for macOS, click one of the buttons below:
Run the following command to install Goose:
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | bash
To download Goose Desktop for Linux, choose the buttons below:
For Debian/Ubuntu-based distributions:
sudo dpkg -i (filename).deb
Run the following command to install the Goose CLI on Linux:
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | bash
Choose to install Goose on CLI and/or Desktop:
To download Goose Desktop for Windows, click the button below:
Run the following command in Git Bash, MSYS2, or PowerShell to install the Goose CLI natively on Windows:
curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | bash
Learn about prerequisites in the installation guide.
Configure ProviderGoose works with supported LLM providers. When you install Goose, you'll be prompted to choose your preferred LLM and supply an API key.
Use the up and down arrow keys to navigate the CLI menu, and press Enter once you've selected a choice.
┌ goose-configure
│
◇ What would you like to configure?
│ Configure Providers
│
◇ Which model provider should we use?
│ Google Gemini
│
◇ Provider Google Gemini requires GOOGLE_API_KEY, please enter a value
│▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪
│
◇ Enter a model from that provider:
│ gemini-2.0-flash-exp
│
◇ Hello! You're all set and ready to go, feel free to ask me anything!
│
└ Configuration saved successfully
Billing
Google Geminioffers a free tier you can get started with. Otherwise, you'll need to ensure that you have credits available in your LLM Provider account to successfully make requests.
Some providers also have rate limits on API usage, which can affect your experience. Check out our Handling Rate Limits guide to learn how to efficiently manage these limits while using Goose.
Model Selection
Goose relies heavily on tool calling capabilities and currently works best with Anthropic's Claude 3.5 Sonnet and OpenAI's GPT-4o (2024-11-20) model.
Start SessionSessions are single, continuous conversations between you and Goose. Let's start one.
After choosing an LLM provider, you’ll see the session interface ready for use.
Type your questions, tasks, or instructions directly into the input field, and Goose will immediately get to work.
goose-demo
) and navigate to that directory from the terminal.Goose Web
CLI users can also start a session in Goose Web, a web-based chat interface:
Write PromptFrom the prompt, you can interact with Goose by typing your instructions exactly as you would speak to a developer.
Let's ask Goose to make a tic-tac-toe game!
create an interactive browser-based tic-tac-toe game in javascript where a player competes against a bot
Goose will create a plan and then get right to work on implementing it. Once done, your directory should contain a JavaScript file as well as an HTML page for playing.
Install an ExtensionWhile you're able to manually navigate to your working directory and open the HTML file in a browser, wouldn't it be better if Goose did that for you? Let's give Goose the ability to open a web browser by enabling the Computer Controller
extension.
Extensions
in the sidebar menu.Computer Controller
extension to enable it. This extension enables webscraping, file caching, and automations.Ctrl+C
so that you can return to the terminal's command prompt.Add extension
> Built-in Extension
> Computer Controller
, and set timeout to 300s. This extension enables webscraping, file caching, and automations.┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension
│
◇ What type of extension would you like to add?
│ Built-in Extension
│
◇ Which built-in extension would you like to enable?
│ ○ Developer Tools
│ ● Computer Controller (controls for webscraping, file caching, and automations)
│ ○ Google Drive
│ ○ Memory
│ ○ JetBrains
│
◇ Please set the timeout for this tool (in secs):
│ 300
│
└ Enabled Computer Controller extension
open index.html in a browser
Go ahead and play your game, I know you want to 😂 ... good luck!
Next StepsCongrats, you've successfully used Goose to develop a web app! 🎉
Here are some ideas for next steps:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4