{"id":23477381,"url":"https://github.com/rwth-acis/social-bot-framework","last_synced_at":"2025-04-14T20:22:16.637Z","repository":{"id":30813978,"uuid":"126085605","full_name":"rwth-acis/Social-Bot-Framework","owner":"rwth-acis","description":"A framework to model, train and integrate social bots into technology enhanced learning applications.","archived":false,"fork":false,"pushed_at":"2024-09-26T15:04:18.000Z","size":25075,"stargazers_count":6,"open_issues_count":20,"forks_count":4,"subscribers_count":25,"default_branch":"master","last_synced_at":"2025-03-28T08:41:21.964Z","etag":null,"topics":["bot","bot-framework","chatbot","las2peer","microservices","sbf","social"],"latest_commit_sha":null,"homepage":"https://sbf.tech4comp.dbis.rwth-aachen.de/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rwth-acis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-03-20T21:37:14.000Z","updated_at":"2023-04-14T15:01:28.000Z","dependencies_parsed_at":"2023-10-11T14:44:12.355Z","dependency_job_id":"a3fd971a-b5b9-450c-96ce-0a538c617a4e","html_url":"https://github.com/rwth-acis/Social-Bot-Framework","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rwth-acis%2FSocial-Bot-Framework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rwth-acis%2FSocial-Bot-Framework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rwth-acis%2FSocial-Bot-Framework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rwth-acis%2FSocial-Bot-Framework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rwth-acis","download_url":"https://codeload.github.com/rwth-acis/Social-Bot-Framework/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248952601,"owners_count":21188473,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bot","bot-framework","chatbot","las2peer","microservices","sbf","social"],"created_at":"2024-12-24T18:26:48.848Z","updated_at":"2025-04-14T20:22:16.616Z","avatar_url":"https://github.com/rwth-acis.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/sbf-logo.svg\" width=400px/\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n        \u003ca href=\"https://github.com/rwth-acis/Social-Bot-Framework/blob/master/LICENSE\"\u003e\n            \u003cimg alt=\"GitHub\" src=\"https://img.shields.io/github/license/rwth-acis/Social-Bot-Framework.svg?color=blue\"\u003e\n        \u003c/a\u003e\n        \u003ca href=\"https://github.com/rwth-acis/Social-Bot-Framework/releases\"\u003e\n        \u003cimg alt=\"GitHub release\" src=\"https://img.shields.io/github/release/rwth-acis/Social-Bot-Framework.svg\"\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\nA Web-based, model-driven framework for creating social bots for RESTful web applications. Check out the [wiki](https://github.com/rwth-acis/Social-Bot-Framework/wiki) for more information about the modeling language and tutorials on creating bots with the framework.\n\n## Core Components\n\n* [las2peer-Social-Bot-Manager-Service](https://github.com/rwth-acis/las2peer-Social-Bot-Manager-Service)\n\n## External Dependencies\n\n* [y-websockets-server](https://github.com/y-js/y-websockets-server)\n* [SyncMeta](https://github.com/rwth-acis/syncmeta)\n* [MobSOS Data-Processing](https://github.com/rwth-acis/mobsos-data-processing)\n* [MobSOS Success-Modeling](https://github.com/rwth-acis/mobsos-success-modeling)\n* [Rasa](https://github.com/RasaHQ/rasa.git) \n\n\n(Note that the markdown format is only supported until versions \u003c 2.8.21, later releases only accept the yaml format)\n\n# SBF Utilities Frontend\n\nThis application provides helpers to interact with the Social Bot Manager service.\n\nThis frontend consists of the Bot Modeling and the NLU Model Training Helper.\n\n# Getting started\n\nThe easiest way to get started is to use docker compose. \nIn case you are using an M1 Mac, you need to add the following line to the `.env` file (create it if it does not exist):\n```txt\nRASA_IMAGE=khalosa/rasa-aarch64:3.5.2 \n```\nThen, run the following command:\n```bash\ndocker-compose up\n```\nThis will start the following services:\n* social-bot-manager-service\n* y-websockets-server\n* mysql\n* rasa \n* social-bot-framework-frontend\n\nThe frontend will be accessible via `http://localhost:8082`. \n## Run only the frontend \n\nYou can also run only the frontend. \nUse `npm install` to install the required dependencies.\nRun `vite` to start the server. The application will be served on `http://localhost:8082`.\n\nThe application is using [YJS][yjs-github] for interwidget communication, therefore it needs [y-websocket-server][y-websocket-server] instance.\nIt can be started with the following command:\n\n```bash\n$ docker run -p 1234:1234  -d lakhoune/y-websocket:latest\n```\n\n## Confguration\n\nIf you are using docker compose, you can configure the environment by adjusting the `.env` file.\nThe following environment variables can be configured. \n| Variable  | Meaning   | Default  | Required |\n|---        |---        |---       |---       |\n|OIDC_CLIENT_ID|  OIDC client id which is used for authentication purposes. The client id can be acquired from Learning Layers after client registration    | localtestclient  |  Yes |\n|YJS        |The adress of the yjs instance.    | localhost:1234  | Yes|\n|YJS_RESOURCE_PATH | If the WebSocket server is running behind a reverse proxy and the /yjs path is redirected to the WebSocket server, this env variable needs to be /yjs/socket.io. | | No| \n| YJS_PROTOCOL | The protocol used to connect to the WebSocket server. | ws | No |\n| RASA_NLU  | Address of a server hosting the NLU Model. If not empty, the given address will be written in the \"Rasa NLU Endpoint\" field of the NLU Model Training Helper.  | http://rasa:5005 |   No |\n|SBF_MANAGER| Address of a running SBFManager Instance. If not empty, the given address will be written in the \"SBFManager Endpoint\" fields of the frontend. | http://localhost:8080/SBFmanager |No|\n| PORT | Port on which the frontend will be served. | 8082 | No |\n|CONTACT_SERVICE_URL | URL at which the contact service is reachable | http://localhost:8080/contactservice | No |\n\n\n## Bots created using this framework\n\n| Bot            | Description                                                                                                                                                                                  | Application                                                                                                                                                | Demo                                                                                 |\n| -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |\n| MensaBot       | Bot used to fetch and rate menu for canteens.                                                                                                                                                | [las2peer-Mensa-Service](https://github.com/rwth-acis/las2peer-Mensa-Service)                                                                              | [Telegram](https://t.me/AcisMensaBot)                                                |\n| SurveyBot      | Conducts surveys in chat, including getting the survey information, sending reminders and passing user results back to the survey instance.                                                  | [Survey-Handler-Service](https://github.com/rwth-acis/Survey-Handler-Service), [MobSOS Surveys](https://github.com/rwth-acis/mobsos-surveys) or LimeSurvey | [Rocket.Chat](https://chat.tech4comp.dbis.rwth-aachen.de/direct/surveybot)            | [Rocket.Chat](https://chat.tech4comp.dbis.rwth-aachen.de/direct/la-verification-bot) |\n| FeedBot        | Gives out assignments to users, takes in their written solution and utilizes T-MITOCAR to compare it with a master solution. Does not give a grade but returns a feedback file where the comparison is discussed. | [las2peer-T-MITOCAR-Service](https://github.com/rwth-acis/las2peer-tmitocar-service)                                                                       | [Rocket.Chat](https://chat.tech4comp.dbis.rwth-aachen.de/direct/BiWi-FeedBot)        |\n| ReaderbenchBot | Gives out assignments to users, takes in their written solution and utilizes Readerbench to compare it with a master solution. Does not give a grade but returns a feedback file where the comparison is discussed.                                                                                                                                                                                         | [las2peer-readerbench](https://github.com/rwth-acis/las2peer-readerbench)                                                                                  | [Rocket.Chat](https://chat.tech4comp.dbis.rwth-aachen.de/direct/readerbot)           |\n| LitBot         | Supports students with reading seminar texts. Conducts small exercises with students and proposes additional tips, tools and learning material for before and after reading the texts. Also does recommendations based on the read texts.                                                                                                                                                                                        | [las2peer-akg](https://github.com/rwth-acis/las2peer-akg)                                                                                                  | [Rocket.Chat](https://chat.tech4comp.dbis.rwth-aachen.de/direct/BiWi-LitBot)         |\n| LA-Bot         | Verifies a student's consent and manages it via blockchain. Continuing learner activities are verified and can be queried.                                                                                                                                                                                         | [learning-analytics-verification](https://github.com/rwth-acis/learning-analytics-verification)                                                            | [Rocket.Chat](https://chat.tech4comp.dbis.rwth-aachen.de/direct/la-verification-bot) |\n| CitBot         | Finds references for text passages or for keywords. Manages marked literature and offers an export.                                                                                                                                                                                         | [Citation-Recommendation-Bot](https://github.com/rwth-acis/Citation-Recommendation-Bot)                                                                    | Slack - Contact us                                                                                 |\n\n## Deploying a Bot\n\nAfter creating a bot model on the frontend, you will be able to upload the bot to the SBFManager by using the \"Model Uploader\" on the \"Bot Modeling\" page. For this to work, you will need a running instance of the [SBFManager](https://github.com/rwth-acis/las2peer-Social-Bot-Manager-Service) and adjust the \"SBFManager Endpoint\" accordingly.\n\nWhen creating chatbots you will also need to provide a [Rasa server](https://github.com/RasaHQ/rasa.git) hosting an NLU Model. You can also use the \"NLU Model Training Helper\" to create your own NLU Model and upload that model by adjusting the \"SBFManager Endpoint\" and \"Rasa NLU Endpoint\" accordingly.\n\nTo find out how to model bots, you can check the [SBF wiki](https://github.com/rwth-acis/Social-Bot-Framework/wiki).\n\n## References\n\n1. Neumann, Alexander Tobias, Tamar Arndt, Laura Köbis, Roy Meissner, Anne\nMartin, Peter de Lange, Norbert Pengel, Ralf Klamma, and Heinz-Werner\nWollersheim. 2021. “Chatbots as a Tool to Scale Mentoring Processes:\nIndividually Supporting Self-Study in Higher Education.” *Frontiers in\nArtificial Intelligence* 4: 64–71.\n\u003chttps://doi.org/10.3389/frai.2021.668220\u003e.\n\n2. Neumann, Alexander Tobias, Peter de Lange, Ralf Klamma, Norbert Pengel,\nand Tamar Arndt. 2021. “Intelligent Mentoring Bots in Learning\nManagement Systems: Concepts, Realizations and Evaluations.” In\n*Learning Technologies and Systems*, edited by Chaoyi Pang, Yunjun Gao,\nGuanliang Chen, Elvira Popescu, Lu Chen, Tianyong Hao, Bailing Zhang,\nSilvia Margarita Baldiris Navarro, and Qing Li, 12511:3–14. Lecture\nNotes in Computer Science. \\[S.l.\\]: Springer.\n[https://doi.org/10.1007/978-3-030-66906-5_1](https://doi.org/10.1007/978-3-030-66906-5_1).\n\n3. Neumann, Alexander Tobias, Peter de Lange, and Ralf Klamma. 2019.\n“Collaborative Creation and Training of Social Bots in Learning\nCommunities.” In *2019 IEEE 5th International Conference on\nCollaboration and Internet Computing (CIC)*, 11–19. IEEE.\n\u003chttps://doi.org/10.1109/CIC48465.2019.00011\u003e.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frwth-acis%2Fsocial-bot-framework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frwth-acis%2Fsocial-bot-framework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frwth-acis%2Fsocial-bot-framework/lists"}