
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.