Skip to content

Chat ๐Ÿ’ฌ (Shell)

Enolaโ€™s Chat is The Shell for the 2030s+ and the โ€œlast Chat you’ll ever needโ€.

Screencast

Demo

Usage

$ ./enola chat <docs/use/chat/demo.input
Welcome here! Type /help if you're lost.

runner@fv-az1673-617.lb1qojfxm3genb4ph43ig2eqrc.cx.internal.cloudapp.net in #Lobby> /help
System> Enola.dev v14b25dd -- Commands:
  /whoami - Show your user details.
  /commands - Available commands.
  /help - This help.
 Say "ping" to get a "pong" back.
 @echo ... echoes your message back to you.
runner@fv-az1673-617.lb1qojfxm3genb4ph43ig2eqrc.cx.internal.cloudapp.net in #Lobby> @echo hi
Echoer> hi
runner@fv-az1673-617.lb1qojfxm3genb4ph43ig2eqrc.cx.internal.cloudapp.net in #Lobby> hello, world
runner@fv-az1673-617.lb1qojfxm3genb4ph43ig2eqrc.cx.internal.cloudapp.net in #Lobby> /whoami
System> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

<subject://fv-az1673-617.lb1qojfxm3genb4ph43ig2eqrc.cx.internal.cloudapp.net/runner>
  rdfs:label "runner@fv-az1673-617.lb1qojfxm3genb4ph43ig2eqrc.cx.internal.cloudapp.net" .
runner@fv-az1673-617.lb1qojfxm3genb4ph43ig2eqrc.cx.internal.cloudapp.net in #Lobby> whoami
fv-az1673-617.lb1qojfxm3genb4ph43ig2eqrc.cx.internal.cloudapp.net> runner
runner@fv-az1673-617.lb1qojfxm3genb4ph43ig2eqrc.cx.internal.cloudapp.net in #Lobby> pwd
fv-az1673-617.lb1qojfxm3genb4ph43ig2eqrc.cx.internal.cloudapp.net> /home/runner/work/enola/enola
runner@fv-az1673-617.lb1qojfxm3genb4ph43ig2eqrc.cx.internal.cloudapp.net in #Lobby> 

See Help doc for all options.

Exec

Note how the last two “messages” in the example chat above were whoami and pwd.

They were both executed as commands on the local system. (Whereas the /whoami with slash was not a system executable but a built-in command.)

In order to avoid confusion with certain terms which are both typically valid UNIX command names but also valid natural language words which you may well start a prompt to the LLM, a hard-coded list excludes them from being executed as commands. Prefixing input with $ will force the input to be interpreted as a command to be executed instead.

AI

If you have Ollama up and running locally on its default port 11434, then this Chat will have an LLM> participant using gemma3:1b which will chime into the conversation, like this:

$ ./enola chat
Welcome here! Type /help if you're lost.

vorburger@yara in #Lobby> hi
LLM> Hi there! Howโ€™s your day going so far? ๐Ÿ˜Š
Is there anything you'd like to chat about, or anything I can help you with today?

vorburger@yara in #Lobby> how ya feel'
LLM> As an AI, I don't have feelings in the same way humans do. However, I can say that Iโ€™m functioning well and ready to assist you! ๐Ÿ˜Š

Itโ€™s a good day for me to be here. How about you? How are *you* feeling today?

This will be extended to support other ๐Ÿ”ฎ LLMs and ๐Ÿช› Tools and ๐Ÿ•ต๐Ÿพโ€โ™€๏ธ Agents in the future - watch this space.

SSH

This Chat feature is also available via an SSH server!

Exec is only enabled in (local) enola chat, but disabled over SSH.

/whoami includes the public key of the user connected over SSH.