{"id":25198561,"url":"https://github.com/generalbots/botserver","last_synced_at":"2025-04-13T02:25:21.400Z","repository":{"id":37588103,"uuid":"129746296","full_name":"GeneralBots/BotServer","owner":"GeneralBots","description":"LLM Orchestrator automation open-source platform","archived":false,"fork":false,"pushed_at":"2025-03-06T01:31:22.000Z","size":60683,"stargazers_count":67,"open_issues_count":75,"forks_count":38,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-04-03T13:42:38.554Z","etag":null,"topics":["azure","bot","bot-platform","bot-server","botbuilder","bots","general-bots","gpt","helpwanted","llm","messenger","messenger-bot","sms","virtual-assistant","whatsapp","whatsapp-api"],"latest_commit_sha":null,"homepage":"https://generalbots.online","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GeneralBots.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT-pt-br.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-16T13:16:55.000Z","updated_at":"2025-03-22T13:34:27.000Z","dependencies_parsed_at":"2024-02-11T06:19:04.519Z","dependency_job_id":"4a5b751b-2c6c-4c4c-91e7-50ebe8f82dc0","html_url":"https://github.com/GeneralBots/BotServer","commit_stats":{"total_commits":2510,"total_committers":22,"mean_commits":114.0909090909091,"dds":0.3243027888446215,"last_synced_commit":"a23ba240558b0b0230bb19ac6d2e4c4e0052a50b"},"previous_names":[],"tags_count":325,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeneralBots%2FBotServer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeneralBots%2FBotServer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeneralBots%2FBotServer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeneralBots%2FBotServer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GeneralBots","download_url":"https://codeload.github.com/GeneralBots/BotServer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248655550,"owners_count":21140515,"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":["azure","bot","bot-platform","bot-server","botbuilder","bots","general-bots","gpt","helpwanted","llm","messenger","messenger-bot","sms","virtual-assistant","whatsapp","whatsapp-api"],"created_at":"2025-02-10T03:17:37.403Z","updated_at":"2025-04-13T02:25:21.379Z","avatar_url":"https://github.com/GeneralBots.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Key Facts\n- LLM Orchestrator AGPL licensed (to use as custom-label SaaS, contributing back)\n- True community governance\n- No single corporate control \n- 5+ years of stability\n- Never changed license\n- Enterprise-grad\n- Hosted locally or Multicloud\n\n## Contributors\n\n\u003ca href=\"https://github.com/generalbots/botserver/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=generalbots/botserver\" /\u003e\n\u003c/a\u003e\n\n## Overview\n\n| Area                         | Status                                                                                             |\n|------------------------------|----------------------------------------------------------------------------------------------------|\n| Releases                     | [![General Bots](https://img.shields.io/npm/dt/botserver.svg?logo=npm\u0026label=botserver)](https://www.npmjs.com/package/botserver/) [![.gbapp lib](https://img.shields.io/npm/dt/botlib.svg?logo=npm\u0026label=botlib)](https://www.npmjs.com/package/botlib/) [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)|\n| Community                    | [![StackExchange](https://img.shields.io/stackexchange/stackoverflow/t/generalbots.svg)](https://stackoverflow.com/questions/tagged/generalbots)  [![Open-source](https://badges.frapsoft.com/os/v2/open-source.svg)](https://badges.frapsoft.com) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) [![License](https://img.shields.io/badge/license-AGPL-blue.svg)](https://github.com/GeneralBots/BotServer/blob/master/LICENSE.txt)|\n| Management                   | [![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://gitHub.com/GeneralBots/BotServer/graphs/commit-activity) |\n| Security                     | [![Known Vulnerabilities](https://snyk.io/test/github/GeneralBots/BotServer/badge.svg)](https://snyk.io/test/github/GeneralBots/BotServer) |\n| Building \u0026 Quality           |  [![Coverage Status](https://coveralls.io/repos/github/GeneralBots/BotServer/badge.svg)](https://coveralls.io/github/GeneralBots/BotServer) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier) |\n| Packaging                    | [![forthebadge](https://badge.fury.io/js/botserver.svg)](https://badge.fury.io) [![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/) |\n| Samples                      | [BASIC](https://github.com/GeneralBots/BotServer/tree/master/packages/default.gbdialog) or [![TypeScript](https://badges.frapsoft.com/typescript/code/typescript.svg?v=101)](https://github.com/GeneralBots/AzureADPasswordReset.gbapp)\n| [Docker Image](https://github.com/lpicanco/docker-botserver)  ![Docker Pulls](https://img.shields.io/docker/pulls/lpicanco/botserver.svg) \u003cbr/\u003e *Provided by [@lpicanco](https://github.com/lpicanco/docker-botserver)* |\n\n# General Bots\n\n![General Bot Logo](https://github.com/GeneralBots/BotServer/blob/main/logo.png?raw=true))\n\nGeneral Bot is a strongly typed LLM conversational platform package based chat bot server focused in convention over configuration and code-less approaches, which brings software packages and application server concepts to help parallel bot development.\n\n## What is a Bot Server?\n\nBot Server accelerates the process of developing a bot. It provisions all code\nbase, resources and deployment to the cloud, and gives you templates you can\nchoose from whenever you need a new bot. The server has a database and service \nbackend allowing you to further modify your bot package directly by downloading \na zip file, editing and uploading it back to the server (deploying process) with \nno code. The Bot Server also provides a framework to develop bot packages in a more\nadvanced fashion writing custom code in editors like Visual Studio Code, Atom or Brackets.\n\nEveryone can create bots by just copying and pasting some files and using their\nfavorite tools from Office (or any text editor) or Photoshop (or any image\neditor). LLM and BASIC can be mixed used to build custom dialogs so Bot can be extended just like VBA for Excel.\n\n## Getting Started\n\n### Prerequisites\n\nBefore you embark on your General Bots journey, ensure you have the following tools installed:\n\n- **Node.js (version 20 or later)**: General Bots leverages the latest features of Node.js to provide a robust and efficient runtime environment. Download it from [nodejs.org](https://nodejs.org/en/download/).\n- **Git (latest stable version)**: Essential for version control and collaborating on bot projects. Get it from [git-scm.com](https://git-scm.com/downloads).\n\n### Quick Start Guide\n\nFollow these steps to get your General Bots server up and running:\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/GeneralBots/BotServer\n   ```\n   This command creates a local copy of the General Bots server repository on your machine.\n\n2. Navigate to the project directory:\n   ```bash\n   cd BotServer\n   ```\n   This changes your current directory to the newly cloned BotServer folder.\n\n3. Install dependencies and start the server:\n   ```bash\n   npm install\n   npm run start\n   ```\n   The `npm install` command installs all necessary dependencies for the project. `npm run start` builds your bot server locally and serves it through a development server.\n\n### Accessing Your Bot\n\nOnce the server is running, you can access your bot at `http://localhost:4242/`. This local server allows you to interact with your bot and test its functionality in real-time. If you want to publish\nwithout password, define [ADMIN_OPEN_PUBLISH](https://github.com/GeneralBots/BotBook/master/docs/chapter-07-gbot-reference#enviroment-variables-reference) as true in BotServer .env file.\n\nTo publish bot packages and initiate a conversation with the bot, use the command:\n\n```\n/publish\n```\nThis command prepares your bot packages for use and allows you to start interacting with your bot immediately.\n\n## Development Workflow\n\n### 1. Project Structure\n\nThe General Bots server follows a modular architecture designed for flexibility and scalability. Here's an overview of the main directories:\n\n```\nBotServer/\n├── packages/\n│   ├── core.gbapp/         # Core bot functionality\n│   ├── kb.gbapp/           # Knowledge base packages\n├── src /             # Main entry point\n└── package.json      # Project configuration\n```\n\nThis structure allows for easy navigation and management of different aspects of your bot project.\n\n### 2. Creating Custom Packages\n\nOne of the strengths of General Bots is its extensibility. You can create custom packages to enhance your bot's capabilities:\n\n- **.gbkb (Knowledge Base packages)**: Store and manage your bot's knowledge and responses.\n- **.gbtheme (Theme packages)**: Customize the visual appearance of your bot interface.\n- **.gbapp (Application packages)**: Add new features and functionalities to your bot.\n\nEach package type has its own structure and purpose, which we'll explore in depth in their respective chapters.\n\n## Samples\n\nSeveral samples, including a Bot for AD Password Reset, are avaiable on the [repository list](https://github.com/GeneralBots).\n\n### Using complete General Bots Conversational Data Analytics\n\n![](https://user-images.githubusercontent.com/14840374/178154826-8188029e-b4f4-48aa-bc0d-126307ce5121.png)\n\n```\nTALK  \"General Bots Labs presents FISCAL DATA SHOW BY BASIC\" \n\nTALK \"Gift Contributions to Reduce the Public Debt API (https://fiscaldata.treasury.gov/datasets/gift-contributions-reduce-debt-held-by-public/gift-contributions-to-reduce-the-public-debt)\" \n \nresult = GET \"https://api.fiscaldata.treasury.gov/services/api/fiscal_service/v2/accounting/od/gift_contributions?page[size]=500\" \ndata = result.data \ndata = SELECT YEAR(record_date) as Yr, SUM(CAST(contribution_amt AS NUMBER)) AS Amount FROM data GROUP BY YEAR(record_date) \n\nTALK \"Demonstration of Gift Contributions with AS IMAGE keyword\" \nSET THEME dark \npng = data as IMAGE  \nSEND FILE png \n\nDELAY 5 \nTALK \" Demonstration of Gift Contributions CHART keyword\" \n img = CHART \"bar\", data  \nSEND FILE img \n```\n\n## Guide\n\n[Read the General Bots BotBook Guide](https://docs.pragmatismo.cloud)\n\n# Videos\n\n 7 AI General Bots LLM Templates for Goodness\n [https://www.youtube.com/watch?v=KJgvUPXi3Fw](https://www.youtube.com/watch?v=KJgvUPXi3Fw)\n  \n# Contributing\n\nThis project welcomes contributions and suggestions. \nSee our [Contribution Guidelines](https://github.com/pragmatismo-io/BotServer/blob/master/CONTRIBUTING.md) for more details.\n\n# Reporting Security Issues\n\nSecurity issues and bugs should be reported privately, via email, to the pragmatismo.cloud Security\nteam at [security@pragmatismo.cloud](mailto:security@pragmatismo.cloud). You should\nreceive a response within 24 hours. If for some reason you do not, please follow up via\nemail to ensure we received your original message. \n\n# License \u0026 Warranty\n\nGeneral Bot Copyright (c) pragmatismo.cloud. All rights reserved.\nLicensed under the AGPL-3.0.       \n                                                            \nAccording to our dual licensing model, this program can be used either\nunder the terms of the GNU Affero General Public License, version 3,\nor under a proprietary license.   \n                                                        \nThe texts of the GNU Affero General Public License with an additional\npermission and of our proprietary license can be found at and \nin the LICENSE file you have received along with this program.\n                                                       \nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Affero General Public License for more details.\n                                                        \n\"General Bot\" is a registered trademark of pragmatismo.cloud.\nThe licensing of the program under the AGPLv3 does not imply a\ntrademark license. Therefore any rights, title and interest in\nour trademarks remain entirely with us.\n\n\u003ca href=\"https://stackoverflow.com/questions/ask?tags=generalbots\"\u003e:speech_balloon: Ask a question\u003c/a\u003e \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; \u003ca href=\"https://github.com/GeneralBots/BotBook\"\u003e:book: Read the Docs\u003c/a\u003e\nTeam pictures made with [contrib.rocks](https://contrib.rocks).\nGeneral Bots Code Name is [Guaribas](https://en.wikipedia.org/wiki/Guaribas), the name of a city in Brazil, state of Piaui.\n[Roberto Mangabeira Unger](http://www.robertounger.com/en/): \"No one should have to do work that can be done by a machine\".\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeneralbots%2Fbotserver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeneralbots%2Fbotserver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeneralbots%2Fbotserver/lists"}