Chat with ChatGPT-3.5 in the terminal.
cargo install --force aichat
Download from Github Releases, unzip and add opscan to your $PATH.
On first launch, aichat will guide you through configuration.
```
No config file, create a new one? Yes Openai API Key: sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Use proxy? Yes Set proxy: socks5://127.0.0.1:1080 Save chat messages Yes ```
After setting, it will automatically create the configuration file. Of course, you can also manually set the configuration file.
yaml
api_key: "<YOUR SECRET API KEY>" # Request via https://platform.openai.com/account/api-keys
temperature: 1.0 # optional, see https://platform.openai.com/docs/api-reference/chat/create#chat/create-temperature
save: true # optional, If set to true, aichat will save chat messages to message.md
no_highlight: false # optional, Whether to disable highlight
proxy: "socks5://127.0.0.1:1080" # optional, set proxy server. e.g. http://127.0.0.1:8080 or socks5://127.0.0.1:1080
The default config dir is as follows, You can override config dir with $AICHAT_CONFIG_DIR
.
/home/alice/.config/aichat
C:\Users\Alice\AppData\Roaming\aichat
/Users/Alice/Library/Application Support
aichat may generate the following files in the config dir:
config.yaml
: the config file.roles.yaml
: the roles definition file.history.txt
: the repl history file.messages.md
: the chat messages storage file.We can let ChatGPT play a certain role through prompt
to make it better generate what we want. See awesome-chatgpt-prompts for details.
We can predefine a batch of roles in roles.yaml
. For example, we define a emoji translator as follows.
yaml
- name: emoji
prompt: >
I want you to translate the sentences I wrote into emojis. I will write the sentence, and you will express it with emojis.
I just want you to express it with emojis. I don't want you to reply with anything but emoji.
When I need to tell you something in English, I will do it by wrapping it in curly brackets like {like this}.
My first sentence is:
Let ChaGPT answer questions in the role of a emoji translator
$ aichat --role emoji I am very angry
😠💢👿
In interactive chat, we do this:
``` 〉.role emoji
〉I am very angry ```
Copyright (c) 2023 aichat-developers.
aichat is made available under the terms of either the MIT License or the Apache License 2.0, at your option.
See the LICENSE-APACHE and LICENSE-MIT files for license details.