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"
eliaChat history is stored in a SQLite database alongside the Elia application. To wipe the chat history, simply run the db reset command:
elia resetBy 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."
eliaelia chat write python code to detect a palindromeMessages 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.
