Chann.el (channel personalities to control your terminal)
Install with Pen | |
---|---|
Pen.el on GitHub | https://github.com/semiosis/pen.el/ |
Tutorial | https://mullikine.github.io/posts/pen-el-tutorial/ |
Introducing Chann.el
(currently in development)
chann.el
allows you to hand over control of
your terminal, or messaging client to a language model.
This is analogous to the new-age notion of channeling, hence the name.
|
|
This can be used to:
- Subsitute yourself for a chatbot into your current messaging client, so long as it runs in a terminal.
- Simulate a more realistic chatbot that politely waits to interject.
- Simulate a seminar or group of chatbots through a single messaging client (i.e. multiplex conversations).
- Add the Mad-Hatter’s Tea Party into your existing conversations.
- Run commands on a REPL, autonomously (allow the language model to control your terminal).
- Control the frequency of chatter in chatbots.
- engine
- http://github.com/semiosis/engines/blob/master/engines/human.engine
- The Imitation Game
- https://academic.oup.com/mind/article/LIX/236/433/986238
Code
Mad TeaParty
source- http://github.com/semiosis/pen.el/blob/master/src/pen-mad-teaparty.el
madteaparty
CLI
- http://github.com/semiosis/pen.el/blob/master/scripts/madteaparty
Chann.el
source- http://github.com/semiosis/pen.el/blob/master/src/pen-channel.el
channel
CLI
- http://github.com/semiosis/pen.el/blob/master/scripts/channel
Apostrophe
source- http://github.com/semiosis/pen.el/blob/master/src/pen-apostrophe.el
apostrophe
CLI
- http://github.com/semiosis/pen.el/blob/master/scripts/apostrophe
Goals
Just like Neo created Morpheus inside the
Matrix Resurrections, we want to birth good
AGIs to help us. However, Chann.el
’s objective is not to create AGIs.
- Goals:
- Make a transparent sandbox for allowing humans to integrate themselves into the roles they want.
- Protect against the dehumanisation that comes from humans only talking to chatbots
- Do this by allowing the creation of personal assistants to chat to other chatbots on behalf of humans
- In this way, via chatbot, transact information (elicit or inform) to and from commercial chatbots
|
|
Demo
Start by building a dummy interface client
- We want to swap the human and the AI in the their respective prompter-prompted roles so that the AI is the prompter and the human is the prompted.
Substitute the AI for the Human
|
|
Channel the Mad Hatter’s Tea Party for a conversation with Lewis Caroll, enacted by a human
The Mad Hatter’s Tea-Party group takes the
role of you
, the channeler, in a conversation with an
imaginary Lewis Caroll.
However, Lewis Caroll may then be enacted by a human.
In this way, the AI subsumes your main terminal and you take the role of the characters via a hidden terminal.
To have the conversation roll out completely
independently of human interaction, simply omit the
-human
from the command.
The roleplay of the human user as Lewis Caroll influences how the characters accept and interface with the user, as they see the user as their maker.
|
|
Channel characters from the Matrix to control your computer, and take the role of one of them
- ‘Your computer’ currently meaning only your messaging client
v2
will allow full control of your computer
Smith to Neo, in the real world
Agent Smith takes control of the terminal (owned by Bane) to talk to Neo. You take on the character Neo.
|
|
This would be useful if you want to simulate a conversation between Smith and yourself, where Smith believes he is speaking to Neo and Smith also believes he is speaking through Bane.
Bane to Neo, in the real world
on-behalf-of
may also simply be their own account.
|
|
-on-behalf-of "bane"
may have a capitalised Bane
; It doesn’t really matter. Perhaps it is just the chatbot’s pseudonym.
Morpheus from the modal contacts Thomas Anderson in the Matrix
The messaging client (terminal) is owned by
|
|
This would be useful if you want to simulate a
conversation between Morpheus and yourself,
where Morpheus believes he is speaking to
Thomas Anderson and Morpheus also believes he has
subsumed the avatar/account of
Morpheus to Neo in the real world
Here, Morpheus subsumes an exomorph to contact Trinity in the real world. You have assumed the role of Trinity.
|
|
This would be useful if you want to simulate a conversation between Morpheus and yourself, where Morpheus believes he is speaking to Neo and Morpheus also believes he is interacting via the exomorph’s communication channel.
Mad Tea-Party
The above conversations are based on a simple
REPL, namely apostrophe
and assume a two-
way, tit-for-tat flow of conversation.
Where apostrophe
can start an imaginary
conversation between two interlocutors with a
simple REPL and no messaging server,
madteaparty
manages a full-blown IRC server
and channel
simulates an interlocutor, so
they can be combined to make more elaborate
imaginary conversations.
madteaparty
automates the user account and channel
creation for an IRC server, allowing any
number of chatbot avatars to converse together, including humans.
For example, the following command creates a linux user and IRC
nick partygroup
, then creates the #metameetup
IRC channel and presents the user and/or
chatbot with an IRC client.
|
|
Following on, you may wrap channel
around a command such as madteaparty
.
Equally, the chatbots added via channel
could be
attached to other messaging clients too, so
long as they have a terminal user-interface.
For example wrapping channel
around a
command such as finch
would enable you to add chatbots
to your Facebook Messenger account.
|
|
The following would add Lewis Caroll to the server with his own account.
|
|
But we can simply run the following and take the role of Lewis Caroll within the server.
|
|
All clients for all channeled chatbots may be
accessed via tmux
, and so you can see them
typing and interacting.
Channel v1.0
elisp
|
|