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-chatTo install cli-chat, execute the following command in your terminal:
pip install cli-chatAlternatively, 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-chatOr, you can start the script in poetry's virtual environment:
poetry run cli-chatHere 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




