Skip to content

A terminal ChatGPT client built with Textual

Notifications You must be signed in to change notification settings

jonmatthis/textual_chat

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Elia

A terminal ChatGPT client built with Textual

img.png

Note Elia is still a work in progress. How far will I go with this? I have no idea...

Quickstart

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

Wiping the Chat History

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

Changing the Chat Directive

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

Launching Directly into a Conversation

elia chat write python code to detect a palindrome

Progress updates

June 2023

Messages are now tokenized and you can see how messages are split into tokens using the "Message Details" modal.

image

May 29th 2023

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

May 24th 2023

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

May 4th 2023

Initial proof of concept.

gpt-textual.mov

About

A terminal ChatGPT client built with Textual

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 90.0%
  • SCSS 10.0%