Introduction: A shell with AI superpowers, integrating OpenAI for enhanced command-line interactions.
Added on: Jan 20, 2025
Butterfish Shell

What is Butterfish Shell

Butterfish is designed for users who frequently work from the command line. It integrates AI prompting into your shell (bash, zsh) using OpenAI or compatible APIs, offering functionalities similar to GitHub Copilot but for shell commands. Users can interact with the AI by starting commands with a capital letter, allowing the AI to provide contextual assistance based on shell history.

How to Use Butterfish Shell

To use Butterfish Shell, install it via Homebrew on MacOS or go install for other platforms. Once installed, run butterfish shell to start. You can interact with the AI by starting commands with a capital letter. For example, typing Summarize the file I just printed will send the prompt to the AI. The AI can also autocomplete commands and provide contextual help based on your shell history.

Use Cases of Butterfish Shell

Butterfish Shell is ideal for developers and system administrators who want to enhance their command-line productivity with AI assistance. It can be used to debug commands, generate shell commands, and even provide general-purpose AI interactions like recipe suggestions.

Features of Butterfish Shell

  • Integrates well with bash and zsh

    Butterfish Shell works seamlessly with bash and zsh on MacOS and Linux, intercepting shell I/O to provide AI assistance without disrupting your workflow.

  • Start a prompt with a Capital Letter

    Commands starting with a capital letter are intercepted by Butterfish and sent to the AI for processing, allowing for high-context AI help directly in your shell.

  • Manages your shell and prompting history

    Butterfish maintains a history of your shell commands and AI interactions, allowing the AI to provide contextual responses based on past actions.

  • GPT autosuggest

    Similar to GitHub Copilot, Butterfish can autosuggest commands based on your shell history and current input, which can be applied with the `Tab` key.

  • Customizable prompts

    Butterfish allows you to customize the prompts sent to the AI by editing the `prompts.yaml` file, giving you control over the AI's behavior.

  • Select your own model

    You can configure Butterfish to use different AI models, such as `gpt-3.5-turbo`, by specifying the model with the `-m` flag.

  • Goal Mode

    Goal Mode allows the AI to act as an agent, executing commands to achieve a specified goal. This can be triggered by starting a command with `!`.

  • Transparent Prompts

    Butterfish makes the prompts sent to the AI transparent and configurable, allowing you to see and modify the exact instructions given to the AI.

  • Other Model Providers

    Butterfish can be configured to use other AI model providers by specifying a base URL with the `--base-url` flag, enabling compatibility with local models.

FAQs from Butterfish Shell

1

How do I install Butterfish?

You can install Butterfish via Homebrew on MacOS or using `go install` for other platforms. Detailed installation instructions are provided in the documentation.
2

What models can I use with Butterfish?

Butterfish defaults to using the `gpt-4-turbo` model, but you can configure it to use other models like `gpt-3.5-turbo` by specifying the model with the `-m` flag.
3

Can I use Butterfish with other AI providers?

Yes, Butterfish can be configured to use other AI providers by specifying a base URL with the `--base-url` flag, allowing compatibility with local models or other OpenAI-compatible APIs.
4

What is Goal Mode?

Goal Mode allows the AI to act as an agent, executing commands to achieve a specified goal. This can be triggered by starting a command with `!`. Unsafe Goal Mode, triggered with `!!`, allows the AI to execute commands without confirmation.