Cyberes af8f1dbd5c | ||
---|---|---|
pers | ||
.gitignore | ||
LICENSE | ||
README.md | ||
character.yml | ||
config.yml.sample | ||
launcher.sh | ||
requirements.txt | ||
run.py |
README.md
server-personification
It would be funny if computers could talk.
This is a project to personify computer systems and give them a voice. OpenAI is used to create an agent you can converse with and use for server management.
Install
-
Install Redis:
sudo apt install -y redis && sudo systemctl enable --now redis-server
-
Install dependencies:
pip install -r requirements.txt
-
Install the Chrome browser so the agent can use it in headless mode.
-
Copy the config file:
cp config.yml.sample config.yml
-
Edit the config and fill in
openai_key
(required). -
Start the program with
./run.py
You can symlink ./launcher.sh
to your ~/bin
or whatever to easily start the program.
To Do
- Cache per-hostname conversation history in a database. Store message timestamps as well. Summarize conversations.
- Feed the conversation history to the AI and make sure to give it relative dates of the conversations as well.
- Log all commands and their outputs to the database.
- Implement context cutoff based on token counts
- Option to have the bot send the user a welcome message when they connect
- Streaming
- Add a Matrix bot.
- Integrate Icinga2 host and service checks functions.
- Figure out system permissions and how to run as a special user.
- Give the agent instructions on how to run the system (pulled from the database).
- Have the agent run every
n
minutes to check Icinga2 and take action if necessary.