Sends a prompt or series of prompts to the OpenAI discussions API and outputs the response as it arrives.
gpt -s 'You are a helpful assistant' \
-p 'Rewrite the second act of Much Ado About Nothing in modern English'
Provides a command line interface to have conversational interactions similar
to ChatGPT from the command line, with a searchable conversation history.
Simply execute chat
and follow the menu prompts to start a conversation.
Generates a command that can be directly executed in your $SHELL
.
cmd 'list files in the current directory with time stamps'
If you want commands you execute with cmd
to be added to your shell's history,
add something like this to your bashrc
:
alias cmd="source $(which cmd)"
A little wrapper around gpt
focused on producing code without texty
explanations.
stack_class=$(code -l python -p 'stack class')
unit_test=$(code -l python -c "$stack_class" -p 'unit test for this class')
Runs your unit tests. If they fail, sends the error messages and relevant file
contents to gpt
to come up with suggested fixes. Then it will offer to rerun
your tests to verify the fix.
Library of small utility functions and aliases:
image <prompt> [<size>] > image.png
- generate an imagere-image <source-file> <prompt> > new-image.png
- modify an image
There are a couple of scripts that work with the new beta APIs.
The analog to the gpt
utility above. It provides sub-commands to interact
directly with the API.
A much more advanced version of chat
that works with the new API. The only
thing is lacking is the streaming protocol, so you get to wait on the run to
complete before you get your answers.
On the other hand, you also get a lot of new features:
\f $filepath
in your message to send the contents of a file\exec cmd --arg2 --arg2
to send the output of a command\begin ... \end
to send the output of a multi-line command\www https://example.com
to send the contents of a web page
If the output of any of these is too large for a single message, it will be split into multiple numbered messages.
- Ensure that
/usr/local/bin
is in yourPATH
- Ensure that you have write permissions to
/usr/local/bin
- Download to
/usr/local/bin
for tool in gpt chat code cmd tester; do
curl -sSL "https://raw.githubusercontent.com/sysread/bash-gpt/main/$tool" -o "/usr/local/bin/$tool" \
&& chmod +x "/usr/local/bin/$tool"
done
- Check out repository:
git clone https://github.com/sysread/bash-gpt
- Add to your PATH
export PATH="$PATH:/path/to/bash-gpt"
With Nix
Want an easy way to install nix? Checkout the Determinite Systems Installer
- Check out repository:
git clone https://github.com/sysread/bash-gpt
- Add Env Vars to your shell environment
- create a
.env
file with the following keys:
OPENAI_API_KEY=""
OPENAI_API_MODEL="gpt-3.5-turbo-16k"
OPENAI_API_KEY
- your OpenAI API key (required; create one at https://beta.openai.com/account/api-keys)OPENAI_MODEL
- the model to use; defaults to gpt-3.5-turbo-16k
- Run the nix shell
nix develop
To use the utilities in utils
, first download it:
curl -sSL https://raw.githubusercontent.com/sysread/bash-gpt/main/utils -o /usr/local/lib/bash-gpt-utils
Then add it to your .bashrc
or .bash_profile
:
echo 'source /usr/local/lib/bash-gpt-utils' >> ~/.bashrc
OPENAI_API_KEY
- your OpenAI API key (required; create one at https://beta.openai.com/account/api-keys)OPENAI_MODEL
- the model to use; defaults to gpt-3.5-turbo-16k
Tested on macOS. Ought to work on linux as well. Please file a ticket if you find an issue on mac or linux. Better yet, send me a pull request :)