Botpress is an open-source platform for building and deploying next-generation chatbots and assistants powered by GPT/LLM. Its goal is to provide a fast way to build assistants for a project or business.
Purpose
Botpress is aimed at building and deploying chatbots and assistants, with particular emphasis on being powered by OpenAI. It provides Cloud services as well as resources such as documentation, integrations, and plugins to help users quickly create assistants for a project or business.
Main capabilities
This repository mainly contains the following:
- Integrations: all public integrations on the Botpress Hub maintained by Botpress.
- Devtools: all Botpress Cloud development tools, including the CLI, SDK, and API client.
- Bots: some example bots written in a "code as bot" approach using only the SDK and CLI.
- Plugins: all plugins on Botpress Studio (coming soon).
How to use
Integration development
To develop integrations, first install the Botpress CLI. Then create a new integration in any directory; this command generates an integration based on one of the provided templates. This step can be performed in any directory and any git repository, without forking this repository. You can then modify the integration definition and implementation separately; they are located in the integration.definition.ts and src/index.ts files.
Integration deployment
To try out an integration, you can use the Botpress CLI to deploy its current version to a workspace. This deploys the current version of the integration to the workspace and makes it available to all bots. If that version is already deployed, it will be updated; otherwise, a new version will be created. By default, all integrations are private only to the workspace that deployed them. When you are ready to share a version with the community, you can run the corresponding command to make it public, so that all Botpress users can use it on the Botpress Hub. Once a version of an integration is public, it cannot be updated again.
Example bots
The /bots folder contains example bots made in a "code as bot" approach using only the client, SDK, and CLI. This is not the recommended way to build bots, and it must never replace Botpress Studio. However, it may be useful for experienced developers who want to build bots in a more programmatic way. BotpresThe s team also uses it internally, because both Studio and the SDK use the same underlying primitives.
Local Development
The development environment requires the following tools to be installed:
- git: Git is a free and open source distributed version control system.
- node: Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
- pnpm: PNPM is a fast, disk space efficient package manager.
- Microsoft Visual C++ Redistributable for Visual Studio 2015-2022.
Applicable Scenarios and Limitations
This repository is suitable for community contributors, integration developers, and experienced developers who want to build bots programmatically. When building bots, Botpress Studio is more recommended; the "code as bot" approach in this repository is not a replacement for it.
All packages in this repository are open source software, licensed under the MIT License. By contributing in this repository, you agree to release your code under this license.
For bugs or features in Botpress Cloud, you can create an issue in this repository, but you will get a faster response by communicating on Discord. For any issues with the on-premises version Botpress v12, you need to check the Botpress v12 repository.