A Rocket.Chat app that leverages open-source large language models - LLMs (Mistral, Llama, Phi, Gemma and so on) to turn boring old-school text messages into sensitive modern emojified texts. User can copy, edit, redo, or send the embellished text messages.
View Demo · Request Feature · Report Bug
Setting up a Rocket.Chat server
- To set up your Rocket.Chat server manually, follow these steps: Local Development.
- To set it up using Docker, download the following
compose.yml
file: Docker Image. Then, navigate to the directory where the file was downloaded and run the following command:Note: If you encounter errors withdocker compose up -d
docker compose
while using an Apple Silicon device, follow the solution mentioned here: Issues.
Apps Engine for Rocket.Chat
- Get started with the Apps-Engine to develop your own apps that can be integrated with your Rocket.Chat server.
- Follow the docs to explore the wide range of integration possibilities within the Rocket.Chat ecosystem: Apps-Engine framework.
- To install the Apps-Engine CLI, run the following command:
npm install -g @rocket.chat/apps-cli
First, ensure that you have set up a Rocket.Chat server by following the instructions in the Getting Started section above.
-
Fork the repository, then clone the forked repository under your username to your local system:
git clone https://github.com/<your-username>/Apps.Emoji.Embellisher
-
Install app dependencies:
cd embellisher && npm install
-
Deploy the app to your server:
rc-apps deploy --url <url> --username <username> --password <password>
Once deployed, users have the flexibility to set their preferences for using different app features. They can navigate to "Installed Apps" -> "Private Apps," and under "Settings" provide their own LLM API url
, key
, and model name
, or stick with the in-house LLM model. Additionally, they can switch between embellishment use cases in this section.
Text embellishment is a natural language generation problem that aims to enhance the lexical and syntactic complexity of a text while retaining the same semantic information and meaning. This is often achieved by incorporating emojis, punctuation, and additional details to make the text more interesting and engaging. This project delves into the Embellisher App for Rocket.Chat. This app will enable users to generate emojified / embellished text messages from plain text messages they enter in the message box using open-source LLMs. Upon generation, the user will be notified with an interactive message that only the sender can see. Using the interactive action button, the user can copy, edit, redo, or send the embellished text message. Read this wiki to know more about this project.
👋 Need some help with /embellish?
• use `/embellish <user input>` to emojify and embellish your text messages 📝
• use `/embellish model` to provide the current model being used by the app 💻
• use `/embellish help` to list the essential subcommands of the app 🤔
Contributions make the open-source community an incredible place to learn, inspire, and create, and any you make are greatly appreciated. If you have suggestions for improvement, please fork the repo, create a pull request, or simply open an issue. And don't forget to give the project a star—thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feat/AmazingFeature
) - Commit your Changes (
git commit -m 'feat: adds some amazing feature'
) - Push to the Branch (
git push origin feat/AmazingFeature
) - Open a Pull Request
Some links to examples and documentation: