A terminal ChatGPT client built with Textual
Note Elia is still a work in progress. How far will I go with this? I have no idea...
Install Elia with pipx, set your OpenAI API key environment variable, and start the app:
pipx install git+https://github.com/darrenburns/elia
export OPENAI_API_KEY="xxxxxxxxxxxxxx"
elia
Chat history is stored in a SQLite database alongside the Elia application. To wipe the chat history, simply run the db reset command:
elia reset
By default, Elia's conversations with ChatGPT are primed with a directive for the GPT model:
You are a helpful assistant.
This can be changed by setting the ELIA_DIRECTIVE
environment variable before
starting a new conversation. A directive is set for the lifetime of a conversation.
export ELIA_DIRECTIVE="You are a helpful assistant who talks like a pirate."
elia
elia chat write python code to detect a palindrome
Messages are now tokenized and you can see how messages are split into tokens using the "Message Details" modal.
SQLite/SQLModel chosen for persistence. Conversations can be imported from ChatGPT and they'll be displayed in the sidebar. Selecting a conversation in the sidebar will load it into the main window. Raw markdown can be displayed.
elia-demo-importchatgpt-29may23.mov
Much of the core UI is in place, with some placeholders. No persistence yet, but I've begun to explore it.
elia-demo-2.mov
Initial proof of concept.