# 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. ## 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 - [ ] Have the agent pull its personality from the database as its hostname as the key. - [ ] Log all commands and their outputs to the database. - [ ] Use yaml for config. - [ ] Add the user's name. - [ ] 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. - [ ] Evaluate using langchain. - [ ] Can langchain use a headless browser to interact with the web?