cli-chat
is a command-line tool that allows you to have a conversation with ChatGPT from your terminal.
The documentation for cli-chat
can be found here.
cli-chat
can be installed on Mac using Homebrew. To install cli-chat
using Homebrew,
simply execute the following command in your terminal:
brew tap tefx/tap
brew install cli-chat
To install cli-chat
, execute the following command in your terminal:
pip install cli-chat
Alternatively, you can clone the repository and install the dependencies using poetry
. Here are the steps to follow:
- Install poetry.
- Clone the repository.
- Navigate to the repository's root directory.
- Execute
poetry install
.
To start a conversation with ChatGPT, execute the following command in your terminal:
cli-chat
Or, you can start the script in poetry's virtual environment:
poetry run cli-chat
Here are a few things to keep in mind when using cli-chat
:
- Before being able to use the tool, you must obtain an API key by registering for it here.
- To end the conversation, type
thanks
,thx
,tq
, or a similar phrase. - You can navigate through your conversation history with the arrow keys.
- Common key-bindings and auto-suggestions are supported, thanks to prompt_toolkit.
You can use special control commands to modify cli-chat
's behavior. These commands should be placed at the
beginning of your question string and should start with a backslash.
The supported control commands are listed below:
Command | Arguments | Tags | Description |
---|---|---|---|
\no-render |
Prevent the answer from being rendered in markdown. | ||
\load-file |
Load a file and use the contents as the remaining part of your question. | ||
\long |
Accept multi-line inputs from now on. Use Meta+Enter or ESC followed by Enter to finish. | ||
\save |
append |
Save the last answer to a file. | |
\hide-answer |
Do not show the answer. WARNING: Always check the answer first toavoid losing it if you want to save it later. | ||
\continue |
idx |
Resume the conversation from a previous answer. idx should be a negative number as shown by the \history command. |
|
\forget |
Delete your conversation history. | ||
\history |
Show your entire conversation history. |
You can combine multiple control commands by separating them with |
. For instance, \no-render|load-file
will load a
file and prevent the answer from being rendered in markdown.
For some commands, additional arguments and tags may be specified by using the
syntax command(arg1, arg2, ...){tag1, tag2, ..}
. For example, \save{append}
will append the answer to the file
instead of overwriting it, while \continue(-1)
will resume the conversation from the answer with index -1
in the
history.
Here are a few examples of what a conversation with cli-chat
might look like:
Use cli-chat-config
to manage key and input history.
- Add support for selecting organization.
- Add autocomplete for control commands.
- Add support for searching and using prompts from the Awesome ChatGPT Prompts