# README
= ChatGPT
An OpenAI ChatGPT wrapper.
Installation:
go install github.com/DavidGamba/dgtools/chatgpt@latest
Then export your OpenAI API key as OPENAI_API_KEY
.
== Usage
Start the interactive shell: chatgpt
=== Interactive Shell Commands
NOTE: A shell command is interpreted from the first word in the input.
-
quit
,exit
,.quit
,.exit
: Exit the interactive shell. -
fg
,ls
: no-op, I seem to type this a lot in there. -
.help
: Show the help message. -
.reset
: Resets the session history. -
.image
: Change mode to image. -
.chat
: Change mode to chat (default). -
.output
: Save the current session (from the last.reset
) to a file. -
.clear
,clear
: clear the screen.
== Features
-
Image output is displayed in the terminal using https://hpjansson.org/chafa/[Chafa].
-
Images are stored as
chatgpt-generated-<date-time>.png
. -
Session records are stored to the
chatgpt.log.json
file.
== Roadmap
NOTE: The commands should mirror/be inspired by the sqlite interactive shell.
-
Completion of the interactive shell commands.
-
Import session for context.
-
Save session:
-
There are two types of session saves:
- Save the entire session.
Using the
--output <file.json>
CLI option.
NOTE: This session file is not cleared when
.reset
is called.- Save the session from the last
.reset
call. This should be provided as an interactive command, something like:.output session.json
- Save the entire session.
Using the
-