# Tailchat-Assistant **Tailchat Assistant is your very own AI-powered chat bot, ready to implement into your guild!** --- # Prerequisites - A [Tailchat](https://tailchat.msgbyte.com/docs/deployment/docker-compose) server (duh) - Make sure the "Openapi Platform Plugin" and "App Integration" plugins are enabled - An OpenAI API Key / OpenAI API compatible service ([LocalAI is recommended](https://localai.io/basics/getting_started/)) - If you are using something like LocalAI, be sure to have a decently powerful machine to make response times as fast as possible! ## Included - A sensible system prompt - Automatically detect and analyze images - Generate images with the prefix "Please generate:" ## Not inlcuded - Any LLM, API endpoint, API keys or anything similar - Filtering or moderation - Extensive testing of the system prompt, so no rigorous testing of declining dangerous/illegal requests users may present --- # Getting started 1. Clone the project and install dependencies: ```bash git clone https://git.povario.com/powermaker450/Tailchat-Assistant && cd Tailchat-Assistant npm i ``` 2. Create the `.env` file from the example file: ```bash mv .env.example .env ``` 3. **Make sure that the "Openapi Platform Plugin" and "App Integration" plugins are enabled.** Then [follow the instructions here to create an App.](https://tailchat.msgbyte.com/docs/advanced-usage/openapp/create) 4. Open up the `.env` file with your preffered text editor and populate the file: ```bash HOST=http://localhost:11000 # wherever your Tailchat server is running ID= # your bot ID SECRET= # Your bot secret API_ENDPOINT=http://localhost:8080/v1 # The OpenAI-compatible endpoint for the bot to send messsages to. Defaults to "http://localhost:8080/v1" # e.x. "http://localhost:8080/v1", "https://api.openai.com/v1" API_KEY="none" # Your API key here for OpenAI/LocalAI. Defaults to the string "none". # MAKE SURE to fill this in with your OpenAI API Key or a key you may have set for LocalAI. # If you didn't set the API key for LocalAI, you may leave this blank. TEXT_MODEL=gpt-4 # The model to query when sending text messages. Defaults to "gpt-4" # e.x. "gpt-3", "gpt-4" CREATE_IMAGE_MODEL=stablediffusion-cpp # The model to use when creating images. Defaults to "stablediffusion-cpp", # e.x. "dall-e-3", "stablediffusion-cpp" ANALYZE_IMAGE_MODEL=gpt-4-vision-preview # The model to use when analyzing images. Defaults to "gpt4-vision-preview". # e.x. "gpt-4-vision-preview", "llava" ALLOWED_CHAT= # The ID of the channel that the bot is allowed to respond in. # The bot will always respond to Direct Messages. SAFE_WORD=\ # When this character/string is detected anywhere in a message, the bot won't respond to it. # Defaults to "\". SELF= # The user ID of your bot which you can get from the admin panel or database. # THIS IS NEEDED SO THAT THE BOT DOES NOT RESPOND TO IT'S OWN MESSAGES. # BE SURE TO FILL THIS IN. ``` 5. After completing these steps and making any desired changes, build and run the project: ```bash npm run build npm run start ```