cli-chat
cli-chat
is a command-line tool that allows you to have a conversation with ChatGPT from your terminal.
Documentation
The documentation for cli-chat
can be found here.
Installation
Mac
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
Other Platforms
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
.
Usage
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.
Control Commands
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.
Example
Here are a few examples of what a conversation with cli-chat
might look like:
-
Show answer in markdown
-
Multi-line input
-
Not rendering the answer in markdown, loading a file, and saving the answer to a file
-
Check answer history and continue from a previous answer
Configuration
Use cli-chat-config
to manage key and input history.
TODO